From 4af00242388919041f6429cd9e53e8092459ffbb Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 15 Sep 2024 01:58:23 -0400 Subject: [PATCH] refactor: Move scripted-sbt-redux back to scripted-sbt **Problem** During sbt 1.x we created scripted-sbt-redux for package name change. **Solution** We can move the module back to scripted-sbt, which simplifies things. --- build.sbt | 49 ++++--------------- main/src/main/scala/sbt/ScriptedPlugin.scala | 21 ++------ .../src/main/scala/sbt/ScriptedPlugin.scala | 12 ----- .../scala/sbt/test/OldScriptedTests.scala | 33 ------------- {scripted-sbt-redux => scripted-sbt}/NOTICE | 0 .../sbt/scriptedtest/BatchScriptRunner.scala | 0 .../sbt/scriptedtest/RemoteSbtCreator.scala | 0 .../scala/sbt/scriptedtest/SbtHandler.scala | 0 .../sbt/scriptedtest/ScriptedTests.scala | 0 9 files changed, 12 insertions(+), 103 deletions(-) delete mode 100644 scripted-plugin/src/main/scala/sbt/ScriptedPlugin.scala delete mode 100644 scripted-sbt-old/src/main/scala/sbt/test/OldScriptedTests.scala rename {scripted-sbt-redux => scripted-sbt}/NOTICE (100%) rename {scripted-sbt-redux => scripted-sbt}/src/main/scala/sbt/scriptedtest/BatchScriptRunner.scala (100%) rename {scripted-sbt-redux => scripted-sbt}/src/main/scala/sbt/scriptedtest/RemoteSbtCreator.scala (100%) rename {scripted-sbt-redux => scripted-sbt}/src/main/scala/sbt/scriptedtest/SbtHandler.scala (100%) rename {scripted-sbt-redux => scripted-sbt}/src/main/scala/sbt/scriptedtest/ScriptedTests.scala (100%) diff --git a/build.sbt b/build.sbt index bab83f1a37..b949e5e08d 100644 --- a/build.sbt +++ b/build.sbt @@ -181,7 +181,7 @@ def mimaSettingsSince(versions: Seq[String]): Seq[Def.Setting[_]] = Def settings ), ) -val scriptedSbtReduxMimaSettings = Def.settings(mimaPreviousArtifacts := Set()) +val scriptedSbtMimaSettings = Def.settings(mimaPreviousArtifacts := Set()) lazy val sbtRoot: Project = (project in file(".")) .aggregate(allProjects.map(p => LocalProject(p.id)): _*) @@ -618,43 +618,17 @@ val sbtProjDepsCompileScopeFilter = inConfigurations(Compile) ) -lazy val scriptedSbtReduxProj = (project in file("scripted-sbt-redux")) +lazy val scriptedSbtProj = (project in file("scripted-sbt")) .dependsOn(sbtProj % "compile;test->test", commandProj, utilLogging, utilScripted) .settings( baseSettings, - name := "Scripted sbt Redux", + name := "scripted-sbt", libraryDependencies ++= Seq(launcherInterface % "provided"), mimaSettings, - scriptedSbtReduxMimaSettings, + scriptedSbtMimaSettings, ) .configure(addSbtIO, addSbtCompilerInterface, addSbtLmCore) -lazy val scriptedSbtOldProj = (project in file("scripted-sbt-old")) - .dependsOn(scriptedSbtReduxProj) - .settings( - baseSettings, - name := "Scripted sbt", - mimaSettings, - mimaBinaryIssueFilters ++= Seq( - // sbt.test package is renamed to sbt.scriptedtest. - exclude[MissingClassProblem]("sbt.test.*"), - exclude[DirectMissingMethodProblem]("sbt.test.*"), - exclude[IncompatibleMethTypeProblem]("sbt.test.*"), - exclude[IncompatibleSignatureProblem]("sbt.test.*"), - ), - ) - -lazy val scriptedPluginProj = (project in file("scripted-plugin")) - .settings( - baseSettings, - name := "Scripted Plugin", - mimaSettings, - mimaBinaryIssueFilters ++= Seq( - // scripted plugin has moved into sbt mothership. - exclude[MissingClassProblem]("sbt.ScriptedPlugin*") - ), - ) - lazy val dependencyTreeProj = (project in file("dependency-tree")) .dependsOn(sbtProj) .settings( @@ -947,7 +921,6 @@ lazy val mainProj = (project in file("main")) runProj, commandProj, collectionProj, - scriptedPluginProj, zincLmIntegrationProj, utilLogging, ) @@ -1028,7 +1001,7 @@ lazy val sbtProj = (project in file("sbt-app")) // addSbtCompilerBridge lazy val serverTestProj = (project in file("server-test")) - .dependsOn(sbtProj % "compile->test", scriptedSbtReduxProj % "compile->test") + .dependsOn(sbtProj % "compile->test", scriptedSbtProj % "compile->test") .settings( testedBaseSettings, publish / skip := true, @@ -1261,7 +1234,7 @@ def scriptedTask(launch: Boolean): Def.Initialize[InputTask[Unit]] = Def.inputTa val _ = publishLocalBinAll.value val launchJar = s"-Dsbt.launch.jar=${(bundledLauncherProj / Compile / packageBin).value}" Scripted.doScripted( - (scriptedSbtReduxProj / scalaInstance).value, + (scriptedSbtProj / scalaInstance).value, scriptedSource.value, scriptedBufferLog.value, Def.setting(Scripted.scriptedParser(scriptedSource.value)).parsed, @@ -1269,7 +1242,7 @@ 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 + (scriptedSbtProj / Test / fullClasspathAsJars).value .map(_.data) .filterNot(_.getName.contains("scala-compiler")), (bundledLauncherProj / Compile / packageBin).value, @@ -1288,9 +1261,7 @@ def allProjects = taskProj, stdTaskProj, runProj, - scriptedSbtReduxProj, - scriptedSbtOldProj, - scriptedPluginProj, + scriptedSbtProj, dependencyTreeProj, protocolProj, actionsProj, @@ -1364,9 +1335,7 @@ lazy val docProjects: ScopeFilter = ScopeFilter( inAnyProject -- inProjects( sbtRoot, sbtProj, - scriptedSbtReduxProj, - scriptedSbtOldProj, - scriptedPluginProj, + scriptedSbtProj, upperModules, lowerUtils, ), diff --git a/main/src/main/scala/sbt/ScriptedPlugin.scala b/main/src/main/scala/sbt/ScriptedPlugin.scala index fcbfb98e03..a98b498d6e 100644 --- a/main/src/main/scala/sbt/ScriptedPlugin.scala +++ b/main/src/main/scala/sbt/ScriptedPlugin.scala @@ -67,24 +67,9 @@ object ScriptedPlugin extends AutoPlugin { .map(_.get().head) .value, sbtTestDirectory := sourceDirectory.value / "sbt-test", - libraryDependencies ++= (CrossVersion.partialVersion(scriptedSbt.value) match - case Some((0, 13)) => - Seq( - "org.scala-sbt" % "scripted-sbt" % scriptedSbt.value % ScriptedConf, - "org.scala-sbt" % "sbt-launch" % scriptedSbt.value % ScriptedLaunchConf - ) - case Some((1, _)) => - Seq( - "org.scala-sbt" %% "scripted-sbt" % scriptedSbt.value % ScriptedConf, - "org.scala-sbt" % "sbt-launch" % scriptedSbt.value % ScriptedLaunchConf - ) - case Some((2, _)) => - Seq( - "org.scala-sbt" %% "scripted-sbt-redux" % scriptedSbt.value % ScriptedConf, - "org.scala-sbt" % "sbt-launch" % scriptedSbt.value % ScriptedLaunchConf - ) - case Some((x, y)) => sys error s"Unknown sbt version ${scriptedSbt.value} ($x.$y)" - case None => sys error s"Unknown sbt version ${scriptedSbt.value}" + libraryDependencies ++= Seq( + "org.scala-sbt" %% "scripted-sbt" % scriptedSbt.value % ScriptedConf, + "org.scala-sbt" % "sbt-launch" % scriptedSbt.value % ScriptedLaunchConf ), scriptedClasspath := getJars(ScriptedConf).value, scriptedTests := scriptedTestsTask.value, diff --git a/scripted-plugin/src/main/scala/sbt/ScriptedPlugin.scala b/scripted-plugin/src/main/scala/sbt/ScriptedPlugin.scala deleted file mode 100644 index 8383a97f37..0000000000 --- a/scripted-plugin/src/main/scala/sbt/ScriptedPlugin.scala +++ /dev/null @@ -1,12 +0,0 @@ -/* - * sbt - * Copyright 2023, Scala center - * Copyright 2011 - 2022, Lightbend, Inc. - * Copyright 2008 - 2010, Mark Harrah - * Licensed under Apache License 2.0 (see LICENSE) - */ - -package sbt - -// ScriptedPlugin has moved to main. -private[sbt] object ScriptedPluginNote diff --git a/scripted-sbt-old/src/main/scala/sbt/test/OldScriptedTests.scala b/scripted-sbt-old/src/main/scala/sbt/test/OldScriptedTests.scala deleted file mode 100644 index 0eaf16602c..0000000000 --- a/scripted-sbt-old/src/main/scala/sbt/test/OldScriptedTests.scala +++ /dev/null @@ -1,33 +0,0 @@ -/* - * sbt - * Copyright 2023, Scala center - * Copyright 2011 - 2022, Lightbend, Inc. - * Copyright 2008 - 2010, Mark Harrah - * Licensed under Apache License 2.0 (see LICENSE) - */ - -package sbt.test - -import java.io.File - -/** - * This is a bincompat place holder sbt.test package that we are now trying to hide - * because of the name conflict with Keys.test. - */ -@deprecated("Use sbt.scriptedtest.ScriptedRunner.", "1.2.0") -private[sbt] class ScriptedRunner extends sbt.scriptedtest.ScriptedRunner - -/** - * This is a bincompat place holder for sbt.test package that we are now trying to hide - * because of the name conflict with Keys.test. - */ -@deprecated("Use sbt.scriptedtest.ScriptedTests.", "1.2.0") -private[sbt] object ScriptedTests extends ScriptedRunner { - - /** Represents the function that runs the scripted tests, both in single or batch mode. */ - type TestRunner = () => Seq[Option[String]] - - val emptyCallback: File => Unit = _ => () - def main(args: Array[String]): Unit = - sbt.scriptedtest.ScriptedTests.main(args) -} diff --git a/scripted-sbt-redux/NOTICE b/scripted-sbt/NOTICE similarity index 100% rename from scripted-sbt-redux/NOTICE rename to scripted-sbt/NOTICE diff --git a/scripted-sbt-redux/src/main/scala/sbt/scriptedtest/BatchScriptRunner.scala b/scripted-sbt/src/main/scala/sbt/scriptedtest/BatchScriptRunner.scala similarity index 100% rename from scripted-sbt-redux/src/main/scala/sbt/scriptedtest/BatchScriptRunner.scala rename to scripted-sbt/src/main/scala/sbt/scriptedtest/BatchScriptRunner.scala diff --git a/scripted-sbt-redux/src/main/scala/sbt/scriptedtest/RemoteSbtCreator.scala b/scripted-sbt/src/main/scala/sbt/scriptedtest/RemoteSbtCreator.scala similarity index 100% rename from scripted-sbt-redux/src/main/scala/sbt/scriptedtest/RemoteSbtCreator.scala rename to scripted-sbt/src/main/scala/sbt/scriptedtest/RemoteSbtCreator.scala diff --git a/scripted-sbt-redux/src/main/scala/sbt/scriptedtest/SbtHandler.scala b/scripted-sbt/src/main/scala/sbt/scriptedtest/SbtHandler.scala similarity index 100% rename from scripted-sbt-redux/src/main/scala/sbt/scriptedtest/SbtHandler.scala rename to scripted-sbt/src/main/scala/sbt/scriptedtest/SbtHandler.scala diff --git a/scripted-sbt-redux/src/main/scala/sbt/scriptedtest/ScriptedTests.scala b/scripted-sbt/src/main/scala/sbt/scriptedtest/ScriptedTests.scala similarity index 100% rename from scripted-sbt-redux/src/main/scala/sbt/scriptedtest/ScriptedTests.scala rename to scripted-sbt/src/main/scala/sbt/scriptedtest/ScriptedTests.scala