From baa6f58f76e697d98336ce4ef2dbc71c7e0fccc7 Mon Sep 17 00:00:00 2001 From: Philipp Haller Date: Tue, 21 Oct 2008 19:04:52 +0000 Subject: Changed the way in which the path to javac is p... Changed the way in which the path to javac is passed to partest. --- src/partest/scala/tools/partest/PartestTask.scala | 6 ++++++ src/partest/scala/tools/partest/nest/AntRunner.scala | 2 +- .../scala/tools/partest/nest/ConsoleFileManager.scala | 2 ++ src/partest/scala/tools/partest/nest/FileManager.scala | 1 + src/partest/scala/tools/partest/nest/Worker.scala | 14 +++++--------- 5 files changed, 15 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/partest/scala/tools/partest/PartestTask.scala b/src/partest/scala/tools/partest/PartestTask.scala index 5821a5c734..abd1ef1969 100644 --- a/src/partest/scala/tools/partest/PartestTask.scala +++ b/src/partest/scala/tools/partest/PartestTask.scala @@ -64,6 +64,9 @@ class PartestTask extends Task { def setJavaCmd(input: File): Unit = javacmd = Some(input) + def setJavacCmd(input: File): Unit = + javaccmd = Some(input) + def setScalacOpts(opts: String): Unit = scalacOpts = Some(opts) @@ -72,6 +75,7 @@ class PartestTask extends Task { private var classpath: Option[Path] = None private var javacmd: Option[File] = None + private var javaccmd: Option[File] = None private var showDiff: Boolean = false private var showLog: Boolean = false private var runFailed: Boolean = false @@ -194,6 +198,8 @@ class PartestTask extends Task { setFileManagerBooleanProperty("failed", runFailed) if (!javacmd.isEmpty) setFileManagerStringProperty("JAVACMD", javacmd.get.getAbsolutePath) + if (!javaccmd.isEmpty) + setFileManagerStringProperty("JAVAC_CMD", javaccmd.get.getAbsolutePath) setFileManagerStringProperty("CLASSPATH", classpath.get.list.mkString(File.pathSeparator)) setFileManagerStringProperty("LATEST_LIB", scalaLibrary.get.getAbsolutePath) if (!scalacOpts.isEmpty) diff --git a/src/partest/scala/tools/partest/nest/AntRunner.scala b/src/partest/scala/tools/partest/nest/AntRunner.scala index 8206e55ae2..7371adb637 100644 --- a/src/partest/scala/tools/partest/nest/AntRunner.scala +++ b/src/partest/scala/tools/partest/nest/AntRunner.scala @@ -23,7 +23,7 @@ class AntRunner extends DirectRunner { val fileManager = new FileManager { var JAVACMD: String = "java" - + var JAVAC_CMD: String = "javac" var CLASSPATH: String = _ var EXT_CLASSPATH: String = _ var LATEST_LIB: String = _ diff --git a/src/partest/scala/tools/partest/nest/ConsoleFileManager.scala b/src/partest/scala/tools/partest/nest/ConsoleFileManager.scala index 85bd103b09..55f74dd1d3 100644 --- a/src/partest/scala/tools/partest/nest/ConsoleFileManager.scala +++ b/src/partest/scala/tools/partest/nest/ConsoleFileManager.scala @@ -43,6 +43,8 @@ class ConsoleFileManager extends FileManager { NestUI.verbose("CLASSPATH: "+CLASSPATH) var JAVACMD = System.getProperty("scalatest.javacmd", "java") + var JAVAC_CMD = System.getProperty("scalatest.javac_cmd", "javac") + val prefixFile = { val cwd = System.getProperty("user.dir") if (cwd != null) diff --git a/src/partest/scala/tools/partest/nest/FileManager.scala b/src/partest/scala/tools/partest/nest/FileManager.scala index 1c69bc7527..9a959b428b 100644 --- a/src/partest/scala/tools/partest/nest/FileManager.scala +++ b/src/partest/scala/tools/partest/nest/FileManager.scala @@ -50,6 +50,7 @@ trait FileManager { var JAVACMD: String + var JAVAC_CMD: String var CLASSPATH: String var LATEST_LIB: String diff --git a/src/partest/scala/tools/partest/nest/Worker.scala b/src/partest/scala/tools/partest/nest/Worker.scala index 01d17950bc..b3aedc82ff 100644 --- a/src/partest/scala/tools/partest/nest/Worker.scala +++ b/src/partest/scala/tools/partest/nest/Worker.scala @@ -167,16 +167,12 @@ class Worker(val fileManager: FileManager) extends Actor { def javac(outDir: File, files: List[File], output: File) { // compile using command-line javac compiler - val javaHome = System.getenv("JAVA_HOME") - NestUI.verbose("JAVA_HOME: "+javaHome) - val javacCmd = if (javaHome == null) { - // assume the compiler is in the PATH + val javacCmd = if ((fileManager.JAVAC_CMD.indexOf("${env.JAVA_HOME}") != -1) || + fileManager.JAVAC_CMD.equals("/bin/javac") || + fileManager.JAVAC_CMD.equals("\\bin\\javac")) "javac" - } else { - // otherwise use the location suggested by JAVA_HOME - val sep = File.separator - javaHome + sep + "bin" + sep + "javac" - } + else + fileManager.JAVAC_CMD val cmd = javacCmd+ " -d "+outDir.getAbsolutePath+ -- cgit v1.2.3