diff --git a/build.sbt b/build.sbt index 986281f56..443a3661b 100644 --- a/build.sbt +++ b/build.sbt @@ -1362,7 +1362,9 @@ def scriptedTask(launch: Boolean): Def.Initialize[InputTask[Unit]] = Def.inputTa scriptedLaunchOpts.value ++ (if (launch) Some(launchJar) else None), scalaVersion.value, version.value, - (scriptedSbtReduxProj / Test / fullClasspathAsJars).value.map(_.data), + (scriptedSbtReduxProj / Test / fullClasspathAsJars).value + .map(_.data) + .filterNot(_.getName.contains("scala-compiler")), streams.value.log ) } diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index c6200785f..95dc58118 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -2506,14 +2506,15 @@ object Classpaths { val isMeta = isMetaBuild.value val force = reresolveSbtArtifacts.value val app = appConfiguration.value - val sbtCp0 = app.provider.mainClasspath.toList - val sbtCp = sbtCp0 map { Attributed.blank(_) } + def isJansiOrJLine(f: File) = f.getName.contains("jline") || f.getName.contains("jansi") + val scalaInstanceJars = app.provider.scalaProvider.jars.filterNot(isJansiOrJLine) + val sbtCp = (scalaInstanceJars ++ app.provider.mainClasspath).map(Attributed.blank) val mjars = managedJars( classpathConfiguration.value, classpathTypes.value, update.value ) - if (isMeta && !force) mjars ++ sbtCp + if (isMeta && !force) (mjars ++ sbtCp).distinct else mjars }, exportedProducts := ClasspathImpl.trackedExportedProducts(TrackLevel.TrackAlways).value, diff --git a/sbt/src/sbt-test/project/plugin-scala-compiler-dependency/project/Plugin.scala b/sbt/src/sbt-test/project/plugin-scala-compiler-dependency/project/Plugin.scala new file mode 100644 index 000000000..56281e2a1 --- /dev/null +++ b/sbt/src/sbt-test/project/plugin-scala-compiler-dependency/project/Plugin.scala @@ -0,0 +1,3 @@ +import scala.tools.nsc + +object Plugin diff --git a/sbt/src/sbt-test/project/plugin-scala-compiler-dependency/test b/sbt/src/sbt-test/project/plugin-scala-compiler-dependency/test new file mode 100644 index 000000000..3d7a46a0a --- /dev/null +++ b/sbt/src/sbt-test/project/plugin-scala-compiler-dependency/test @@ -0,0 +1,2 @@ +> show sbtVersion +# we just want to test that the project loads