From ab2e038817d82f5a2866dc71d68c0626724be3f9 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Sat, 27 Mar 2010 09:24:34 -0400 Subject: [PATCH] fix for scala-library.jar not being on the classpath for javac --- sbt/src/main/scala/sbt/Compile.scala | 3 ++- .../sbt-test/java/scala-library/project/build.properties | 3 +++ .../sbt-test/java/scala-library/src/main/java/test/R.java | 6 ++++++ sbt/src/sbt-test/java/scala-library/test | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 sbt/src/sbt-test/java/scala-library/project/build.properties create mode 100644 sbt/src/sbt-test/java/scala-library/src/main/java/test/R.java create mode 100644 sbt/src/sbt-test/java/scala-library/test diff --git a/sbt/src/main/scala/sbt/Compile.scala b/sbt/src/main/scala/sbt/Compile.scala index ae2712c93..50e4fc7de 100644 --- a/sbt/src/main/scala/sbt/Compile.scala +++ b/sbt/src/main/scala/sbt/Compile.scala @@ -78,7 +78,8 @@ final class Compile(maximumErrors: Int, compiler: AnalyzingCompiler, analysisCal } protected def processJava(sources: Set[File], classpath: Set[File], outputDirectory: File, options: Seq[String], log: Logger) { - val arguments = (new CompilerArguments(compiler.scalaInstance, false, compiler.compilerOnClasspath))(sources, classpath, outputDirectory, options) + val augmentedClasspath = if(compiler.autoBootClasspath) classpath + compiler.scalaInstance.libraryJar else classpath + val arguments = (new CompilerArguments(compiler.scalaInstance, false, compiler.compilerOnClasspath))(sources, augmentedClasspath, outputDirectory, options) log.debug("Calling 'javac' with arguments:\n\t" + arguments.mkString("\n\t")) def javac(argFile: File) = Process("javac", ("@" + normalizeSlash(argFile.getAbsolutePath)) :: Nil) ! log val code = withArgumentFile(arguments)(javac) diff --git a/sbt/src/sbt-test/java/scala-library/project/build.properties b/sbt/src/sbt-test/java/scala-library/project/build.properties new file mode 100644 index 000000000..43f4b082f --- /dev/null +++ b/sbt/src/sbt-test/java/scala-library/project/build.properties @@ -0,0 +1,3 @@ +project.organization=empty +project.name=Java Test +project.version=1.0 \ No newline at end of file diff --git a/sbt/src/sbt-test/java/scala-library/src/main/java/test/R.java b/sbt/src/sbt-test/java/scala-library/src/main/java/test/R.java new file mode 100644 index 000000000..4430bd606 --- /dev/null +++ b/sbt/src/sbt-test/java/scala-library/src/main/java/test/R.java @@ -0,0 +1,6 @@ +package test; + +public final class R { + public static final int y = 4; + public static int x(scala.ScalaObject s) { return 3; } +} diff --git a/sbt/src/sbt-test/java/scala-library/test b/sbt/src/sbt-test/java/scala-library/test new file mode 100644 index 000000000..73a68203f --- /dev/null +++ b/sbt/src/sbt-test/java/scala-library/test @@ -0,0 +1 @@ +> compile \ No newline at end of file