diff --git a/build.sbt b/build.sbt index 75dd2a338..17c3bead8 100644 --- a/build.sbt +++ b/build.sbt @@ -348,7 +348,6 @@ lazy val scriptedSbtOldProj = (project in file("scripted-sbt-old")) ) lazy val scriptedPluginProj = (project in file("scripted-plugin")) - .dependsOn(mainProj) .settings( baseSettings, name := "Scripted Plugin", @@ -358,7 +357,6 @@ lazy val scriptedPluginProj = (project in file("scripted-plugin")) exclude[MissingClassProblem]("sbt.ScriptedPlugin*") ), ) - .configure(addSbtCompilerClasspath) // Implementation and support code for defining actions. lazy val actionsProj = (project in file("main-actions")) @@ -538,7 +536,8 @@ lazy val mainSettingsProj = (project in file("main-settings")) // The main integration project for sbt. It brings all of the projects together, configures them, and provides for overriding conventions. lazy val mainProj = (project in file("main")) .enablePlugins(ContrabandPlugin) - .dependsOn(logicProj, actionsProj, mainSettingsProj, runProj, commandProj, collectionProj, scriptedSbtReduxProj) + .dependsOn(logicProj, actionsProj, mainSettingsProj, runProj, commandProj, collectionProj, + scriptedSbtReduxProj, scriptedPluginProj) .settings( testedBaseSettings, name := "Main", diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 5d5055c33..aa5a81853 100755 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -2190,6 +2190,16 @@ object Classpaths { val isDotty = ScalaInstance.isDotty(version) ScalaArtifacts.toolDependencies(sbtOrg, version, isDotty) ++ pluginAdjust } + }, + dependencyOverrides ++= { + val old = dependencyOverrides.value + val isPlugin = sbtPlugin.value + val app = appConfiguration.value + val id = app.provider.id + val sv = (sbtVersion in pluginCrossBuild).value + val base = ModuleID(id.groupID, "scripted-plugin", sv).withCrossVersion(CrossVersion.binary) + if (isPlugin) Seq(base) + else Seq() } ) diff --git a/sbt/src/sbt-test/project/giter8-plugin/build.sbt b/sbt/src/sbt-test/project/giter8-plugin/build.sbt new file mode 100644 index 000000000..d2785acac --- /dev/null +++ b/sbt/src/sbt-test/project/giter8-plugin/build.sbt @@ -0,0 +1 @@ +enablePlugins(ScriptedPlugin) diff --git a/sbt/src/sbt-test/project/giter8-plugin/project/p.sbt b/sbt/src/sbt-test/project/giter8-plugin/project/p.sbt new file mode 100644 index 000000000..7d34f5f68 --- /dev/null +++ b/sbt/src/sbt-test/project/giter8-plugin/project/p.sbt @@ -0,0 +1 @@ +addSbtPlugin("org.foundweekends.giter8" %% "sbt-giter8" % "0.11.0-M4") diff --git a/sbt/src/sbt-test/project/giter8-plugin/test b/sbt/src/sbt-test/project/giter8-plugin/test new file mode 100644 index 000000000..4e3db8162 --- /dev/null +++ b/sbt/src/sbt-test/project/giter8-plugin/test @@ -0,0 +1 @@ +> about diff --git a/scripted-sbt-redux/src/main/scala/sbt/scriptedtest/ScriptedTests.scala b/scripted-sbt-redux/src/main/scala/sbt/scriptedtest/ScriptedTests.scala index 92039e8c5..85cf73764 100644 --- a/scripted-sbt-redux/src/main/scala/sbt/scriptedtest/ScriptedTests.scala +++ b/scripted-sbt-redux/src/main/scala/sbt/scriptedtest/ScriptedTests.scala @@ -218,6 +218,7 @@ final class ScriptedTests( case "project/extra" => LauncherBased // tbd case "project/flatten" => LauncherBased // sbt/Package$ case "project/generated-root-no-publish" => LauncherBased // tbd + case "project/giter8-plugin" => LauncherBased // tbd case "project/lib" => LauncherBased // sbt/Package$ case "project/scripted-plugin" => LauncherBased // tbd case "project/scripted-skip-incompatible" => LauncherBased // sbt/Package$