From bd584131222a24df310e5e4076753bdac3276abd Mon Sep 17 00:00:00 2001 From: Anatolii Kmetiuk Date: Thu, 16 Jul 2026 15:39:59 +0900 Subject: [PATCH] [2.0.x] restore JVM option capability in the launcher config (#9452) Restores override-build-repos config option responsible for passing the JVM flag to the launcher. --- .../input_resources/sbt/sbt.boot.properties | 1 + project/Dependencies.scala | 2 +- .../build.sbt | 28 +++++++++++++++++++ .../nested/build.sbt | 1 + .../nested/project/build.properties | 1 + .../nested/project/build.sbt | 6 ++++ .../repositories | 3 ++ .../override-build-repos-sbt1-meta-build/test | 1 + 8 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/build.sbt create mode 100644 sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/nested/build.sbt create mode 100644 sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/nested/project/build.properties create mode 100644 sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/nested/project/build.sbt create mode 100644 sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/repositories create mode 100644 sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/test diff --git a/launch/src/main/input_resources/sbt/sbt.boot.properties b/launch/src/main/input_resources/sbt/sbt.boot.properties index 26771c66c..e248c54a5 100644 --- a/launch/src/main/input_resources/sbt/sbt.boot.properties +++ b/launch/src/main/input_resources/sbt/sbt.boot.properties @@ -25,5 +25,6 @@ [ivy] ivy-home: ${sbt.ivy.home-${user.home}/.ivy2/} checksums: ${sbt.checksums-sha1,md5} + override-build-repos: ${sbt.override.build.repos-false} repository-override: ${sbt.repository.override-${sbt.global.base-${user.home}/.sbt}/repositories_force} repository-config: ${sbt.repository.config-${sbt.global.base-${user.home}/.sbt}/repositories} diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 8f643d131..a938e38e5 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -17,7 +17,7 @@ object Dependencies { private val sbtIO = "org.scala-sbt" %% "io" % ioVersion - val launcherVersion = "1.6.0" + val launcherVersion = "1.6.2" val launcherInterface = "org.scala-sbt" % "launcher-interface" % launcherVersion val rawLauncher = "org.scala-sbt" % "launcher" % launcherVersion val testInterface = "org.scala-sbt" % "test-interface" % "1.0" diff --git a/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/build.sbt b/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/build.sbt new file mode 100644 index 000000000..351b9149b --- /dev/null +++ b/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/build.sbt @@ -0,0 +1,28 @@ +import scala.sys.process.* + +lazy val check = taskKey[Unit]("Verifies the repository override property applies to an sbt 1 meta-build") + +lazy val root = (project in file(".")).settings( + check := { + val base = baseDirectory.value + val globalBase = base / "global" + val launcher = file(sys.props("sbt.launch.jar")) + val java = file(sys.props("java.home")) / "bin" / "java" + val exitCode = Process( + Seq( + java.getAbsolutePath, + "-Dsbt.override.build.repos=true", + s"-Dsbt.repository.config=${(base / "repositories").getAbsolutePath}", + s"-Dsbt.global.base=${globalBase.getAbsolutePath}", + s"-Dsbt.boot.directory=${(globalBase / "boot").getAbsolutePath}", + "-Dsbt.server.autostart=false", + "-jar", + launcher.getAbsolutePath, + "reload plugins", + "checkMetaBuildResolvers" + ), + base / "nested" + ).! + assert(exitCode == 0, s"nested sbt exited with status $exitCode") + } +) diff --git a/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/nested/build.sbt b/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/nested/build.sbt new file mode 100644 index 000000000..2ce532ab8 --- /dev/null +++ b/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/nested/build.sbt @@ -0,0 +1 @@ +name := "nested" diff --git a/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/nested/project/build.properties b/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/nested/project/build.properties new file mode 100644 index 000000000..dabdb1590 --- /dev/null +++ b/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/nested/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.12.11 diff --git a/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/nested/project/build.sbt b/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/nested/project/build.sbt new file mode 100644 index 000000000..87558e8c3 --- /dev/null +++ b/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/nested/project/build.sbt @@ -0,0 +1,6 @@ +val checkMetaBuildResolvers = taskKey[Unit]("Verifies the meta-build repository override") + +checkMetaBuildResolvers := { + val names = csrResolvers.value.map(_.name).sorted + assert(names == Seq("internal-proxy", "local"), s"unexpected meta-build resolvers: $names") +} diff --git a/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/repositories b/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/repositories new file mode 100644 index 000000000..ae04f1f95 --- /dev/null +++ b/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/repositories @@ -0,0 +1,3 @@ +[repositories] + local + internal-proxy: https://repo.maven.apache.org/maven2 diff --git a/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/test b/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/test new file mode 100644 index 000000000..15675b169 --- /dev/null +++ b/sbt-app/src/repo-override-test/force-proxy-repos-file/override-build-repos-sbt1-meta-build/test @@ -0,0 +1 @@ +> check