Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

47 lines (41 sloc) 1.577 kb
/* NSC -- new Scala compiler
* Copyright 2005-2013 LAMP/EPFL
* @author Martin Odersky
import settings.FscSettings
import io.Directory
import Properties.isWin
/** A compiler command for the offline compiler.
* @author Martin Odersky and Lex Spoon
class OfflineCompilerCommand(arguments: List[String], settings: FscSettings) extends CompilerCommand(arguments, settings) {
import settings.currentDir
def extraFscArgs = List(, currentDir.value)
locally {
// if -current-dir is unset, we're on the client and need to obtain it.
if (currentDir.isDefault) {
// Prefer env variable PWD to system property user.dir because the former
// deals better with paths not rooted at / (filesystem mounts.)
// ... except on windows, because under cygwin PWD involves "/cygdrive"
// instead of whatever it's supposed to be doing.
val baseDirectory = {
val pwd = System.getenv("PWD")
if (pwd != null && !isWin) Directory(pwd)
else Directory.Current getOrElse Directory("/")
currentDir.value = baseDirectory.path
else {
// Otherwise we're on the server and will use it to absolutize the paths.
override def cmdName = "fsc"
override def usageMsg = (
createUsageMsg("where possible fsc", false, x => x.isStandard && settings.isFscSpecific( +
"\n\nStandard scalac options also available:" +
createUsageMsg(x => x.isStandard && !settings.isFscSpecific(
Jump to Line
Something went wrong with that request. Please try again.