diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 348830e5b..2967f16a3 100755 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -488,6 +488,9 @@ object Defaults extends BuildCommon { clean := clean.dependsOn(cleanIvy).value, scalaCompilerBridgeBinaryJar := None, scalaCompilerBridgeSource := ZincLmUtil.getDefaultBridgeModule(scalaVersion.value), + consoleProject / scalaCompilerBridgeSource := ZincLmUtil.getDefaultBridgeModule( + appConfiguration.value.provider.scalaProvider.version + ), ) // must be a val: duplication detected by object identity private[this] lazy val compileBaseGlobal: Seq[Setting[_]] = globalDefaults( diff --git a/main/src/main/scala/sbt/internal/ConsoleProject.scala b/main/src/main/scala/sbt/internal/ConsoleProject.scala index 737bd8609..9ea6a14c7 100644 --- a/main/src/main/scala/sbt/internal/ConsoleProject.scala +++ b/main/src/main/scala/sbt/internal/ConsoleProject.scala @@ -25,7 +25,7 @@ object ConsoleProject { val (state1, dependencyResolution) = extracted.runTask(Keys.dependencyResolution, state) val (_, scalaCompilerBridgeBinaryJar) = - extracted.runTask(Keys.scalaCompilerBridgeBinaryJar, state1) + extracted.runTask(Keys.scalaCompilerBridgeBinaryJar.in(Keys.consoleProject), state1) val scalaInstance = { val scalaProvider = state.configuration.provider.scalaProvider ScalaInstance(scalaProvider.version, scalaProvider.launcher) @@ -50,7 +50,8 @@ object ConsoleProject { componentProvider = app.provider.components, secondaryCacheDir = Option(zincDir), dependencyResolution = dependencyResolution, - compilerBridgeSource = extracted.get(Keys.scalaCompilerBridgeSource), + compilerBridgeSource = + extracted.get(Keys.scalaCompilerBridgeSource.in(Keys.consoleProject)), scalaJarsTarget = zincDir, classLoaderCache = state1.get(BasicKeys.classLoaderCache), log = log diff --git a/sbt/src/sbt-test/console/project-compiler-bridge/build.sbt b/sbt/src/sbt-test/console/project-compiler-bridge/build.sbt new file mode 100644 index 000000000..3c4ba1908 --- /dev/null +++ b/sbt/src/sbt-test/console/project-compiler-bridge/build.sbt @@ -0,0 +1,5 @@ +scalaVersion := "2.13.1" + +// Send some bogus initial command so that it doesn't get stuck. +// The task itself will still succeed. +consoleProject / initialCommands := "bail!" diff --git a/sbt/src/sbt-test/console/project-compiler-bridge/project/build.sbt b/sbt/src/sbt-test/console/project-compiler-bridge/project/build.sbt new file mode 100644 index 000000000..04db26329 --- /dev/null +++ b/sbt/src/sbt-test/console/project-compiler-bridge/project/build.sbt @@ -0,0 +1 @@ +scalaVersion := "2.12.10" diff --git a/sbt/src/sbt-test/console/project-compiler-bridge/test b/sbt/src/sbt-test/console/project-compiler-bridge/test new file mode 100644 index 000000000..b80db65f1 --- /dev/null +++ b/sbt/src/sbt-test/console/project-compiler-bridge/test @@ -0,0 +1 @@ +> consoleProject