diff --git a/main/Defaults.scala b/main/Defaults.scala index fb4219ce6..c1870fd17 100644 --- a/main/Defaults.scala +++ b/main/Defaults.scala @@ -208,7 +208,7 @@ object Defaults extends BuildCommon } def compilersSetting = compilers <<= (scalaInstance, appConfiguration, streams, classpathOptions, javaHome) map { (si, app, s, co, jh) => Compiler.compilers(si, co, jh)(app, s.log) } - lazy val configTasks = docSetting(doc) ++ compileInputsSettings ++ Seq( + lazy val configTasks = docSetting(doc) ++ compileTaskSettings ++ compileInputsSettings ++ Seq( initialCommands in GlobalScope :== "", cleanupCommands in GlobalScope :== "", compile <<= compileTask tag(Tags.Compile, Tags.CPU), @@ -515,7 +515,9 @@ object Defaults extends BuildCommon println() } - def compileTask = (compileInputs, streams) map { (i,s) => Compiler(i,s.log) } + def compileTaskSettings: Seq[Setting[_]] = inTask(compile)(compileInputsSettings) + + def compileTask = (compileInputs in compile, streams) map { (i,s) => Compiler(i,s.log) } def compileIncSetupTask = (dependencyClasspath, cacheDirectory, skip in compile, definesClass) map { (cp, cacheDir, skip, definesC) => Compiler.IncSetup(analysisMap(cp), definesC, skip, cacheDir / "inc_compile") diff --git a/sbt/src/sbt-test/actions/compile/A.scala b/sbt/src/sbt-test/actions/compile/A.scala new file mode 100644 index 000000000..80abe052e --- /dev/null +++ b/sbt/src/sbt-test/actions/compile/A.scala @@ -0,0 +1,3 @@ +object A { + def x(i: Int) = 3 +} diff --git a/sbt/src/sbt-test/actions/compile/B.scala b/sbt/src/sbt-test/actions/compile/B.scala new file mode 100644 index 000000000..6ce54d61d --- /dev/null +++ b/sbt/src/sbt-test/actions/compile/B.scala @@ -0,0 +1,3 @@ +object B { + def x(i: Int) = 3 +} diff --git a/sbt/src/sbt-test/actions/compile/C.scala b/sbt/src/sbt-test/actions/compile/C.scala new file mode 100644 index 000000000..900f61c45 --- /dev/null +++ b/sbt/src/sbt-test/actions/compile/C.scala @@ -0,0 +1,4 @@ +object C { + // broken method, D doesn't exist + def x: Int = D.i +} diff --git a/sbt/src/sbt-test/actions/compile/test b/sbt/src/sbt-test/actions/compile/test new file mode 100644 index 000000000..e7ac44939 --- /dev/null +++ b/sbt/src/sbt-test/actions/compile/test @@ -0,0 +1,5 @@ +-> compile + +> 'set sources in (Compile, compile) <<= sources in (Compile, compile) map { _.filterNot(_.getName contains "C") }' + +> compile