From a7481e49d005b4f9b736ced894478122dadb274d Mon Sep 17 00:00:00 2001 From: James Roper Date: Mon, 26 Aug 2024 13:07:17 +1000 Subject: [PATCH 01/96] Include ALL sources, and resources in source jar This follows on from #7470, to include all sources, not just managed and unmanaged, in the source jar, along with all resources (previously only unmanaged resources were included). This means that if, for whatever crazy reason, someone does modify the `sources` task to include additional sources or filter out sources, rather than using the managed or unmanaged source mechanisms, their changes will still be reflected in the source jar. --- main/src/main/scala/sbt/Defaults.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index fa2c3eb7d..a471c247a 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -1768,17 +1768,17 @@ object Defaults extends BuildCommon { // drop base directories, since there are no valid mappings for these def sourceMappings: Initialize[Task[Seq[(File, String)]]] = Def.task { - val sdirs = unmanagedSourceDirectories.value ++ managedSourceDirectories.value + val sdirs = sourceDirectories.value val base = baseDirectory.value val relative = (f: File) => relativeTo(sdirs)(f).orElse(relativeTo(base)(f)).orElse(flat(f)) val exclude = Set(sdirs, base) - (unmanagedSources.value ++ managedSources.value).flatMap { + sources.value.flatMap { case s if !exclude(s) => relative(s).map(s -> _) case _ => None } } - def resourceMappings = relativeMappings(unmanagedResources, unmanagedResourceDirectories) + def resourceMappings = relativeMappings(resources, resourceDirectories) def relativeMappings( files: Taskable[Seq[File]], From f6663a0d6c8124ccf97bd12fca1669009cc64bca Mon Sep 17 00:00:00 2001 From: SlowBrainDude <126806769+SlowBrainDude@users.noreply.github.com> Date: Wed, 24 Jul 2024 02:45:24 +0200 Subject: [PATCH 02/96] Fix stale BSP diagnostics The BSP server didn't reset old diagnostic messages sent to BSP clients under certain circumstances. This commit mitigates this edge case and ensures that diagnostics for files that previously had compilation problems are properly reset when fresh diagnostics messages are sent. The culprit was a mismatch of map keys: Files with problems were sometimes recorded under an absolute path, but later attempted to be retrieved by virtual path. --- .../internal/server/BuildServerReporter.scala | 12 +++- .../test/scala/testpkg/BuildServerTest.scala | 71 +++++++++++++++++++ 2 files changed, 80 insertions(+), 3 deletions(-) diff --git a/main/src/main/scala/sbt/internal/server/BuildServerReporter.scala b/main/src/main/scala/sbt/internal/server/BuildServerReporter.scala index 5b25d17b0..b4ef0d320 100644 --- a/main/src/main/scala/sbt/internal/server/BuildServerReporter.scala +++ b/main/src/main/scala/sbt/internal/server/BuildServerReporter.scala @@ -25,6 +25,7 @@ import xsbti.{ import scala.collection.JavaConverters._ import scala.collection.mutable +import java.nio.file.Path /** Provides methods for sending success and failure reports and publishing diagnostics. @@ -90,7 +91,7 @@ final class BuildServerReporterImpl( import sbt.internal.inc.JavaInterfaceUtil._ private lazy val exchange = StandardMain.exchange - private val problemsByFile = mutable.Map[VirtualFileRef, Vector[Problem]]() + private val problemsByFile = mutable.Map[Path, Vector[Problem]]() // sometimes the compiler returns a fake position such as // on Windows, this causes InvalidPathException (see #5994 and #6720) @@ -114,9 +115,10 @@ final class BuildServerReporterImpl( override def sendFailureReport(sources: Array[VirtualFile]): Unit = { for (source <- sources) { - val problems = problemsByFile.getOrElse(source, Vector.empty) + val problems = problemsByFile.getOrElse(converter.toPath(source), Vector.empty) sendReport(source, problems) } + notifyFirstReport() } private def sendReport(source: VirtualFileRef, problems: Vector[Problem]): Unit = { @@ -153,7 +155,11 @@ final class BuildServerReporterImpl( id <- problem.position.sourcePath.toOption (document, diagnostic) <- mapProblemToDiagnostic(problem) } { - val fileRef = VirtualFileRef.of(id) + // Note: We're putting the real path in `fileRef` because the `id` String can take + // two forms, either a ${something}/relativePath, or the absolute path of the source. + // But where we query this, we always have _only_ a ${something}/relativePath available. + // So here we "normalize" to the real path. + val fileRef = converter.toPath(VirtualFileRef.of(id)) problemsByFile(fileRef) = problemsByFile.getOrElse(fileRef, Vector.empty) :+ problem val params = PublishDiagnosticsParams( diff --git a/server-test/src/test/scala/testpkg/BuildServerTest.scala b/server-test/src/test/scala/testpkg/BuildServerTest.scala index fff085a94..d30c9f1e7 100644 --- a/server-test/src/test/scala/testpkg/BuildServerTest.scala +++ b/server-test/src/test/scala/testpkg/BuildServerTest.scala @@ -236,6 +236,77 @@ object BuildServerTest extends AbstractServerTest { ) } + test("buildTarget/compile [Java diagnostics] clear stale warnings") { _ => + val buildTarget = buildTargetUri("javaProj", "Compile") + val testFile = new File(svr.baseDirectory, s"java-proj/src/main/java/example/Hello.java") + + val otherBuildFile = new File(svr.baseDirectory, "force-java-out-of-process-compiler.sbt") + // Setting `javaHome` will force SBT to shell out to an external Java compiler instead + // of using the local compilation service offered by the JVM running this SBT instance. + IO.write( + otherBuildFile, + """ + |lazy val javaProj = project + | .in(file("java-proj")) + | .settings( + | javacOptions += "-Xlint:all", + | javaHome := Some(file(System.getProperty("java.home"))) + | ) + |""".stripMargin + ) + reloadWorkspace() + + compile(buildTarget) + + assertMessage( + "build/publishDiagnostics", + "Hello.java", + """"severity":2""", + """found raw type: List""" + )(message = "should send publishDiagnostics with severity 2 for Hello.java") + + assertMessage( + "build/publishDiagnostics", + "Hello.java", + """"severity":1""", + """incompatible types: int cannot be converted to String""" + )( + message = "should send publishDiagnostics with severity 1 for Hello.java" + ) + // Note the messages changed slightly in both cases. That's interesting… + + IO.write( + testFile, + """|package example; + | + |import java.util.List; + |import java.util.ArrayList; + | + |class Hello { + | public static void main(String[] args) { + | List list = new ArrayList<>(); + | String msg = "42"; + | System.out.println(msg); + | } + |} + |""".stripMargin + ) + + compile(buildTarget) + + assertMessage( + "build/publishDiagnostics", + "Hello.java", + "\"diagnostics\":[]", + "\"reset\":true" + )( + message = "should send publishDiagnostics with empty diagnostics" + ) + + IO.delete(otherBuildFile) + reloadWorkspace() + } + test("buildTarget/scalacOptions, buildTarget/javacOptions") { _ => val buildTargets = Seq( buildTargetUri("util", "Compile"), From 03d5bf6e555d4dbf5c126e9dba66b56ac351c191 Mon Sep 17 00:00:00 2001 From: adpi2 Date: Tue, 3 Sep 2024 10:09:07 +0200 Subject: [PATCH 03/96] Fix BuildServerTest --- server-test/src/test/scala/testpkg/BuildServerTest.scala | 1 + 1 file changed, 1 insertion(+) diff --git a/server-test/src/test/scala/testpkg/BuildServerTest.scala b/server-test/src/test/scala/testpkg/BuildServerTest.scala index d30c9f1e7..15ec8a1da 100644 --- a/server-test/src/test/scala/testpkg/BuildServerTest.scala +++ b/server-test/src/test/scala/testpkg/BuildServerTest.scala @@ -305,6 +305,7 @@ object BuildServerTest extends AbstractServerTest { IO.delete(otherBuildFile) reloadWorkspace() + () } test("buildTarget/scalacOptions, buildTarget/javacOptions") { _ => From ee38417afffe18f387d42b73c19146c4a8d3d944 Mon Sep 17 00:00:00 2001 From: kenji yoshida <6b656e6a69@gmail.com> Date: Wed, 11 Sep 2024 07:36:03 +0900 Subject: [PATCH 04/96] update ErrorHandling.scala --- .../scala/sbt/internal/util/ErrorHandling.scala | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/internal/util-control/src/main/scala/sbt/internal/util/ErrorHandling.scala b/internal/util-control/src/main/scala/sbt/internal/util/ErrorHandling.scala index 06160b3cd..58b460ccb 100644 --- a/internal/util-control/src/main/scala/sbt/internal/util/ErrorHandling.scala +++ b/internal/util-control/src/main/scala/sbt/internal/util/ErrorHandling.scala @@ -23,9 +23,16 @@ object ErrorHandling { try { Right(f) } catch { - case ex @ (_: Exception | _: StackOverflowError) => Left(ex) - case err @ (_: ThreadDeath | _: VirtualMachineError) => throw err - case x: Throwable => Left(x) + case ex @ (_: Exception | _: StackOverflowError) => + Left(ex) + case err: VirtualMachineError => + throw err + case err if err.getClass.getName == "java.lang.ThreadDeath" => + // ThreadDeath is deprecated + // https://bugs.openjdk.org/browse/JDK-8289610 + throw err + case x: Throwable => + Left(x) } def convert[T](f: => T): Either[Exception, T] = From 4d7228ad5e70aff3afaa2a69f579054744d7ca4f Mon Sep 17 00:00:00 2001 From: Adrien Piquerez Date: Wed, 11 Sep 2024 09:13:32 +0200 Subject: [PATCH 05/96] Fix CI --- .github/workflows/ci.yml | 2 +- .github/workflows/nightly.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc7a5dc19..7eb02e2b6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -79,7 +79,7 @@ jobs: uses: actions/checkout@v4 with: repository: sbt/zinc - ref: develop + ref: 1.10.x path: zinc - name: Setup JDK uses: actions/setup-java@v4 diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 767d58986..2ae463080 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -38,7 +38,7 @@ jobs: uses: actions/checkout@v4 with: repository: sbt/zinc - ref: develop + ref: 1.10.x path: zinc - name: Setup JDK uses: actions/setup-java@v4 From 31dd85b7ba7ec55e56868949a65b7c3a98eff93d Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 15 Sep 2024 03:17:53 -0400 Subject: [PATCH 06/96] fix: Allow scripted to go through **Problem** Currently scripted does version checking to block sbt 2.x plugins to be cross published from sbt 1.x. **Solution** Remove the sbt version matching. --- main/src/main/scala/sbt/ScriptedPlugin.scala | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/main/src/main/scala/sbt/ScriptedPlugin.scala b/main/src/main/scala/sbt/ScriptedPlugin.scala index 85f8c9181..7ec7dbd5f 100644 --- a/main/src/main/scala/sbt/ScriptedPlugin.scala +++ b/main/src/main/scala/sbt/ScriptedPlugin.scala @@ -71,13 +71,11 @@ object ScriptedPlugin extends AutoPlugin { "org.scala-sbt" % "scripted-sbt" % scriptedSbt.value % ScriptedConf, "org.scala-sbt" % "sbt-launch" % scriptedSbt.value % ScriptedLaunchConf ) - case Some((1, _)) => + case _ => Seq( "org.scala-sbt" %% "scripted-sbt" % 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}" }), scriptedClasspath := getJars(ScriptedConf).value, scriptedTests := scriptedTestsTask.value, From ddeb5dba2c0d635988f7a537ba2f0b8185b2fa7e Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 15 Sep 2024 03:14:49 -0400 Subject: [PATCH 07/96] feat: Use _sbt2_3 suffix **Problem** The extra attribute is a vestige from the days when sbt plugins were published on Ivy repos. **Solution** This uses normal suffix system. --- main/src/main/scala/sbt/Defaults.scala | 63 ++++++++++++++++++-------- 1 file changed, 45 insertions(+), 18 deletions(-) diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index a471c247a..e2c199c4f 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -2585,11 +2585,20 @@ object Defaults extends BuildCommon { } def sbtPluginExtra(m: ModuleID, sbtV: String, scalaV: String): ModuleID = - m.extra( - PomExtraDependencyAttributes.SbtVersionKey -> sbtV, - PomExtraDependencyAttributes.ScalaVersionKey -> scalaV - ) - .withCrossVersion(Disabled()) + partialVersion(sbtV) match { + case Some((0, _)) | Some((1, _)) => + m.extra( + PomExtraDependencyAttributes.SbtVersionKey -> sbtV, + PomExtraDependencyAttributes.ScalaVersionKey -> scalaV + ) + .withCrossVersion(Disabled()) + case Some(_) => + // this produces a normal suffix like _sjs1_2.13 + val prefix = s"sbt${binarySbtVersion(sbtV)}_" + m.cross(CrossVersion.binaryWith(prefix, "")) + case None => + sys.error(s"unknown sbt version $sbtV") + } def discoverSbtPluginNames: Initialize[Task[PluginDiscovery.DiscoveredNames]] = Def.taskDyn { if (sbtPlugin.value) Def.task(PluginDiscovery.discoverSourceAll(compile.value)) @@ -2913,7 +2922,7 @@ object Classpaths { Defaults.globalDefaults( Seq( publishMavenStyle :== true, - sbtPluginPublishLegacyMavenStyle := true, + sbtPluginPublishLegacyMavenStyle :== true, publishArtifact :== true, (Test / publishArtifact) :== false ) @@ -2921,8 +2930,10 @@ object Classpaths { private lazy val publishSbtPluginMavenStyle = Def.task(sbtPlugin.value && publishMavenStyle.value) private lazy val packagedDefaultArtifacts = packaged(defaultArtifactTasks) - private lazy val emptyArtifacts = Def.task(Map.empty[Artifact, File]) - + private lazy val sbt2Plus: Def.Initialize[Boolean] = Def.setting { + val sbtV = (pluginCrossBuild / sbtBinaryVersion).value + sbtV != "1.0" && !sbtV.startsWith("0.") + } val jvmPublishSettings: Seq[Setting[_]] = Seq( artifacts := artifactDefs(defaultArtifactTasks).value, packagedArtifacts := Def @@ -2943,12 +2954,30 @@ object Classpaths { */ private def mavenArtifactsOfSbtPlugin: Def.Initialize[Task[Map[Artifact, File]]] = Def.task { - val crossVersion = sbtCrossVersion.value - val legacyArtifact = (makePom / artifact).value - val pom = makeMavenPomOfSbtPlugin.value - val legacyPackages = packaged(defaultPackages).value + // This is a conditional task. The top-level must be an if expression. + if (sbt2Plus.value) { + // Both POMs and JARs are Maven-compatible in sbt 2.x, so ignore the workarounds + packagedDefaultArtifacts.value + } else { + val crossVersion = sbtCrossVersion.value + val legacyPomArtifact = (makePom / artifact).value + def addSuffix(a: Artifact): Artifact = a.withName(crossVersion(a.name)) + Map(addSuffix(legacyPomArtifact) -> makeMavenPomOfSbtPlugin.value) ++ + pomConsistentArtifactsForLegacySbt.value ++ + legacyPackagedArtifacts.value + } + } - def addSuffix(a: Artifact): Artifact = a.withName(crossVersion(a.name)) + private def legacyPackagedArtifacts: Def.Initialize[Task[Map[Artifact, File]]] = Def.task { + // This is a conditional task. The top-level must be an if expression. + if (sbtPluginPublishLegacyMavenStyle.value) packagedDefaultArtifacts.value + else Map.empty[Artifact, File] + } + + private def pomConsistentArtifactsForLegacySbt: Def.Initialize[Task[Map[Artifact, File]]] = + Def.task { + val crossVersion = sbtCrossVersion.value + val legacyPackages = packaged(defaultPackages).value def copyArtifact(artifact: Artifact, file: File): (Artifact, File) = { val nameWithSuffix = crossVersion(artifact.name) val targetFile = @@ -2956,11 +2985,9 @@ object Classpaths { IO.copyFile(file, targetFile) artifact.withName(nameWithSuffix) -> targetFile } - val packages = legacyPackages.map { case (artifact, file) => copyArtifact(artifact, file) } - val legacyPackagedArtifacts = Def - .ifS(sbtPluginPublishLegacyMavenStyle.toTask)(packagedDefaultArtifacts)(emptyArtifacts) - .value - packages + (addSuffix(legacyArtifact) -> pom) ++ legacyPackagedArtifacts + legacyPackages.map { + case (artifact, file) => copyArtifact(artifact, file); + } } private def sbtCrossVersion: Def.Initialize[String => String] = Def.setting { From 5e5d007f23b8cbce5adb87d8675f9f36f543249d Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 15 Sep 2024 15:21:14 -0400 Subject: [PATCH 08/96] Bump the version number --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 98d0e71dc..da2347c52 100644 --- a/build.sbt +++ b/build.sbt @@ -11,7 +11,7 @@ import scala.util.Try // ThisBuild settings take lower precedence, // but can be shared across the multi projects. ThisBuild / version := { - val v = "1.10.0-SNAPSHOT" + val v = "1.10.2-SNAPSHOT" nightlyVersion.getOrElse(v) } ThisBuild / version2_13 := "2.0.0-SNAPSHOT" From dd1218ba12eff68a40dc39562cb5a044783b42f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Yngve=20Lerv=C3=A5g?= Date: Tue, 10 Sep 2024 23:29:20 +0200 Subject: [PATCH 09/96] fix: serverIdleTimeOut -> serverIdleTimeout Use consistent name for the option. The variable is named `serverIdleTimeout` and this also seems the proper camelcasing of the words. --- main-command/src/main/scala/sbt/BasicKeys.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main-command/src/main/scala/sbt/BasicKeys.scala b/main-command/src/main/scala/sbt/BasicKeys.scala index f01b1f6a4..7d6693e19 100644 --- a/main-command/src/main/scala/sbt/BasicKeys.scala +++ b/main-command/src/main/scala/sbt/BasicKeys.scala @@ -93,7 +93,7 @@ object BasicKeys { val serverIdleTimeout = AttributeKey[Option[FiniteDuration]]( - "serverIdleTimeOut", + "serverIdleTimeout", "If set to a defined value, sbt server will exit if it goes at least the specified duration without receiving any commands.", 10000 ) From 2785db21ef891f34caba12e49ee5a3a3eaa53837 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 15 Sep 2024 16:21:26 -0400 Subject: [PATCH 10/96] Zinc 1.10.2 --- project/Dependencies.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 2bf0d2741..35b6964a5 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -15,7 +15,7 @@ object Dependencies { private val ioVersion = nightlyVersion.getOrElse("1.10.0") private val lmVersion = sys.props.get("sbt.build.lm.version").orElse(nightlyVersion).getOrElse("1.10.1") - val zincVersion = nightlyVersion.getOrElse("1.10.1") + val zincVersion = nightlyVersion.getOrElse("1.10.2") private val sbtIO = "org.scala-sbt" %% "io" % ioVersion From 4951e3e6da01e11bfb6818b901d8ea0c8e80cdb0 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 15 Sep 2024 21:58:58 -0400 Subject: [PATCH 11/96] sbt 1.10.2 --- sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbt b/sbt index 2a76dd607..57ef518d9 100755 --- a/sbt +++ b/sbt @@ -1,7 +1,7 @@ #!/usr/bin/env bash set +e -declare builtin_sbt_version="1.10.1" +declare builtin_sbt_version="1.10.2" declare -a residual_args declare -a java_args declare -a scalac_args From b873c2e2861a802d158bfb3e3223f32c0bd86b92 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Sun, 22 Sep 2024 23:52:47 -0700 Subject: [PATCH 12/96] Bump jline3 to 3.27.0 Bump native image options Try use Github Action to setup GraalVM Update native image version Update java version to be in sync with Native Image Plugin Try anything Create the dir to place native image Try again Remove Graal setup Believe in couriser? --- build.sbt | 11 +++++++++-- project/Dependencies.scala | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/build.sbt b/build.sbt index da2347c52..d1af2e15c 100644 --- a/build.sbt +++ b/build.sbt @@ -1176,8 +1176,15 @@ lazy val sbtClientProj = (project in file("client")) nativeImageReady := { () => () }, - nativeImageVersion := "22.2.0", - nativeImageOutput := target.value / "bin" / "sbtn", + nativeImageVersion := "23.0", + nativeImageJvm := "graalvm-java23", + nativeImageOutput := { + val outputDir = (target.value / "bin").toPath + if (!Files.exists(outputDir)) { + Files.createDirectories(outputDir) + } + outputDir.resolve("sbtn").toFile + }, nativeImageOptions ++= Seq( "--no-fallback", s"--initialize-at-run-time=sbt.client", diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 35b6964a5..50269aeeb 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -87,7 +87,7 @@ object Dependencies { // JLine 3 version must be coordinated together with JAnsi version // and the JLine 2 fork version, which uses the same JAnsi val jline = "org.scala-sbt.jline" % "jline" % "2.14.7-sbt-9c3b6aca11c57e339441442bbf58e550cdfecb79" - val jline3Version = "3.24.1" + val jline3Version = "3.27.0" val jline3Terminal = "org.jline" % "jline-terminal" % jline3Version val jline3Jansi = "org.jline" % "jline-terminal-jansi" % jline3Version val jline3JNA = "org.jline" % "jline-terminal-jna" % jline3Version From c3038dc38747c1a834f7f10e8ea02ecb45fcb72b Mon Sep 17 00:00:00 2001 From: kenji yoshida <6b656e6a69@gmail.com> Date: Sun, 29 Sep 2024 07:46:18 +0900 Subject: [PATCH 13/96] add dependabot setting for develop branch --- .github/dependabot.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 5ace4600a..a9173d91a 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,3 +4,10 @@ updates: directory: "/" schedule: interval: "weekly" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + target-branch: "develop" + commit-message: + prefix: "[2.x] " From a6daf2d1ea15d9f8f31f2e539d303e5a2641e8a9 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Sat, 5 Oct 2024 17:40:04 -0700 Subject: [PATCH 14/96] Remove vscode-sbt-scala from build.sbt --- build.sbt | 48 +----------------------------------------------- 1 file changed, 1 insertion(+), 47 deletions(-) diff --git a/build.sbt b/build.sbt index da2347c52..205f3f404 100644 --- a/build.sbt +++ b/build.sbt @@ -1304,52 +1304,6 @@ lazy val sbtIgnoredProblems = { ) } -def runNpm(command: String, base: File, log: sbt.internal.util.ManagedLogger) = { - import scala.sys.process._ - try { - val exitCode = Process(s"npm $command", Option(base)) ! log - if (exitCode != 0) throw new Exception("Process returned exit code: " + exitCode) - } catch { - case e: java.io.IOException => log.warn("failed to run npm " + e.getMessage) - } -} - -lazy val vscodePlugin = (project in file("vscode-sbt-scala")) - .settings( - bspEnabled := false, - crossPaths := false, - crossScalaVersions := Seq(baseScalaVersion), - publish / skip := true, - Compile / compile := { - val _ = update.value - runNpm("run compile", baseDirectory.value, streams.value.log) - sbt.internal.inc.Analysis.empty - }, - update := { - val old = update.value - val t = target.value / "updated" - val base = baseDirectory.value - val log = streams.value.log - if (t.exists) () - else { - runNpm("install", base, log) - IO.touch(t) - } - old - }, - cleanFiles ++= { - val base = baseDirectory.value - Vector( - target.value / "updated", - base / "node_modules", - base / "client" / "node_modules", - base / "client" / "server", - base / "client" / "out", - base / "server" / "node_modules" - ) filter { _.exists } - } - ) - def scriptedTask(launch: Boolean): Def.Initialize[InputTask[Unit]] = Def.inputTask { val _ = publishLocalBinAll.value val launchJar = s"-Dsbt.launch.jar=${(bundledLauncherProj / Compile / packageBin).value}" @@ -1463,7 +1417,7 @@ lazy val docProjects: ScopeFilter = ScopeFilter( inConfigurations(Compile) ) lazy val javafmtOnCompile = taskKey[Unit]("Formats java sources before compile") -lazy val scriptedProjects = ScopeFilter(inAnyProject -- inProjects(vscodePlugin)) +lazy val scriptedProjects = ScopeFilter(inAnyProject) def customCommands: Seq[Setting[_]] = Seq( commands += Command.command("setupBuildScala212") { state => From b36cf81584e06cda4cc184f9e3c2ccc20959bf21 Mon Sep 17 00:00:00 2001 From: kenji yoshida <6b656e6a69@gmail.com> Date: Sun, 6 Oct 2024 19:36:12 +0900 Subject: [PATCH 15/96] update to latest versions in TemplateCommandUtil --- main/src/main/scala/sbt/TemplateCommandUtil.scala | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/main/src/main/scala/sbt/TemplateCommandUtil.scala b/main/src/main/scala/sbt/TemplateCommandUtil.scala index afb2c5ac7..86d63c924 100644 --- a/main/src/main/scala/sbt/TemplateCommandUtil.scala +++ b/main/src/main/scala/sbt/TemplateCommandUtil.scala @@ -279,9 +279,9 @@ private[sbt] object TemplateCommandUtil { System.err.println("Local template not found for: " + arguments.mkString(" ")) } - private final val defaultScalaV = "3.3.0" + private final val defaultScalaV = "3.3.4" private def scalaToolkitTemplate(): Unit = { - val defaultScalaToolkitV = "0.2.0" + val defaultScalaToolkitV = "0.5.0" val scalaV = ask("Scala version", defaultScalaV) val toolkitV = ask("Scala Toolkit version", defaultScalaToolkitV) val content = s""" @@ -299,7 +299,7 @@ libraryDependencies += (toolkitTest % Test) } private def typelevelToolkitTemplate(): Unit = { - val defaultTypelevelToolkitV = "0.1.3" + val defaultTypelevelToolkitV = "0.1.28" val scalaV = ask("Scala version", defaultScalaV) val toolkitV = ask("Typelevel Toolkit version", defaultTypelevelToolkitV) val content = s""" @@ -335,9 +335,9 @@ lazy val core = (projectMatrix in file("core")) IO.write(new File("build.sbt"), content) val pluginsContent = """ -addSbtPlugin("com.eed3si9n" % "sbt-projectmatrix" % "0.9.0") -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.10.1") -addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.10") +addSbtPlugin("com.eed3si9n" % "sbt-projectmatrix" % "0.10.0") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.17.0") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.5") """ IO.write(new File("project/plugins.sbt"), pluginsContent) copyResource("ScalaMain.scala.txt", new File("core/src/main/scala/example/Main.scala")) From 48ac49d4ca0c88185bb3795e80effda37350d1b0 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Sun, 6 Oct 2024 18:08:06 -0700 Subject: [PATCH 16/96] Remove compile error in GCUtil runFinalization is going to be removed --- main/src/main/scala/sbt/internal/GCUtil.scala | 8 -------- 1 file changed, 8 deletions(-) diff --git a/main/src/main/scala/sbt/internal/GCUtil.scala b/main/src/main/scala/sbt/internal/GCUtil.scala index e114c9e85..53a5c0031 100644 --- a/main/src/main/scala/sbt/internal/GCUtil.scala +++ b/main/src/main/scala/sbt/internal/GCUtil.scala @@ -36,14 +36,6 @@ private[sbt] object GCUtil { log.debug(s"Forcing garbage collection...") // Force the detection of finalizers for scala.reflect weakhashsets System.gc() - // Force finalizers to run. - try { - System.runFinalization() - } catch { - case _: NoSuchMethodError => - } - // Force actually cleaning the weak hash maps. - System.gc() } catch { case NonFatal(_) => // gotta catch em all } From 0b34b6b4065e92e3d556703ec2960070406e20fa Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Sun, 6 Oct 2024 18:18:46 -0700 Subject: [PATCH 17/96] Remove deprecated Thread.getId call --- main/src/main/scala/sbt/internal/AbstractTaskProgress.scala | 2 +- main/src/main/scala/sbt/internal/TaskTraceEvent.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/main/src/main/scala/sbt/internal/AbstractTaskProgress.scala b/main/src/main/scala/sbt/internal/AbstractTaskProgress.scala index 18e6ffe2d..aabeb8401 100644 --- a/main/src/main/scala/sbt/internal/AbstractTaskProgress.scala +++ b/main/src/main/scala/sbt/internal/AbstractTaskProgress.scala @@ -122,7 +122,7 @@ private[sbt] abstract class AbstractTaskExecuteProgress extends ExecuteProgress[ object AbstractTaskExecuteProgress { private[sbt] class Timer() { val startNanos: Long = System.nanoTime() - val threadId: Long = Thread.currentThread().getId + val threadName: String = Thread.currentThread().getName var endNanos: Long = 0L def stop(): Unit = { endNanos = System.nanoTime() diff --git a/main/src/main/scala/sbt/internal/TaskTraceEvent.scala b/main/src/main/scala/sbt/internal/TaskTraceEvent.scala index 57b2900e7..3b3131954 100644 --- a/main/src/main/scala/sbt/internal/TaskTraceEvent.scala +++ b/main/src/main/scala/sbt/internal/TaskTraceEvent.scala @@ -61,7 +61,7 @@ private[sbt] final class TaskTraceEvent def durationEvent(name: String, cat: String, t: Timer): String = { val sb = new java.lang.StringBuilder(name.length + 2) CompactPrinter.print(new JString(name), sb) - s"""{"name": ${sb.toString}, "cat": "$cat", "ph": "X", "ts": ${(t.startMicros)}, "dur": ${(t.durationMicros)}, "pid": 0, "tid": ${t.threadId}}""" + s"""{"name": ${sb.toString}, "cat": "$cat", "ph": "X", "ts": ${(t.startMicros)}, "dur": ${(t.durationMicros)}, "pid": 0, "tname": ${t.threadName}}""" } val entryIterator = currentTimings while (entryIterator.hasNext) { From 1449d84614bbdd4fa85160173aadd63fab743329 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Wed, 9 Oct 2024 10:40:21 -0700 Subject: [PATCH 18/96] Fix Dependency Graph --- .github/workflows/dependency-graph.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependency-graph.yml b/.github/workflows/dependency-graph.yml index de558d3bb..3e987d824 100644 --- a/.github/workflows/dependency-graph.yml +++ b/.github/workflows/dependency-graph.yml @@ -2,7 +2,7 @@ name: Submit Dependency Graph on: push: - branches: [1.9.x] # default branch of the project + branches: [1.10.x, develop] permissions: {} jobs: submit-graph: From 8f657cef0195e88658cca6bcf048c3e063b84cb0 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Wed, 9 Oct 2024 11:08:04 -0700 Subject: [PATCH 19/96] Fix CI --- .github/workflows/ci.yml | 2 ++ .github/workflows/dependency-graph.yml | 1 + 2 files changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7eb02e2b6..8bfc247aa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -86,6 +86,8 @@ jobs: with: distribution: "${{ matrix.distribution }}" java-version: "${{ matrix.java }}" + - name: Setup SBT + uses: sbt/setup-sbt@v1 - name: Set up Python 3.12 uses: actions/setup-python@v5 with: diff --git a/.github/workflows/dependency-graph.yml b/.github/workflows/dependency-graph.yml index 3e987d824..387a2a275 100644 --- a/.github/workflows/dependency-graph.yml +++ b/.github/workflows/dependency-graph.yml @@ -13,4 +13,5 @@ jobs: runs-on: ubuntu-latest # or windows-latest, or macOS-latest steps: - uses: actions/checkout@v4 + - uses: sbt/setup-sbt@v1 - uses: scalacenter/sbt-dependency-submission@v3 From f06b7622bebf4cbcbb03743b69d321cc43db4ff1 Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Mon, 2 Sep 2024 19:41:09 +0200 Subject: [PATCH 20/96] Scala 2.12.20 (was .19) --- .github/workflows/ci.yml | 2 +- build.sbt | 2 +- launcher-package/build.sbt | 4 ++-- main/src/main/scala/sbt/PluginCross.scala | 2 +- main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala | 2 +- project/Dependencies.scala | 2 +- sbt-app/src/sbt-test/actions/cross-advanced/build.sbt | 2 +- sbt-app/src/sbt-test/actions/cross-advanced/test | 2 +- sbt-app/src/sbt-test/actions/cross-incremental/build.sbt | 4 ++-- sbt-app/src/sbt-test/actions/cross-multi-parser/build.sbt | 2 +- sbt-app/src/sbt-test/actions/cross-multi-parser/test | 4 ++-- sbt-app/src/sbt-test/actions/cross-multiproject/build.sbt | 2 +- .../src/sbt-test/actions/cross-multiproject/ref/build.sbt | 2 +- sbt-app/src/sbt-test/actions/cross-multiproject/test | 4 ++-- .../actions/cross-strict-aggregation-scala-3/build.sbt | 6 +++--- .../src/sbt-test/actions/cross-strict-aggregation/build.sbt | 2 +- sbt-app/src/sbt-test/actions/doc-file-options/build.sbt | 2 +- sbt-app/src/sbt-test/actions/doc/build.sbt | 4 ++-- sbt-app/src/sbt-test/actions/generator/build.sbt | 2 +- sbt-app/src/sbt-test/actions/multi-command/build.sbt | 2 +- sbt-app/src/sbt-test/actions/multi-command/test | 2 +- .../src/sbt-test/actions/package-delete-target/build.sbt | 2 +- .../src/sbt-test/actions/remote-cache-semanticdb/build.sbt | 2 +- sbt-app/src/sbt-test/actions/remote-cache/build.sbt | 2 +- .../sbt-test/classloader-cache/akka-actor-system/build.sbt | 2 +- sbt-app/src/sbt-test/classloader-cache/jni/build.sbt | 2 +- .../sbt-test/classloader-cache/library-mismatch/build.sbt | 2 +- .../src/sbt-test/classloader-cache/runtime-layers/build.sbt | 2 +- sbt-app/src/sbt-test/classloader-cache/snapshot/build.sbt | 2 +- .../0.1.0-SNAPSHOT/foo-lib_2.12-0.1.0-SNAPSHOT.pom | 2 +- .../0.1.0-SNAPSHOT/foo-lib_2.12-0.1.0-SNAPSHOT.pom | 2 +- sbt-app/src/sbt-test/classloader-cache/spark/build.sbt | 2 +- sbt-app/src/sbt-test/classloader-cache/utest/build.sbt | 2 +- .../compiler-project/error-in-invalidated/build.sbt | 2 +- .../src/sbt-test/compiler-project/macro-config/build.sbt | 2 +- sbt-app/src/sbt-test/compiler-project/no-bootclasspath/test | 2 +- sbt-app/src/sbt-test/compiler-project/run-test/build.sbt | 2 +- .../compiler-project/separate-analysis-per-scala/build.sbt | 2 +- .../console/project-compiler-bridge/project/build.sbt | 2 +- .../sbt-test/dependency-graph/cachedResolution/build.sbt | 2 +- .../sbt-test/dependency-graph/ignoreScalaLibrary/build.sbt | 2 +- .../src/sbt-test/dependency-graph/toFileSubTask/build.sbt | 2 +- .../src/sbt-test/dependency-management/artifact/build.sbt | 2 +- .../dependency-management/cache-classifiers/multi.sbt | 2 +- .../cached-resolution-interproj/multi.sbt | 2 +- .../dependency-management/compiler-bridge-binary/build.sbt | 2 +- .../dependency-management/conflict-coursier/build.sbt | 2 +- .../dependency-management/ext-pom-classifier/build.sbt | 2 +- .../dependency-management/force-update-period/build.sbt | 2 +- .../sbt-test/dependency-management/global-plugins/build.sbt | 2 +- .../sbt-test/dependency-management/snapshot-local/build.sbt | 2 +- .../dependency-management/snapshot-resolution/build.sbt | 2 +- sbt-app/src/sbt-test/java/cross/build.sbt | 2 +- sbt-app/src/sbt-test/java/cross/changes/build.sbt | 2 +- sbt-app/src/sbt-test/plugins/hydra/build.sbt | 2 +- sbt-app/src/sbt-test/plugins/sbt-native-packager/build.sbt | 2 +- sbt-app/src/sbt-test/plugins/unidoc/build.sbt | 2 +- sbt-app/src/sbt-test/project/aggregate/projA/build.sbt | 2 +- .../src/sbt-test/project/cross-plugins-defaults/build.sbt | 4 ++-- sbt-app/src/sbt-test/project/flatten/build.sbt | 2 +- sbt-app/src/sbt-test/project/internal-tracking/build.sbt | 2 +- sbt-app/src/sbt-test/project/sbt-plugin/build.sbt | 2 +- .../sbt-test/project/sbt-plugin/changes/oldSbtPlugin.sbt | 2 +- sbt-app/src/sbt-test/project/semanticdb/build.sbt | 2 +- sbt-app/src/sbt-test/project/unified/build.sbt | 2 +- sbt-app/src/sbt-test/run/fork-loader/build.sbt | 2 +- sbt-app/src/sbt-test/source-dependencies/binary/build.sbt | 2 +- sbt-app/src/sbt-test/source-dependencies/constants/test | 2 +- sbt-app/src/sbt-test/source-dependencies/cross-source/test | 2 +- .../sbt-test/source-dependencies/macro-annotation/build.sbt | 2 +- .../source-dependencies/macro-arg-dep-nested/build.sbt | 2 +- .../macro-arg-dep-stackoverflow/build.sbt | 2 +- .../sbt-test/source-dependencies/macro-arg-dep/build.sbt | 2 +- sbt-app/src/sbt-test/source-dependencies/macro/build.sbt | 2 +- sbt-app/src/sbt-test/tests/arguments/build.sbt | 2 +- sbt-app/src/sbt-test/tests/do-not-discover/build.sbt | 2 +- sbt-app/src/sbt-test/tests/done/build.sbt | 2 +- sbt-app/src/sbt-test/tests/filter-runners/build.sbt | 2 +- sbt-app/src/sbt-test/tests/fork-async/build.sbt | 2 +- sbt-app/src/sbt-test/tests/fork-parallel/build.sbt | 2 +- .../tests/fork-test-group-parallel-custom-tags/build.sbt | 2 +- .../src/sbt-test/tests/fork-test-group-parallel/build.sbt | 2 +- sbt-app/src/sbt-test/tests/fork-uncaught2/build.sbt | 2 +- sbt-app/src/sbt-test/tests/fork/build.sbt | 2 +- sbt-app/src/sbt-test/tests/fork2/build.sbt | 2 +- sbt-app/src/sbt-test/tests/it/build.sbt | 2 +- sbt-app/src/sbt-test/tests/junit-xml-report/build.sbt | 2 +- sbt-app/src/sbt-test/tests/munit/build.sbt | 2 +- sbt-app/src/sbt-test/tests/nested-inproc-par/build.sbt | 2 +- sbt-app/src/sbt-test/tests/nested-inproc-seq/build.sbt | 2 +- sbt-app/src/sbt-test/tests/nested-subproc/build.sbt | 2 +- sbt-app/src/sbt-test/tests/nested-tests/build.sbt | 2 +- .../src/sbt-test/tests/one-class-multi-framework/build.sbt | 2 +- sbt-app/src/sbt-test/tests/order/build.sbt | 2 +- sbt-app/src/sbt-test/tests/resources/build.sbt | 2 +- .../src/sbt-test/tests/scala-instance-classloader/build.sbt | 2 +- sbt-app/src/sbt-test/tests/serial/build.sbt | 2 +- sbt-app/src/sbt-test/tests/setup-cleanup/base.sbt | 2 +- sbt-app/src/sbt-test/tests/single-runner/build.sbt | 2 +- sbt-app/src/sbt-test/tests/specs-run/build.sbt | 2 +- sbt-app/src/sbt-test/tests/t543/build.sbt | 2 +- sbt-app/src/sbt-test/tests/task/build.sbt | 2 +- sbt-app/src/sbt-test/tests/test-exclude/build.sbt | 2 +- sbt-app/src/sbt-test/tests/test-quick/build.sbt | 2 +- sbt-app/src/sbt-test/watch/commands/build.sbt | 2 +- server-test/src/server-test/response/build.sbt | 2 +- 106 files changed, 114 insertions(+), 114 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8bfc247aa..69530a6e2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,7 +52,7 @@ jobs: env: JAVA_OPTS: -Xms800M -Xmx2G -Xss6M -XX:ReservedCodeCacheSize=128M -server -Dsbt.io.virtual=false -Dfile.encoding=UTF-8 JVM_OPTS: -Xms800M -Xmx2G -Xss6M -XX:ReservedCodeCacheSize=128M -server -Dsbt.io.virtual=false -Dfile.encoding=UTF-8 - SCALA_212: 2.12.19 + SCALA_212: 2.12.20 SCALA_3: 3.1.0 UTIL_TESTS: "utilCache/test utilControl/test utilInterface/test utilLogging/test utilPosition/test utilRelation/test utilScripted/test utilTracking/test" SBT_LOCAL: false diff --git a/build.sbt b/build.sbt index 205f3f404..7412070a1 100644 --- a/build.sbt +++ b/build.sbt @@ -48,7 +48,7 @@ ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" Global / semanticdbEnabled := !(Global / insideCI).value // Change main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala too, if you change this. -Global / semanticdbVersion := "4.7.8" +Global / semanticdbVersion := "4.9.9" val excludeLint = SettingKey[Set[Def.KeyedInitialize[_]]]("excludeLintKeys") Global / excludeLint := (Global / excludeLint).?.value.getOrElse(Set.empty) Global / excludeLint += componentID diff --git a/launcher-package/build.sbt b/launcher-package/build.sbt index 436ab3c48..88a5f6b11 100755 --- a/launcher-package/build.sbt +++ b/launcher-package/build.sbt @@ -26,7 +26,7 @@ lazy val sbtVersionToRelease = sys.props.getOrElse("sbt.build.version", sys.env. })) lazy val scala210 = "2.10.7" -lazy val scala212 = "2.12.19" +lazy val scala212 = "2.12.20" lazy val scala210Jline = "org.scala-lang" % "jline" % scala210 lazy val jansi = { if (sbtVersionToRelease startsWith "1.") "org.fusesource.jansi" % "jansi" % "1.12" @@ -34,7 +34,7 @@ lazy val jansi = { } lazy val scala212Compiler = "org.scala-lang" % "scala-compiler" % scala212 lazy val scala212Jline = "jline" % "jline" % "2.14.6" -// use the scala-xml version used by the compiler not the latest: https://github.com/scala/scala/blob/v2.12.19/versions.properties +// use the scala-xml version used by the compiler not the latest: https://github.com/scala/scala/blob/v2.12.20/versions.properties lazy val scala212Xml = "org.scala-lang.modules" % "scala-xml_2.12" % "2.2.0" lazy val sbtActual = "org.scala-sbt" % "sbt" % sbtVersionToRelease diff --git a/main/src/main/scala/sbt/PluginCross.scala b/main/src/main/scala/sbt/PluginCross.scala index 823db18c7..6ce9bc5c5 100644 --- a/main/src/main/scala/sbt/PluginCross.scala +++ b/main/src/main/scala/sbt/PluginCross.scala @@ -100,7 +100,7 @@ private[sbt] object PluginCross { VersionNumber(sv) match { case VersionNumber(Seq(0, 12, _*), _, _) => "2.9.2" case VersionNumber(Seq(0, 13, _*), _, _) => "2.10.7" - case VersionNumber(Seq(1, 0, _*), _, _) => "2.12.19" + case VersionNumber(Seq(1, 0, _*), _, _) => "2.12.20" case _ => sys.error(s"Unsupported sbt binary version: $sv") } } diff --git a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala index 5d603bc11..46a018397 100644 --- a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala +++ b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala @@ -27,7 +27,7 @@ object SemanticdbPlugin extends AutoPlugin { semanticdbEnabled := SysProp.semanticdb, semanticdbIncludeInJar := false, semanticdbOptions := List(), - semanticdbVersion := "4.7.8" + semanticdbVersion := "4.9.9" ) override lazy val projectSettings: Seq[Def.Setting[_]] = Seq( diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 35b6964a5..114931b09 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -4,7 +4,7 @@ import sbt.contraband.ContrabandPlugin.autoImport._ object Dependencies { // WARNING: Please Scala update versions in PluginCross.scala too - val scala212 = "2.12.19" + val scala212 = "2.12.20" val scala213 = "2.13.14" val checkPluginCross = settingKey[Unit]("Make sure scalaVersion match up") val baseScalaVersion = scala212 diff --git a/sbt-app/src/sbt-test/actions/cross-advanced/build.sbt b/sbt-app/src/sbt-test/actions/cross-advanced/build.sbt index 698d3d3e7..703f9b26a 100644 --- a/sbt-app/src/sbt-test/actions/cross-advanced/build.sbt +++ b/sbt-app/src/sbt-test/actions/cross-advanced/build.sbt @@ -1,6 +1,6 @@ lazy val check = taskKey[Unit]("") lazy val compile2 = taskKey[Unit]("") -lazy val scala212 = "2.12.19" +lazy val scala212 = "2.12.20" lazy val scala213 = "2.13.12" lazy val root = (project in file(".")) diff --git a/sbt-app/src/sbt-test/actions/cross-advanced/test b/sbt-app/src/sbt-test/actions/cross-advanced/test index 918b69731..47912f43c 100644 --- a/sbt-app/src/sbt-test/actions/cross-advanced/test +++ b/sbt-app/src/sbt-test/actions/cross-advanced/test @@ -17,7 +17,7 @@ ## test + with command or alias > clean ## for command cross building you do need crossScalaVerions on root -> set root/crossScalaVersions := Seq("2.12.19", "2.13.12") +> set root/crossScalaVersions := Seq("2.12.20", "2.13.12") > + build $ exists foo/target/scala-2.12 $ exists foo/target/scala-2.13 diff --git a/sbt-app/src/sbt-test/actions/cross-incremental/build.sbt b/sbt-app/src/sbt-test/actions/cross-incremental/build.sbt index 751353326..79b7bdf27 100644 --- a/sbt-app/src/sbt-test/actions/cross-incremental/build.sbt +++ b/sbt-app/src/sbt-test/actions/cross-incremental/build.sbt @@ -1,5 +1,5 @@ -scalaVersion := "2.12.19" -crossScalaVersions := List("2.12.19", "2.13.12") +scalaVersion := "2.12.20" +crossScalaVersions := List("2.12.20", "2.13.12") val setLastModified = taskKey[Unit]("Sets the last modified time for classfiles") setLastModified := { diff --git a/sbt-app/src/sbt-test/actions/cross-multi-parser/build.sbt b/sbt-app/src/sbt-test/actions/cross-multi-parser/build.sbt index bc2b10efb..bb4a1ec0e 100644 --- a/sbt-app/src/sbt-test/actions/cross-multi-parser/build.sbt +++ b/sbt-app/src/sbt-test/actions/cross-multi-parser/build.sbt @@ -1 +1 @@ -crossScalaVersions := Seq[String]("2.11.12", "2.12.19") +crossScalaVersions := Seq[String]("2.11.12", "2.12.20") diff --git a/sbt-app/src/sbt-test/actions/cross-multi-parser/test b/sbt-app/src/sbt-test/actions/cross-multi-parser/test index b2666730a..005518291 100644 --- a/sbt-app/src/sbt-test/actions/cross-multi-parser/test +++ b/sbt-app/src/sbt-test/actions/cross-multi-parser/test @@ -1,5 +1,5 @@ > ++2.11.12; compile -> ++ 2.12.19 ; compile; +> ++ 2.12.20 ; compile; -> ++ 2.12.19 ; compile +> ++ 2.12.20 ; compile diff --git a/sbt-app/src/sbt-test/actions/cross-multiproject/build.sbt b/sbt-app/src/sbt-test/actions/cross-multiproject/build.sbt index 9cdaec371..4f2d58d77 100644 --- a/sbt-app/src/sbt-test/actions/cross-multiproject/build.sbt +++ b/sbt-app/src/sbt-test/actions/cross-multiproject/build.sbt @@ -1,4 +1,4 @@ -lazy val scala212 = "2.12.19" +lazy val scala212 = "2.12.20" lazy val scala213 = "2.13.12" ThisBuild / crossScalaVersions := Seq(scala212, scala213) diff --git a/sbt-app/src/sbt-test/actions/cross-multiproject/ref/build.sbt b/sbt-app/src/sbt-test/actions/cross-multiproject/ref/build.sbt index 6fdb53f78..32936b7d0 100644 --- a/sbt-app/src/sbt-test/actions/cross-multiproject/ref/build.sbt +++ b/sbt-app/src/sbt-test/actions/cross-multiproject/ref/build.sbt @@ -1,4 +1,4 @@ lazy val external = (project in file(".")) .settings( - scalaVersion := "2.12.19" + scalaVersion := "2.12.20" ) diff --git a/sbt-app/src/sbt-test/actions/cross-multiproject/test b/sbt-app/src/sbt-test/actions/cross-multiproject/test index 2cb5f058e..bef1a492f 100644 --- a/sbt-app/src/sbt-test/actions/cross-multiproject/test +++ b/sbt-app/src/sbt-test/actions/cross-multiproject/test @@ -13,7 +13,7 @@ $ exists lib/target/scala-2.13 # test safe switching > clean -> ++ 2.12.19 -v compile +> ++ 2.12.20 -v compile $ exists lib/target/scala-2.12 -$ exists lib/target/scala-2.13 $ exists sbt-foo/target/scala-2.12 @@ -31,7 +31,7 @@ $ exists ref/target/scala-2.12 # Test ++ leaves crossScalaVersions unchanged > clean -> ++2.12.19 +> ++2.12.20 > +extrasProj/compile $ exists extras/target/scala-2.13 $ exists extras/target/scala-2.12 diff --git a/sbt-app/src/sbt-test/actions/cross-strict-aggregation-scala-3/build.sbt b/sbt-app/src/sbt-test/actions/cross-strict-aggregation-scala-3/build.sbt index 38a5a26fe..919caa213 100644 --- a/sbt-app/src/sbt-test/actions/cross-strict-aggregation-scala-3/build.sbt +++ b/sbt-app/src/sbt-test/actions/cross-strict-aggregation-scala-3/build.sbt @@ -1,14 +1,14 @@ -scalaVersion := "2.12.19" +scalaVersion := "2.12.20" lazy val core = project .settings( - crossScalaVersions := Seq("2.12.19", "3.0.2", "3.1.2") + crossScalaVersions := Seq("2.12.20", "3.0.2", "3.1.2") ) lazy val subproj = project .dependsOn(core) .settings( - crossScalaVersions := Seq("2.12.19", "3.1.2"), + crossScalaVersions := Seq("2.12.20", "3.1.2"), // a random library compiled against Scala 3.1 libraryDependencies += "org.http4s" %% "http4s-core" % "0.23.12" ) diff --git a/sbt-app/src/sbt-test/actions/cross-strict-aggregation/build.sbt b/sbt-app/src/sbt-test/actions/cross-strict-aggregation/build.sbt index 68540aadb..d5b43e321 100644 --- a/sbt-app/src/sbt-test/actions/cross-strict-aggregation/build.sbt +++ b/sbt-app/src/sbt-test/actions/cross-strict-aggregation/build.sbt @@ -1,4 +1,4 @@ -lazy val scala212 = "2.12.19" +lazy val scala212 = "2.12.20" lazy val scala213 = "2.13.12" ThisBuild / scalaVersion := scala212 diff --git a/sbt-app/src/sbt-test/actions/doc-file-options/build.sbt b/sbt-app/src/sbt-test/actions/doc-file-options/build.sbt index 315d77d22..a8b68c48a 100644 --- a/sbt-app/src/sbt-test/actions/doc-file-options/build.sbt +++ b/sbt-app/src/sbt-test/actions/doc-file-options/build.sbt @@ -2,7 +2,7 @@ val newContents = "bbbbbbbbb" val rootContentFile = "root.txt" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")) .settings( diff --git a/sbt-app/src/sbt-test/actions/doc/build.sbt b/sbt-app/src/sbt-test/actions/doc/build.sbt index c74f66a3e..da46ccd46 100644 --- a/sbt-app/src/sbt-test/actions/doc/build.sbt +++ b/sbt-app/src/sbt-test/actions/doc/build.sbt @@ -5,8 +5,8 @@ import Parsers._ lazy val root = (project in file(".")) .settings( crossPaths := false, - crossScalaVersions := Seq("2.12.19", "2.13.12"), - scalaVersion := "2.12.19", + crossScalaVersions := Seq("2.12.20", "2.13.12"), + scalaVersion := "2.12.20", Compile / doc / scalacOptions += "-Xfatal-warnings", commands += Command.command("excludeB") { s => val impl = """val src = (sources in Compile).value; src.filterNot(_.getName.contains("B"))""" diff --git a/sbt-app/src/sbt-test/actions/generator/build.sbt b/sbt-app/src/sbt-test/actions/generator/build.sbt index 3fdd6bf4f..3537ae7b0 100644 --- a/sbt-app/src/sbt-test/actions/generator/build.sbt +++ b/sbt-app/src/sbt-test/actions/generator/build.sbt @@ -1,6 +1,6 @@ val buildInfo = taskKey[Seq[File]]("generates the build info") -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")) .settings( diff --git a/sbt-app/src/sbt-test/actions/multi-command/build.sbt b/sbt-app/src/sbt-test/actions/multi-command/build.sbt index 6853cdcfa..606ba1657 100644 --- a/sbt-app/src/sbt-test/actions/multi-command/build.sbt +++ b/sbt-app/src/sbt-test/actions/multi-command/build.sbt @@ -19,4 +19,4 @@ val dynamicTask = taskKey[Unit]("dynamic input task") dynamicTask := { println("not yet et") } -crossScalaVersions := "2.11.12" :: "2.12.19" :: Nil +crossScalaVersions := "2.11.12" :: "2.12.20" :: Nil diff --git a/sbt-app/src/sbt-test/actions/multi-command/test b/sbt-app/src/sbt-test/actions/multi-command/test index 455953b6a..323702a6d 100644 --- a/sbt-app/src/sbt-test/actions/multi-command/test +++ b/sbt-app/src/sbt-test/actions/multi-command/test @@ -37,4 +37,4 @@ > ++ 2.11.12 compile; setStringValue bar; checkStringValue bar -> ++2.12.19 compile; setStringValue foo; checkStringValue foo +> ++2.12.20 compile; setStringValue foo; checkStringValue foo diff --git a/sbt-app/src/sbt-test/actions/package-delete-target/build.sbt b/sbt-app/src/sbt-test/actions/package-delete-target/build.sbt index b238d3d93..01163a404 100644 --- a/sbt-app/src/sbt-test/actions/package-delete-target/build.sbt +++ b/sbt-app/src/sbt-test/actions/package-delete-target/build.sbt @@ -1,5 +1,5 @@ lazy val root = (project in file(".")) .settings( name := "delete-target", - scalaVersion := "2.12.19" + scalaVersion := "2.12.20" ) diff --git a/sbt-app/src/sbt-test/actions/remote-cache-semanticdb/build.sbt b/sbt-app/src/sbt-test/actions/remote-cache-semanticdb/build.sbt index fa9f2fbd7..3153cb66d 100644 --- a/sbt-app/src/sbt-test/actions/remote-cache-semanticdb/build.sbt +++ b/sbt-app/src/sbt-test/actions/remote-cache-semanticdb/build.sbt @@ -1,6 +1,6 @@ name := "my-project" -scalaVersion := "2.12.19" +scalaVersion := "2.12.20" semanticdbIncludeInJar := true diff --git a/sbt-app/src/sbt-test/actions/remote-cache/build.sbt b/sbt-app/src/sbt-test/actions/remote-cache/build.sbt index 2fdefcafc..e99d9a854 100644 --- a/sbt-app/src/sbt-test/actions/remote-cache/build.sbt +++ b/sbt-app/src/sbt-test/actions/remote-cache/build.sbt @@ -8,7 +8,7 @@ lazy val CustomArtifact = config("custom-artifact") val recordPreviousIterations = taskKey[Unit]("Record previous iterations.") val checkIterations = inputKey[Unit]("Verifies the accumulated number of iterations of incremental compilation.") -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" ThisBuild / pushRemoteCacheTo := Some( MavenCache("local-cache", (ThisBuild / baseDirectory).value / "r") ) diff --git a/sbt-app/src/sbt-test/classloader-cache/akka-actor-system/build.sbt b/sbt-app/src/sbt-test/classloader-cache/akka-actor-system/build.sbt index b89e34a3f..f2309bb9b 100644 --- a/sbt-app/src/sbt-test/classloader-cache/akka-actor-system/build.sbt +++ b/sbt-app/src/sbt-test/classloader-cache/akka-actor-system/build.sbt @@ -2,7 +2,7 @@ ThisBuild / turbo := true val akkaTest = (project in file(".")).settings( name := "akka-test", - scalaVersion := "2.12.19", + scalaVersion := "2.12.20", libraryDependencies ++= Seq( "com.typesafe.akka" %% "akka-actor" % "2.5.16", "com.lihaoyi" %% "utest" % "0.6.6" % "test" diff --git a/sbt-app/src/sbt-test/classloader-cache/jni/build.sbt b/sbt-app/src/sbt-test/classloader-cache/jni/build.sbt index c4c6ce999..abbc5b082 100644 --- a/sbt-app/src/sbt-test/classloader-cache/jni/build.sbt +++ b/sbt-app/src/sbt-test/classloader-cache/jni/build.sbt @@ -13,7 +13,7 @@ def wrap(task: InputKey[Unit]): Def.Initialize[Task[Unit]] = ThisBuild / turbo := true val root = (project in file(".")).settings( - scalaVersion := "2.12.19", + scalaVersion := "2.12.20", javacOptions ++= Seq("-source", "1.8", "-target", "1.8", "-h", sourceDirectory.value.toPath.resolve("main/native/include").toString), libraryDependencies += "com.lihaoyi" %% "utest" % "0.6.6" % "test", diff --git a/sbt-app/src/sbt-test/classloader-cache/library-mismatch/build.sbt b/sbt-app/src/sbt-test/classloader-cache/library-mismatch/build.sbt index dec40d399..fb6fcaac0 100644 --- a/sbt-app/src/sbt-test/classloader-cache/library-mismatch/build.sbt +++ b/sbt-app/src/sbt-test/classloader-cache/library-mismatch/build.sbt @@ -2,7 +2,7 @@ ThisBuild / turbo := true val snapshot = (project in file(".")).settings( name := "mismatched-libraries", - scalaVersion := "2.12.19", + scalaVersion := "2.12.20", libraryDependencies ++= Seq("com.lihaoyi" %% "utest" % "0.6.6" % "test"), testFrameworks := Seq(TestFramework("utest.runner.Framework")), resolvers += "Local Maven" at file("libraries/ivy").toURI.toURL.toString, diff --git a/sbt-app/src/sbt-test/classloader-cache/runtime-layers/build.sbt b/sbt-app/src/sbt-test/classloader-cache/runtime-layers/build.sbt index d029cd576..215014a80 100644 --- a/sbt-app/src/sbt-test/classloader-cache/runtime-layers/build.sbt +++ b/sbt-app/src/sbt-test/classloader-cache/runtime-layers/build.sbt @@ -1,6 +1,6 @@ val layeringStrategyTest = (project in file(".")).settings( name := "layering-strategy-test", - scalaVersion := "2.12.19", + scalaVersion := "2.12.20", organization := "sbt", libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.5.16", ) diff --git a/sbt-app/src/sbt-test/classloader-cache/snapshot/build.sbt b/sbt-app/src/sbt-test/classloader-cache/snapshot/build.sbt index 2cd09fae6..3087df245 100644 --- a/sbt-app/src/sbt-test/classloader-cache/snapshot/build.sbt +++ b/sbt-app/src/sbt-test/classloader-cache/snapshot/build.sbt @@ -9,7 +9,7 @@ ThisBuild / useCoursier := false val snapshot = (project in file(".")).settings( name := "akka-test", - scalaVersion := "2.12.19", + scalaVersion := "2.12.20", libraryDependencies ++= Seq( "com.lihaoyi" %% "utest" % "0.6.6" % "test" ), diff --git a/sbt-app/src/sbt-test/classloader-cache/snapshot/libraries/library-1/ivy/sbt/foo-lib_2.12/0.1.0-SNAPSHOT/foo-lib_2.12-0.1.0-SNAPSHOT.pom b/sbt-app/src/sbt-test/classloader-cache/snapshot/libraries/library-1/ivy/sbt/foo-lib_2.12/0.1.0-SNAPSHOT/foo-lib_2.12-0.1.0-SNAPSHOT.pom index 233c03dbe..f358077c9 100644 --- a/sbt-app/src/sbt-test/classloader-cache/snapshot/libraries/library-1/ivy/sbt/foo-lib_2.12/0.1.0-SNAPSHOT/foo-lib_2.12-0.1.0-SNAPSHOT.pom +++ b/sbt-app/src/sbt-test/classloader-cache/snapshot/libraries/library-1/ivy/sbt/foo-lib_2.12/0.1.0-SNAPSHOT/foo-lib_2.12-0.1.0-SNAPSHOT.pom @@ -14,7 +14,7 @@ org.scala-lang scala-library - 2.12.19 + 2.12.20 diff --git a/sbt-app/src/sbt-test/classloader-cache/snapshot/libraries/library-2/ivy/sbt/foo-lib_2.12/0.1.0-SNAPSHOT/foo-lib_2.12-0.1.0-SNAPSHOT.pom b/sbt-app/src/sbt-test/classloader-cache/snapshot/libraries/library-2/ivy/sbt/foo-lib_2.12/0.1.0-SNAPSHOT/foo-lib_2.12-0.1.0-SNAPSHOT.pom index 233c03dbe..f358077c9 100644 --- a/sbt-app/src/sbt-test/classloader-cache/snapshot/libraries/library-2/ivy/sbt/foo-lib_2.12/0.1.0-SNAPSHOT/foo-lib_2.12-0.1.0-SNAPSHOT.pom +++ b/sbt-app/src/sbt-test/classloader-cache/snapshot/libraries/library-2/ivy/sbt/foo-lib_2.12/0.1.0-SNAPSHOT/foo-lib_2.12-0.1.0-SNAPSHOT.pom @@ -14,7 +14,7 @@ org.scala-lang scala-library - 2.12.19 + 2.12.20 diff --git a/sbt-app/src/sbt-test/classloader-cache/spark/build.sbt b/sbt-app/src/sbt-test/classloader-cache/spark/build.sbt index 43b6315d5..b105446d8 100644 --- a/sbt-app/src/sbt-test/classloader-cache/spark/build.sbt +++ b/sbt-app/src/sbt-test/classloader-cache/spark/build.sbt @@ -2,7 +2,7 @@ name := "Simple Project" version := "1.0" -scalaVersion := "2.12.19" +scalaVersion := "2.12.20" libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.4.3" diff --git a/sbt-app/src/sbt-test/classloader-cache/utest/build.sbt b/sbt-app/src/sbt-test/classloader-cache/utest/build.sbt index e504b97a7..369160320 100644 --- a/sbt-app/src/sbt-test/classloader-cache/utest/build.sbt +++ b/sbt-app/src/sbt-test/classloader-cache/utest/build.sbt @@ -2,7 +2,7 @@ ThisBuild / turbo := true val utestTest = (project in file(".")).settings( name := "utest-test", - scalaVersion := "2.12.19", + scalaVersion := "2.12.20", libraryDependencies ++= Seq( "com.lihaoyi" %% "utest" % "0.6.6" % "test" ), diff --git a/sbt-app/src/sbt-test/compiler-project/error-in-invalidated/build.sbt b/sbt-app/src/sbt-test/compiler-project/error-in-invalidated/build.sbt index ba36bc767..442a697f7 100644 --- a/sbt-app/src/sbt-test/compiler-project/error-in-invalidated/build.sbt +++ b/sbt-app/src/sbt-test/compiler-project/error-in-invalidated/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")). settings( diff --git a/sbt-app/src/sbt-test/compiler-project/macro-config/build.sbt b/sbt-app/src/sbt-test/compiler-project/macro-config/build.sbt index f6c50838c..114444c6f 100644 --- a/sbt-app/src/sbt-test/compiler-project/macro-config/build.sbt +++ b/sbt-app/src/sbt-test/compiler-project/macro-config/build.sbt @@ -5,7 +5,7 @@ val Macro = config("macro").hide.extend(Compile) lazy val root = (project in file(".")) .settings( - scalaVersion := "2.12.19", + scalaVersion := "2.12.20", // Adds a "macro" configuration for macro dependencies. ivyConfigurations.value += Macro, diff --git a/sbt-app/src/sbt-test/compiler-project/no-bootclasspath/test b/sbt-app/src/sbt-test/compiler-project/no-bootclasspath/test index a62a34698..59b1e34b3 100644 --- a/sbt-app/src/sbt-test/compiler-project/no-bootclasspath/test +++ b/sbt-app/src/sbt-test/compiler-project/no-bootclasspath/test @@ -1,4 +1,4 @@ > set scalaVersion := "2.13.12" > check213 -> set scalaVersion := "2.12.18" +> set scalaVersion := "2.12.20" > check212 diff --git a/sbt-app/src/sbt-test/compiler-project/run-test/build.sbt b/sbt-app/src/sbt-test/compiler-project/run-test/build.sbt index b13d3908c..60bfe1f86 100644 --- a/sbt-app/src/sbt-test/compiler-project/run-test/build.sbt +++ b/sbt-app/src/sbt-test/compiler-project/run-test/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" libraryDependencies ++= Seq( "com.novocode" % "junit-interface" % "0.5" % Test, diff --git a/sbt-app/src/sbt-test/compiler-project/separate-analysis-per-scala/build.sbt b/sbt-app/src/sbt-test/compiler-project/separate-analysis-per-scala/build.sbt index 5b50dc390..bab8177e6 100644 --- a/sbt-app/src/sbt-test/compiler-project/separate-analysis-per-scala/build.sbt +++ b/sbt-app/src/sbt-test/compiler-project/separate-analysis-per-scala/build.sbt @@ -1,4 +1,4 @@ -lazy val scala212 = "2.12.19" +lazy val scala212 = "2.12.20" lazy val scala213 = "2.13.12" ThisBuild / scalaVersion := scala212 diff --git a/sbt-app/src/sbt-test/console/project-compiler-bridge/project/build.sbt b/sbt-app/src/sbt-test/console/project-compiler-bridge/project/build.sbt index 8f5047976..76f36acc2 100644 --- a/sbt-app/src/sbt-test/console/project-compiler-bridge/project/build.sbt +++ b/sbt-app/src/sbt-test/console/project-compiler-bridge/project/build.sbt @@ -1 +1 @@ -scalaVersion := "2.12.19" +scalaVersion := "2.12.20" diff --git a/sbt-app/src/sbt-test/dependency-graph/cachedResolution/build.sbt b/sbt-app/src/sbt-test/dependency-graph/cachedResolution/build.sbt index 29548c20e..4ecda4a16 100644 --- a/sbt-app/src/sbt-test/dependency-graph/cachedResolution/build.sbt +++ b/sbt-app/src/sbt-test/dependency-graph/cachedResolution/build.sbt @@ -1,4 +1,4 @@ -scalaVersion := "2.12.19" +scalaVersion := "2.12.20" libraryDependencies += "org.slf4j" % "slf4j-api" % "1.7.28" updateOptions := updateOptions.value.withCachedResolution(true) diff --git a/sbt-app/src/sbt-test/dependency-graph/ignoreScalaLibrary/build.sbt b/sbt-app/src/sbt-test/dependency-graph/ignoreScalaLibrary/build.sbt index bc11b4a40..4593aca81 100644 --- a/sbt-app/src/sbt-test/dependency-graph/ignoreScalaLibrary/build.sbt +++ b/sbt-app/src/sbt-test/dependency-graph/ignoreScalaLibrary/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" libraryDependencies ++= Seq( "org.slf4j" % "slf4j-api" % "1.7.2", diff --git a/sbt-app/src/sbt-test/dependency-graph/toFileSubTask/build.sbt b/sbt-app/src/sbt-test/dependency-graph/toFileSubTask/build.sbt index cfb295484..66a6c1bff 100644 --- a/sbt-app/src/sbt-test/dependency-graph/toFileSubTask/build.sbt +++ b/sbt-app/src/sbt-test/dependency-graph/toFileSubTask/build.sbt @@ -1,5 +1,5 @@ // ThisBuild / useCoursier := false -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" ThisBuild / organization := "org.example" ThisBuild / version := "0.1" diff --git a/sbt-app/src/sbt-test/dependency-management/artifact/build.sbt b/sbt-app/src/sbt-test/dependency-management/artifact/build.sbt index c4493475e..077b2a06b 100644 --- a/sbt-app/src/sbt-test/dependency-management/artifact/build.sbt +++ b/sbt-app/src/sbt-test/dependency-management/artifact/build.sbt @@ -6,7 +6,7 @@ lazy val check = taskKey[Unit]("") lazy val checkArtifact = taskKey[Unit]("") ThisBuild / useCoursier := false -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" ThisBuild / version := "0.1.0-SNAPSHOT" ThisBuild / organization := "com.example" ThisBuild / organizationName := "example" diff --git a/sbt-app/src/sbt-test/dependency-management/cache-classifiers/multi.sbt b/sbt-app/src/sbt-test/dependency-management/cache-classifiers/multi.sbt index 2caee109a..f84a40e2b 100644 --- a/sbt-app/src/sbt-test/dependency-management/cache-classifiers/multi.sbt +++ b/sbt-app/src/sbt-test/dependency-management/cache-classifiers/multi.sbt @@ -1,6 +1,6 @@ import xsbti.AppConfiguration -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" // TTL of Coursier is 24h ThisBuild / useCoursier := false diff --git a/sbt-app/src/sbt-test/dependency-management/cached-resolution-interproj/multi.sbt b/sbt-app/src/sbt-test/dependency-management/cached-resolution-interproj/multi.sbt index b6d099632..2ea6028a3 100644 --- a/sbt-app/src/sbt-test/dependency-management/cached-resolution-interproj/multi.sbt +++ b/sbt-app/src/sbt-test/dependency-management/cached-resolution-interproj/multi.sbt @@ -3,7 +3,7 @@ lazy val check = taskKey[Unit]("Runs the check") val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" val junit = "junit" % "junit" % "4.13.1" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" ThisBuild / csrCacheDirectory := (ThisBuild / baseDirectory).value / "coursier-cache" def commonSettings: Seq[Def.Setting[_]] = diff --git a/sbt-app/src/sbt-test/dependency-management/compiler-bridge-binary/build.sbt b/sbt-app/src/sbt-test/dependency-management/compiler-bridge-binary/build.sbt index 59aad4118..f9cf8fddd 100644 --- a/sbt-app/src/sbt-test/dependency-management/compiler-bridge-binary/build.sbt +++ b/sbt-app/src/sbt-test/dependency-management/compiler-bridge-binary/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val check = taskKey[Unit]("") diff --git a/sbt-app/src/sbt-test/dependency-management/conflict-coursier/build.sbt b/sbt-app/src/sbt-test/dependency-management/conflict-coursier/build.sbt index 436ed6e36..19d25ed0b 100644 --- a/sbt-app/src/sbt-test/dependency-management/conflict-coursier/build.sbt +++ b/sbt-app/src/sbt-test/dependency-management/conflict-coursier/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" libraryDependencies ++= List( "org.webjars.npm" % "randomatic" % "1.1.7", "org.webjars.npm" % "is-odd" % "2.0.0", diff --git a/sbt-app/src/sbt-test/dependency-management/ext-pom-classifier/build.sbt b/sbt-app/src/sbt-test/dependency-management/ext-pom-classifier/build.sbt index 00bb5f7d5..9ac56bac5 100644 --- a/sbt-app/src/sbt-test/dependency-management/ext-pom-classifier/build.sbt +++ b/sbt-app/src/sbt-test/dependency-management/ext-pom-classifier/build.sbt @@ -2,6 +2,6 @@ ThisBuild / useCoursier := false lazy val root = (project in file(".")) .settings( - scalaVersion := "2.12.19", + scalaVersion := "2.12.20", externalPom() ) diff --git a/sbt-app/src/sbt-test/dependency-management/force-update-period/build.sbt b/sbt-app/src/sbt-test/dependency-management/force-update-period/build.sbt index 23d58d7d1..a6a466465 100644 --- a/sbt-app/src/sbt-test/dependency-management/force-update-period/build.sbt +++ b/sbt-app/src/sbt-test/dependency-management/force-update-period/build.sbt @@ -1,7 +1,7 @@ ThisBuild / useCoursier := false name := "force-update-period" -scalaVersion := "2.12.18" +scalaVersion := "2.12.20" libraryDependencies += "log4j" % "log4j" % "1.2.16" % "compile" autoScalaLibrary := false diff --git a/sbt-app/src/sbt-test/dependency-management/global-plugins/build.sbt b/sbt-app/src/sbt-test/dependency-management/global-plugins/build.sbt index 8f5047976..76f36acc2 100644 --- a/sbt-app/src/sbt-test/dependency-management/global-plugins/build.sbt +++ b/sbt-app/src/sbt-test/dependency-management/global-plugins/build.sbt @@ -1 +1 @@ -scalaVersion := "2.12.19" +scalaVersion := "2.12.20" diff --git a/sbt-app/src/sbt-test/dependency-management/snapshot-local/build.sbt b/sbt-app/src/sbt-test/dependency-management/snapshot-local/build.sbt index 5b887b7d6..15ac28821 100644 --- a/sbt-app/src/sbt-test/dependency-management/snapshot-local/build.sbt +++ b/sbt-app/src/sbt-test/dependency-management/snapshot-local/build.sbt @@ -1,5 +1,5 @@ ThisBuild / organization := "com.example" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" ThisBuild / csrCacheDirectory := (ThisBuild / baseDirectory).value / "coursier-cache" def customIvyPaths: Seq[Def.Setting[_]] = Seq( diff --git a/sbt-app/src/sbt-test/dependency-management/snapshot-resolution/build.sbt b/sbt-app/src/sbt-test/dependency-management/snapshot-resolution/build.sbt index 4373ff66d..a129fcdf3 100644 --- a/sbt-app/src/sbt-test/dependency-management/snapshot-resolution/build.sbt +++ b/sbt-app/src/sbt-test/dependency-management/snapshot-resolution/build.sbt @@ -1,5 +1,5 @@ ThisBuild / organization := "com.example" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" // TTL is 24h so we can't detect the change ThisBuild / useCoursier := false diff --git a/sbt-app/src/sbt-test/java/cross/build.sbt b/sbt-app/src/sbt-test/java/cross/build.sbt index b5f39d15e..cbb55bd7d 100644 --- a/sbt-app/src/sbt-test/java/cross/build.sbt +++ b/sbt-app/src/sbt-test/java/cross/build.sbt @@ -4,7 +4,7 @@ val check = inputKey[Unit]("Runs the check") lazy val root = (project in file(".")) .settings( - ThisBuild / scalaVersion := "2.12.19", + ThisBuild / scalaVersion := "2.12.20", crossJavaVersions := List("1.8"), // read out.txt and see if it starts with the passed in number diff --git a/sbt-app/src/sbt-test/java/cross/changes/build.sbt b/sbt-app/src/sbt-test/java/cross/changes/build.sbt index 9facfdb8d..2d09de654 100644 --- a/sbt-app/src/sbt-test/java/cross/changes/build.sbt +++ b/sbt-app/src/sbt-test/java/cross/changes/build.sbt @@ -4,7 +4,7 @@ val check = inputKey[Unit]("Runs the check") lazy val root = (project in file(".")) .settings( - ThisBuild / scalaVersion := "2.12.19", + ThisBuild / scalaVersion := "2.12.20", crossJavaVersions := List("1.8", "10"), // read out.txt and see if it starts with the passed in number diff --git a/sbt-app/src/sbt-test/plugins/hydra/build.sbt b/sbt-app/src/sbt-test/plugins/hydra/build.sbt index efc3b0a27..9ee405caa 100644 --- a/sbt-app/src/sbt-test/plugins/hydra/build.sbt +++ b/sbt-app/src/sbt-test/plugins/hydra/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val check = taskKey[Unit]("") diff --git a/sbt-app/src/sbt-test/plugins/sbt-native-packager/build.sbt b/sbt-app/src/sbt-test/plugins/sbt-native-packager/build.sbt index 202a48a91..7783ed396 100644 --- a/sbt-app/src/sbt-test/plugins/sbt-native-packager/build.sbt +++ b/sbt-app/src/sbt-test/plugins/sbt-native-packager/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" name := "hello" enablePlugins(JavaAppPackaging) diff --git a/sbt-app/src/sbt-test/plugins/unidoc/build.sbt b/sbt-app/src/sbt-test/plugins/unidoc/build.sbt index 2abb1992d..afa976179 100644 --- a/sbt-app/src/sbt-test/plugins/unidoc/build.sbt +++ b/sbt-app/src/sbt-test/plugins/unidoc/build.sbt @@ -1,4 +1,4 @@ -scalaVersion := "2.12.19" +scalaVersion := "2.12.20" scalacOptions += "-Xfatal-warnings" // required for the test enablePlugins(ScalaUnidocPlugin) diff --git a/sbt-app/src/sbt-test/project/aggregate/projA/build.sbt b/sbt-app/src/sbt-test/project/aggregate/projA/build.sbt index b12345076..af30eb1d0 100644 --- a/sbt-app/src/sbt-test/project/aggregate/projA/build.sbt +++ b/sbt-app/src/sbt-test/project/aggregate/projA/build.sbt @@ -1,3 +1,3 @@ name := "projA" -scalaVersion := "2.12.19" +scalaVersion := "2.12.20" diff --git a/sbt-app/src/sbt-test/project/cross-plugins-defaults/build.sbt b/sbt-app/src/sbt-test/project/cross-plugins-defaults/build.sbt index 9ea6db60d..d0b8f1912 100644 --- a/sbt-app/src/sbt-test/project/cross-plugins-defaults/build.sbt +++ b/sbt-app/src/sbt-test/project/cross-plugins-defaults/build.sbt @@ -1,7 +1,7 @@ val baseSbt = "1." -val buildCrossList = List("2.10.7", "2.11.12", "2.12.19") -scalaVersion in ThisBuild := "2.12.19" +val buildCrossList = List("2.10.7", "2.11.12", "2.12.20") +scalaVersion in ThisBuild := "2.12.20" crossScalaVersions in ThisBuild := buildCrossList addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.7.0") diff --git a/sbt-app/src/sbt-test/project/flatten/build.sbt b/sbt-app/src/sbt-test/project/flatten/build.sbt index 8f8e73e64..518c06e19 100644 --- a/sbt-app/src/sbt-test/project/flatten/build.sbt +++ b/sbt-app/src/sbt-test/project/flatten/build.sbt @@ -1,6 +1,6 @@ val unpackage = TaskKey[Unit]("unpackage") -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")) .settings( diff --git a/sbt-app/src/sbt-test/project/internal-tracking/build.sbt b/sbt-app/src/sbt-test/project/internal-tracking/build.sbt index 711d9f88a..c34f007b5 100644 --- a/sbt-app/src/sbt-test/project/internal-tracking/build.sbt +++ b/sbt-app/src/sbt-test/project/internal-tracking/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" ThisBuild / trackInternalDependencies := TrackLevel.NoTracking lazy val root = (project in file(".")) diff --git a/sbt-app/src/sbt-test/project/sbt-plugin/build.sbt b/sbt-app/src/sbt-test/project/sbt-plugin/build.sbt index 681686b5a..3b1ec5328 100644 --- a/sbt-app/src/sbt-test/project/sbt-plugin/build.sbt +++ b/sbt-app/src/sbt-test/project/sbt-plugin/build.sbt @@ -1,6 +1,6 @@ lazy val root = project.in(file(".")) .enablePlugins(SbtPlugin) .settings( - scalaVersion := "2.12.19", + scalaVersion := "2.12.20", scalacOptions ++= Seq("-Xfatal-warnings", "-Xlint") ) diff --git a/sbt-app/src/sbt-test/project/sbt-plugin/changes/oldSbtPlugin.sbt b/sbt-app/src/sbt-test/project/sbt-plugin/changes/oldSbtPlugin.sbt index 7b654c196..1738ee9a5 100644 --- a/sbt-app/src/sbt-test/project/sbt-plugin/changes/oldSbtPlugin.sbt +++ b/sbt-app/src/sbt-test/project/sbt-plugin/changes/oldSbtPlugin.sbt @@ -1,6 +1,6 @@ lazy val root = project.in(file(".")) .settings( - scalaVersion := "2.12.19", + scalaVersion := "2.12.20", sbtPlugin := true, scalacOptions ++= Seq("-Xfatal-warnings", "-Xlint") ) diff --git a/sbt-app/src/sbt-test/project/semanticdb/build.sbt b/sbt-app/src/sbt-test/project/semanticdb/build.sbt index fcc03b2ec..03ad56d26 100644 --- a/sbt-app/src/sbt-test/project/semanticdb/build.sbt +++ b/sbt-app/src/sbt-test/project/semanticdb/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" ThisBuild / semanticdbEnabled := true ThisBuild / semanticdbIncludeInJar := true diff --git a/sbt-app/src/sbt-test/project/unified/build.sbt b/sbt-app/src/sbt-test/project/unified/build.sbt index 18ae6cfce..cbb558572 100644 --- a/sbt-app/src/sbt-test/project/unified/build.sbt +++ b/sbt-app/src/sbt-test/project/unified/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" import sbt.internal.CommandStrings.{ inspectBrief, inspectDetailed } import sbt.internal.Inspect diff --git a/sbt-app/src/sbt-test/run/fork-loader/build.sbt b/sbt-app/src/sbt-test/run/fork-loader/build.sbt index c5b8530f1..b440e9f31 100644 --- a/sbt-app/src/sbt-test/run/fork-loader/build.sbt +++ b/sbt-app/src/sbt-test/run/fork-loader/build.sbt @@ -1,6 +1,6 @@ val scalcheck = "org.scalacheck" %% "scalacheck" % "1.14.0" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")) .settings( diff --git a/sbt-app/src/sbt-test/source-dependencies/binary/build.sbt b/sbt-app/src/sbt-test/source-dependencies/binary/build.sbt index 4dc26da4a..dbf8e8610 100644 --- a/sbt-app/src/sbt-test/source-dependencies/binary/build.sbt +++ b/sbt-app/src/sbt-test/source-dependencies/binary/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val dep = project diff --git a/sbt-app/src/sbt-test/source-dependencies/constants/test b/sbt-app/src/sbt-test/source-dependencies/constants/test index ff8815d85..8f027dbf2 100644 --- a/sbt-app/src/sbt-test/source-dependencies/constants/test +++ b/sbt-app/src/sbt-test/source-dependencies/constants/test @@ -1,4 +1,4 @@ -> ++2.12.19! +> ++2.12.20! $ copy-file changes/B.scala B.scala diff --git a/sbt-app/src/sbt-test/source-dependencies/cross-source/test b/sbt-app/src/sbt-test/source-dependencies/cross-source/test index 53348a66c..21b560de7 100644 --- a/sbt-app/src/sbt-test/source-dependencies/cross-source/test +++ b/sbt-app/src/sbt-test/source-dependencies/cross-source/test @@ -1,3 +1,3 @@ # A.scala needs B.scala, it would be in source list -> ++2.12.19! +> ++2.12.20! > compile diff --git a/sbt-app/src/sbt-test/source-dependencies/macro-annotation/build.sbt b/sbt-app/src/sbt-test/source-dependencies/macro-annotation/build.sbt index 42ffe9799..45d6045fe 100644 --- a/sbt-app/src/sbt-test/source-dependencies/macro-annotation/build.sbt +++ b/sbt-app/src/sbt-test/source-dependencies/macro-annotation/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" val paradiseVersion = "2.1.1" val commonSettings = Seq( diff --git a/sbt-app/src/sbt-test/source-dependencies/macro-arg-dep-nested/build.sbt b/sbt-app/src/sbt-test/source-dependencies/macro-arg-dep-nested/build.sbt index 4e0809123..cd1f0fda4 100644 --- a/sbt-app/src/sbt-test/source-dependencies/macro-arg-dep-nested/build.sbt +++ b/sbt-app/src/sbt-test/source-dependencies/macro-arg-dep-nested/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" val defaultSettings = Seq( libraryDependencies += scalaVersion("org.scala-lang" % "scala-reflect" % _ ).value diff --git a/sbt-app/src/sbt-test/source-dependencies/macro-arg-dep-stackoverflow/build.sbt b/sbt-app/src/sbt-test/source-dependencies/macro-arg-dep-stackoverflow/build.sbt index 4e0809123..cd1f0fda4 100644 --- a/sbt-app/src/sbt-test/source-dependencies/macro-arg-dep-stackoverflow/build.sbt +++ b/sbt-app/src/sbt-test/source-dependencies/macro-arg-dep-stackoverflow/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" val defaultSettings = Seq( libraryDependencies += scalaVersion("org.scala-lang" % "scala-reflect" % _ ).value diff --git a/sbt-app/src/sbt-test/source-dependencies/macro-arg-dep/build.sbt b/sbt-app/src/sbt-test/source-dependencies/macro-arg-dep/build.sbt index 4e0809123..cd1f0fda4 100644 --- a/sbt-app/src/sbt-test/source-dependencies/macro-arg-dep/build.sbt +++ b/sbt-app/src/sbt-test/source-dependencies/macro-arg-dep/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" val defaultSettings = Seq( libraryDependencies += scalaVersion("org.scala-lang" % "scala-reflect" % _ ).value diff --git a/sbt-app/src/sbt-test/source-dependencies/macro/build.sbt b/sbt-app/src/sbt-test/source-dependencies/macro/build.sbt index 4e0809123..cd1f0fda4 100644 --- a/sbt-app/src/sbt-test/source-dependencies/macro/build.sbt +++ b/sbt-app/src/sbt-test/source-dependencies/macro/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" val defaultSettings = Seq( libraryDependencies += scalaVersion("org.scala-lang" % "scala-reflect" % _ ).value diff --git a/sbt-app/src/sbt-test/tests/arguments/build.sbt b/sbt-app/src/sbt-test/tests/arguments/build.sbt index 83d73ec79..93cde9171 100644 --- a/sbt-app/src/sbt-test/tests/arguments/build.sbt +++ b/sbt-app/src/sbt-test/tests/arguments/build.sbt @@ -1,6 +1,6 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" val foo = settingKey[Seq[String]]("foo") val checkFoo = inputKey[Unit]("check contents of foo") diff --git a/sbt-app/src/sbt-test/tests/do-not-discover/build.sbt b/sbt-app/src/sbt-test/tests/do-not-discover/build.sbt index 59179e413..d05f23430 100644 --- a/sbt-app/src/sbt-test/tests/do-not-discover/build.sbt +++ b/sbt-app/src/sbt-test/tests/do-not-discover/build.sbt @@ -1,6 +1,6 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")) .settings( diff --git a/sbt-app/src/sbt-test/tests/done/build.sbt b/sbt-app/src/sbt-test/tests/done/build.sbt index 59179e413..d05f23430 100644 --- a/sbt-app/src/sbt-test/tests/done/build.sbt +++ b/sbt-app/src/sbt-test/tests/done/build.sbt @@ -1,6 +1,6 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")) .settings( diff --git a/sbt-app/src/sbt-test/tests/filter-runners/build.sbt b/sbt-app/src/sbt-test/tests/filter-runners/build.sbt index bc17f844d..e1aba618a 100644 --- a/sbt-app/src/sbt-test/tests/filter-runners/build.sbt +++ b/sbt-app/src/sbt-test/tests/filter-runners/build.sbt @@ -1,7 +1,7 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.2.2" val munit = "org.scalameta" %% "munit" % "0.7.22" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" libraryDependencies += scalatest % Test libraryDependencies += munit % Test diff --git a/sbt-app/src/sbt-test/tests/fork-async/build.sbt b/sbt-app/src/sbt-test/tests/fork-async/build.sbt index 1f765fdb1..93256098a 100644 --- a/sbt-app/src/sbt-test/tests/fork-async/build.sbt +++ b/sbt-app/src/sbt-test/tests/fork-async/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")) .settings( diff --git a/sbt-app/src/sbt-test/tests/fork-parallel/build.sbt b/sbt-app/src/sbt-test/tests/fork-parallel/build.sbt index f6f82d54a..68c177d33 100644 --- a/sbt-app/src/sbt-test/tests/fork-parallel/build.sbt +++ b/sbt-app/src/sbt-test/tests/fork-parallel/build.sbt @@ -1,7 +1,7 @@ import Tests._ import Defaults._ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" val check = taskKey[Unit]("Check that tests are executed in parallel") lazy val root = (project in file(".")) diff --git a/sbt-app/src/sbt-test/tests/fork-test-group-parallel-custom-tags/build.sbt b/sbt-app/src/sbt-test/tests/fork-test-group-parallel-custom-tags/build.sbt index 059a130a2..d1e4492cf 100644 --- a/sbt-app/src/sbt-test/tests/fork-test-group-parallel-custom-tags/build.sbt +++ b/sbt-app/src/sbt-test/tests/fork-test-group-parallel-custom-tags/build.sbt @@ -1,5 +1,5 @@ val specs = "org.specs2" %% "specs2-core" % "4.3.4" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" val TestATypeTag = Tags.Tag("TestA") val TestBTypeTag = Tags.Tag("TestB") diff --git a/sbt-app/src/sbt-test/tests/fork-test-group-parallel/build.sbt b/sbt-app/src/sbt-test/tests/fork-test-group-parallel/build.sbt index a6b2aaf9d..50f793d22 100644 --- a/sbt-app/src/sbt-test/tests/fork-test-group-parallel/build.sbt +++ b/sbt-app/src/sbt-test/tests/fork-test-group-parallel/build.sbt @@ -1,5 +1,5 @@ val specs = "org.specs2" %% "specs2-core" % "4.3.4" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" Global / concurrentRestrictions := Seq(Tags.limitAll(4)) libraryDependencies += specs % Test diff --git a/sbt-app/src/sbt-test/tests/fork-uncaught2/build.sbt b/sbt-app/src/sbt-test/tests/fork-uncaught2/build.sbt index 60ad26140..f13c4fbe6 100644 --- a/sbt-app/src/sbt-test/tests/fork-uncaught2/build.sbt +++ b/sbt-app/src/sbt-test/tests/fork-uncaught2/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" libraryDependencies += "org.scala-sbt" % "test-interface" % "1.0" diff --git a/sbt-app/src/sbt-test/tests/fork/build.sbt b/sbt-app/src/sbt-test/tests/fork/build.sbt index 8722b742d..65f33a577 100644 --- a/sbt-app/src/sbt-test/tests/fork/build.sbt +++ b/sbt-app/src/sbt-test/tests/fork/build.sbt @@ -11,7 +11,7 @@ val scalaxml = "org.scala-lang.modules" %% "scala-xml" % "1.1.1" def groupId(idx: Int) = "group_" + (idx + 1) def groupPrefix(idx: Int) = groupId(idx) + "_file_" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" ThisBuild / organization := "org.example" lazy val root = (project in file(".")) diff --git a/sbt-app/src/sbt-test/tests/fork2/build.sbt b/sbt-app/src/sbt-test/tests/fork2/build.sbt index 6c272bbde..e70d963e1 100644 --- a/sbt-app/src/sbt-test/tests/fork2/build.sbt +++ b/sbt-app/src/sbt-test/tests/fork2/build.sbt @@ -1,6 +1,6 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" fork := true libraryDependencies += scalatest % Test diff --git a/sbt-app/src/sbt-test/tests/it/build.sbt b/sbt-app/src/sbt-test/tests/it/build.sbt index f784e70a1..c3c234773 100644 --- a/sbt-app/src/sbt-test/tests/it/build.sbt +++ b/sbt-app/src/sbt-test/tests/it/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" val specs = "org.specs2" %% "specs2-core" % "4.3.4" diff --git a/sbt-app/src/sbt-test/tests/junit-xml-report/build.sbt b/sbt-app/src/sbt-test/tests/junit-xml-report/build.sbt index 5da856697..4d87f2ca2 100644 --- a/sbt-app/src/sbt-test/tests/junit-xml-report/build.sbt +++ b/sbt-app/src/sbt-test/tests/junit-xml-report/build.sbt @@ -14,7 +14,7 @@ val nestedSuitesReportFile = "target/test-reports/TEST-my.scalatest.MyNestedSuit val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" val junitinterface = "com.novocode" % "junit-interface" % "0.11" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")). settings( diff --git a/sbt-app/src/sbt-test/tests/munit/build.sbt b/sbt-app/src/sbt-test/tests/munit/build.sbt index bc719880c..e04350cbd 100644 --- a/sbt-app/src/sbt-test/tests/munit/build.sbt +++ b/sbt-app/src/sbt-test/tests/munit/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val munit = "org.scalameta" %% "munit" % "0.7.22" diff --git a/sbt-app/src/sbt-test/tests/nested-inproc-par/build.sbt b/sbt-app/src/sbt-test/tests/nested-inproc-par/build.sbt index 5cbfb735e..68ae9ccf7 100644 --- a/sbt-app/src/sbt-test/tests/nested-inproc-par/build.sbt +++ b/sbt-app/src/sbt-test/tests/nested-inproc-par/build.sbt @@ -1,6 +1,6 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")) .settings( diff --git a/sbt-app/src/sbt-test/tests/nested-inproc-seq/build.sbt b/sbt-app/src/sbt-test/tests/nested-inproc-seq/build.sbt index a03155c8a..20bdacb98 100644 --- a/sbt-app/src/sbt-test/tests/nested-inproc-seq/build.sbt +++ b/sbt-app/src/sbt-test/tests/nested-inproc-seq/build.sbt @@ -1,6 +1,6 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")) .settings( diff --git a/sbt-app/src/sbt-test/tests/nested-subproc/build.sbt b/sbt-app/src/sbt-test/tests/nested-subproc/build.sbt index 7b8de3010..bb06cb73f 100644 --- a/sbt-app/src/sbt-test/tests/nested-subproc/build.sbt +++ b/sbt-app/src/sbt-test/tests/nested-subproc/build.sbt @@ -1,7 +1,7 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" val scalaxml = "org.scala-lang.modules" %% "scala-xml" % "1.1.1" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")) .settings( diff --git a/sbt-app/src/sbt-test/tests/nested-tests/build.sbt b/sbt-app/src/sbt-test/tests/nested-tests/build.sbt index 6ae21f33f..52030f3c9 100644 --- a/sbt-app/src/sbt-test/tests/nested-tests/build.sbt +++ b/sbt-app/src/sbt-test/tests/nested-tests/build.sbt @@ -1,6 +1,6 @@ val scalcheck = "org.scalacheck" %% "scalacheck" % "1.14.0" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" ThisBuild / version := "0.0.1" ThisBuild / organization := "org.catastrophe" diff --git a/sbt-app/src/sbt-test/tests/one-class-multi-framework/build.sbt b/sbt-app/src/sbt-test/tests/one-class-multi-framework/build.sbt index 3fa69b6cf..127d21076 100644 --- a/sbt-app/src/sbt-test/tests/one-class-multi-framework/build.sbt +++ b/sbt-app/src/sbt-test/tests/one-class-multi-framework/build.sbt @@ -1,5 +1,5 @@ val specsJunit = "org.specs2" %% "specs2-junit" % "4.3.4" val junitinterface = "com.novocode" % "junit-interface" % "0.11" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" libraryDependencies += junitinterface % Test libraryDependencies += specsJunit % Test diff --git a/sbt-app/src/sbt-test/tests/order/build.sbt b/sbt-app/src/sbt-test/tests/order/build.sbt index fefa56d8e..10db9515d 100644 --- a/sbt-app/src/sbt-test/tests/order/build.sbt +++ b/sbt-app/src/sbt-test/tests/order/build.sbt @@ -1,5 +1,5 @@ val scalcheck = "org.scalacheck" %% "scalacheck" % "1.14.0" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" Test / parallelExecution := false libraryDependencies += scalcheck % Test diff --git a/sbt-app/src/sbt-test/tests/resources/build.sbt b/sbt-app/src/sbt-test/tests/resources/build.sbt index e6997605a..5d64d55f4 100644 --- a/sbt-app/src/sbt-test/tests/resources/build.sbt +++ b/sbt-app/src/sbt-test/tests/resources/build.sbt @@ -1,3 +1,3 @@ val specs = "org.specs2" %% "specs2-core" % "4.3.4" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" libraryDependencies += specs % Test diff --git a/sbt-app/src/sbt-test/tests/scala-instance-classloader/build.sbt b/sbt-app/src/sbt-test/tests/scala-instance-classloader/build.sbt index 44c188f44..dcdf547a9 100644 --- a/sbt-app/src/sbt-test/tests/scala-instance-classloader/build.sbt +++ b/sbt-app/src/sbt-test/tests/scala-instance-classloader/build.sbt @@ -3,7 +3,7 @@ import sbt.internal.inc.ScalaInstance lazy val OtherScala = config("other-scala").hide lazy val junitinterface = "com.novocode" % "junit-interface" % "0.11" lazy val akkaActor = "com.typesafe.akka" %% "akka-actor" % "2.5.17" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")) .configs(OtherScala) diff --git a/sbt-app/src/sbt-test/tests/serial/build.sbt b/sbt-app/src/sbt-test/tests/serial/build.sbt index effd2fa66..2d7abec58 100644 --- a/sbt-app/src/sbt-test/tests/serial/build.sbt +++ b/sbt-app/src/sbt-test/tests/serial/build.sbt @@ -1,6 +1,6 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" ThisBuild / organization := "com.example" ThisBuild / version := "0.0.1-SNAPSHOT" diff --git a/sbt-app/src/sbt-test/tests/setup-cleanup/base.sbt b/sbt-app/src/sbt-test/tests/setup-cleanup/base.sbt index ea0abf0e5..d5d9b2552 100644 --- a/sbt-app/src/sbt-test/tests/setup-cleanup/base.sbt +++ b/sbt-app/src/sbt-test/tests/setup-cleanup/base.sbt @@ -1,3 +1,3 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" libraryDependencies += scalatest diff --git a/sbt-app/src/sbt-test/tests/single-runner/build.sbt b/sbt-app/src/sbt-test/tests/single-runner/build.sbt index 69ff2b711..0547b7465 100644 --- a/sbt-app/src/sbt-test/tests/single-runner/build.sbt +++ b/sbt-app/src/sbt-test/tests/single-runner/build.sbt @@ -1,4 +1,4 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" libraryDependencies += scalatest Test / testOptions += Tests.Argument("-C", "custom.CustomReporter") diff --git a/sbt-app/src/sbt-test/tests/specs-run/build.sbt b/sbt-app/src/sbt-test/tests/specs-run/build.sbt index 7b2f632b6..47774f80b 100644 --- a/sbt-app/src/sbt-test/tests/specs-run/build.sbt +++ b/sbt-app/src/sbt-test/tests/specs-run/build.sbt @@ -1,4 +1,4 @@ val specs = "org.specs2" %% "specs2-core" % "4.3.4" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" libraryDependencies += specs % Test diff --git a/sbt-app/src/sbt-test/tests/t543/build.sbt b/sbt-app/src/sbt-test/tests/t543/build.sbt index 3f885106a..944e65e4e 100644 --- a/sbt-app/src/sbt-test/tests/t543/build.sbt +++ b/sbt-app/src/sbt-test/tests/t543/build.sbt @@ -7,7 +7,7 @@ val check = TaskKey[Unit]("check", "Check correct error has been returned.") val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" val scalaxml = "org.scala-lang.modules" %% "scala-xml" % "1.1.1" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")). settings( diff --git a/sbt-app/src/sbt-test/tests/task/build.sbt b/sbt-app/src/sbt-test/tests/task/build.sbt index 69ff2b711..0547b7465 100644 --- a/sbt-app/src/sbt-test/tests/task/build.sbt +++ b/sbt-app/src/sbt-test/tests/task/build.sbt @@ -1,4 +1,4 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" libraryDependencies += scalatest Test / testOptions += Tests.Argument("-C", "custom.CustomReporter") diff --git a/sbt-app/src/sbt-test/tests/test-exclude/build.sbt b/sbt-app/src/sbt-test/tests/test-exclude/build.sbt index c05ef3c0d..391cac0ae 100644 --- a/sbt-app/src/sbt-test/tests/test-exclude/build.sbt +++ b/sbt-app/src/sbt-test/tests/test-exclude/build.sbt @@ -1,5 +1,5 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")) .settings( diff --git a/sbt-app/src/sbt-test/tests/test-quick/build.sbt b/sbt-app/src/sbt-test/tests/test-quick/build.sbt index c05ef3c0d..391cac0ae 100644 --- a/sbt-app/src/sbt-test/tests/test-quick/build.sbt +++ b/sbt-app/src/sbt-test/tests/test-quick/build.sbt @@ -1,5 +1,5 @@ val scalatest = "org.scalatest" %% "scalatest" % "3.0.5" -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" lazy val root = (project in file(".")) .settings( diff --git a/sbt-app/src/sbt-test/watch/commands/build.sbt b/sbt-app/src/sbt-test/watch/commands/build.sbt index b197a0395..1250a8567 100644 --- a/sbt-app/src/sbt-test/watch/commands/build.sbt +++ b/sbt-app/src/sbt-test/watch/commands/build.sbt @@ -53,4 +53,4 @@ expectFailure / watchOnFileInputEvent := { (_, e) => } -crossScalaVersions := Seq("2.11.12", "2.12.19") +crossScalaVersions := Seq("2.11.12", "2.12.20") diff --git a/server-test/src/server-test/response/build.sbt b/server-test/src/server-test/response/build.sbt index f3a2fac46..588466333 100644 --- a/server-test/src/server-test/response/build.sbt +++ b/server-test/src/server-test/response/build.sbt @@ -1,6 +1,6 @@ import sbt.internal.server.{ ServerHandler, ServerIntent } -ThisBuild / scalaVersion := "2.12.19" +ThisBuild / scalaVersion := "2.12.20" Global / serverLog / logLevel := Level.Debug // custom handler From eb35d210884b61a6f84975d221b12c6862d99a05 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Mon, 14 Oct 2024 22:14:45 -0700 Subject: [PATCH 21/96] Regenerate contraband files --- .../sbt/internal/bsp/codec/BuildServerCapabilitiesFormats.scala | 2 +- .../sbt/internal/bsp/codec/BuildTargetFormats.scala | 2 +- .../sbt/internal/bsp/codec/DebugSessionParamsFormats.scala | 2 +- .../sbt/internal/bsp/codec/DependencySourcesResultFormats.scala | 2 +- .../sbt/internal/bsp/codec/DiagnosticFormats.scala | 2 +- .../bsp/codec/DiagnosticRelatedInformationFormats.scala | 2 +- .../sbt/internal/bsp/codec/InitializeBuildParamsFormats.scala | 2 +- .../sbt/internal/bsp/codec/InitializeBuildResultFormats.scala | 2 +- .../sbt/internal/bsp/codec/JavacOptionsResultFormats.scala | 2 +- .../sbt/internal/bsp/codec/JvmRunEnvironmentResultFormats.scala | 2 +- .../internal/bsp/codec/JvmTestEnvironmentResultFormats.scala | 2 +- .../sbt/internal/bsp/codec/LocationFormats.scala | 2 +- .../sbt/internal/bsp/codec/OutputPathsItemFormats.scala | 2 +- .../sbt/internal/bsp/codec/OutputPathsResultFormats.scala | 2 +- .../internal/bsp/codec/PublishDiagnosticsParamsFormats.scala | 2 +- .../sbt/internal/bsp/codec/ResourcesResultFormats.scala | 2 +- .../sbt/internal/bsp/codec/RunParamsFormats.scala | 2 +- .../sbt/internal/bsp/codec/SbtBuildTargetFormats.scala | 2 +- .../sbt/internal/bsp/codec/ScalaActionFormats.scala | 2 +- .../sbt/internal/bsp/codec/ScalaDiagnosticFormats.scala | 2 +- .../sbt/internal/bsp/codec/ScalaMainClassesItemFormats.scala | 2 +- .../sbt/internal/bsp/codec/ScalaMainClassesResultFormats.scala | 2 +- .../sbt/internal/bsp/codec/ScalaTestClassesResultFormats.scala | 2 +- .../sbt/internal/bsp/codec/ScalaTestParamsFormats.scala | 2 +- .../sbt/internal/bsp/codec/ScalaTextEditFormats.scala | 2 +- .../sbt/internal/bsp/codec/ScalaWorkspaceEditFormats.scala | 2 +- .../sbt/internal/bsp/codec/ScalacOptionsResultFormats.scala | 2 +- .../sbt/internal/bsp/codec/SourcesItemFormats.scala | 2 +- .../sbt/internal/bsp/codec/SourcesResultFormats.scala | 2 +- .../sbt/internal/bsp/codec/TaskFinishParamsFormats.scala | 2 +- .../sbt/internal/bsp/codec/TaskProgressParamsFormats.scala | 2 +- .../sbt/internal/bsp/codec/TaskStartParamsFormats.scala | 2 +- .../sbt/internal/bsp/codec/TestParamsFormats.scala | 2 +- .../internal/bsp/codec/WorkspaceBuildTargetsResultFormats.scala | 2 +- .../sbt/internal/graph/codec/ModuleModelFormats.scala | 2 +- .../sbt/internal/langserver/codec/DiagnosticFormats.scala | 2 +- .../sbt/internal/langserver/codec/InitializeResultFormats.scala | 2 +- .../sbt/internal/langserver/codec/LocationFormats.scala | 2 +- .../langserver/codec/PublishDiagnosticsParamsFormats.scala | 2 +- .../internal/langserver/codec/ServerCapabilitiesFormats.scala | 2 +- .../langserver/codec/TextDocumentPositionParamsFormats.scala | 2 +- .../codec/TextDocumentPositionParamsInterfaceFormats.scala | 2 +- 42 files changed, 42 insertions(+), 42 deletions(-) diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/BuildServerCapabilitiesFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/BuildServerCapabilitiesFormats.scala index 9c8684ba3..6aba27ae7 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/BuildServerCapabilitiesFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/BuildServerCapabilitiesFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait BuildServerCapabilitiesFormats { self: sbt.internal.bsp.codec.CompileProviderFormats with sbt.internal.bsp.codec.TestProviderFormats with sbt.internal.bsp.codec.RunProviderFormats with sjsonnew.BasicJsonProtocol => +trait BuildServerCapabilitiesFormats { self: sbt.internal.bsp.codec.CompileProviderFormats with sjsonnew.BasicJsonProtocol with sbt.internal.bsp.codec.TestProviderFormats with sbt.internal.bsp.codec.RunProviderFormats => implicit lazy val BuildServerCapabilitiesFormat: JsonFormat[sbt.internal.bsp.BuildServerCapabilities] = new JsonFormat[sbt.internal.bsp.BuildServerCapabilities] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.BuildServerCapabilities = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/BuildTargetFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/BuildTargetFormats.scala index 8515f37ee..76eff0d93 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/BuildTargetFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/BuildTargetFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait BuildTargetFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sbt.internal.bsp.codec.BuildTargetCapabilitiesFormats with sbt.internal.util.codec.JValueFormats with sjsonnew.BasicJsonProtocol => +trait BuildTargetFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.bsp.codec.BuildTargetCapabilitiesFormats with sbt.internal.util.codec.JValueFormats => implicit lazy val BuildTargetFormat: JsonFormat[sbt.internal.bsp.BuildTarget] = new JsonFormat[sbt.internal.bsp.BuildTarget] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.BuildTarget = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DebugSessionParamsFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DebugSessionParamsFormats.scala index 8d4ccab6e..2ea073b09 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DebugSessionParamsFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DebugSessionParamsFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait DebugSessionParamsFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sbt.internal.util.codec.JValueFormats with sjsonnew.BasicJsonProtocol => +trait DebugSessionParamsFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.util.codec.JValueFormats => implicit lazy val DebugSessionParamsFormat: JsonFormat[sbt.internal.bsp.DebugSessionParams] = new JsonFormat[sbt.internal.bsp.DebugSessionParams] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.DebugSessionParams = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DependencySourcesResultFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DependencySourcesResultFormats.scala index 974150a78..0901c083f 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DependencySourcesResultFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DependencySourcesResultFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait DependencySourcesResultFormats { self: sbt.internal.bsp.codec.DependencySourcesItemFormats with sjsonnew.BasicJsonProtocol => +trait DependencySourcesResultFormats { self: sbt.internal.bsp.codec.DependencySourcesItemFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol => implicit lazy val DependencySourcesResultFormat: JsonFormat[sbt.internal.bsp.DependencySourcesResult] = new JsonFormat[sbt.internal.bsp.DependencySourcesResult] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.DependencySourcesResult = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DiagnosticFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DiagnosticFormats.scala index 0e0291d9f..6a8fb8bff 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DiagnosticFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DiagnosticFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait DiagnosticFormats { self: sbt.internal.bsp.codec.RangeFormats with sbt.internal.bsp.codec.DiagnosticRelatedInformationFormats with sbt.internal.bsp.codec.ScalaDiagnosticFormats with sjsonnew.BasicJsonProtocol => +trait DiagnosticFormats { self: sbt.internal.bsp.codec.RangeFormats with sbt.internal.bsp.codec.PositionFormats with sjsonnew.BasicJsonProtocol with sbt.internal.bsp.codec.DiagnosticRelatedInformationFormats with sbt.internal.bsp.codec.LocationFormats with sbt.internal.bsp.codec.ScalaDiagnosticFormats with sbt.internal.bsp.codec.ScalaActionFormats with sbt.internal.bsp.codec.ScalaWorkspaceEditFormats with sbt.internal.bsp.codec.ScalaTextEditFormats => implicit lazy val DiagnosticFormat: JsonFormat[sbt.internal.bsp.Diagnostic] = new JsonFormat[sbt.internal.bsp.Diagnostic] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.Diagnostic = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DiagnosticRelatedInformationFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DiagnosticRelatedInformationFormats.scala index 7886ec851..b4271dbcd 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DiagnosticRelatedInformationFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/DiagnosticRelatedInformationFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait DiagnosticRelatedInformationFormats { self: sbt.internal.bsp.codec.LocationFormats with sjsonnew.BasicJsonProtocol => +trait DiagnosticRelatedInformationFormats { self: sbt.internal.bsp.codec.LocationFormats with sbt.internal.bsp.codec.RangeFormats with sbt.internal.bsp.codec.PositionFormats with sjsonnew.BasicJsonProtocol => implicit lazy val DiagnosticRelatedInformationFormat: JsonFormat[sbt.internal.bsp.DiagnosticRelatedInformation] = new JsonFormat[sbt.internal.bsp.DiagnosticRelatedInformation] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.DiagnosticRelatedInformation = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/InitializeBuildParamsFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/InitializeBuildParamsFormats.scala index 943feb664..31e0eecea 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/InitializeBuildParamsFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/InitializeBuildParamsFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait InitializeBuildParamsFormats { self: sbt.internal.bsp.codec.BuildClientCapabilitiesFormats with sbt.internal.util.codec.JValueFormats with sjsonnew.BasicJsonProtocol => +trait InitializeBuildParamsFormats { self: sbt.internal.bsp.codec.BuildClientCapabilitiesFormats with sjsonnew.BasicJsonProtocol with sbt.internal.util.codec.JValueFormats => implicit lazy val InitializeBuildParamsFormat: JsonFormat[sbt.internal.bsp.InitializeBuildParams] = new JsonFormat[sbt.internal.bsp.InitializeBuildParams] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.InitializeBuildParams = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/InitializeBuildResultFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/InitializeBuildResultFormats.scala index 1b555b42c..8854dfe95 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/InitializeBuildResultFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/InitializeBuildResultFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait InitializeBuildResultFormats { self: sbt.internal.bsp.codec.BuildServerCapabilitiesFormats with sbt.internal.util.codec.JValueFormats with sjsonnew.BasicJsonProtocol => +trait InitializeBuildResultFormats { self: sbt.internal.bsp.codec.BuildServerCapabilitiesFormats with sbt.internal.bsp.codec.CompileProviderFormats with sjsonnew.BasicJsonProtocol with sbt.internal.bsp.codec.TestProviderFormats with sbt.internal.bsp.codec.RunProviderFormats with sbt.internal.util.codec.JValueFormats => implicit lazy val InitializeBuildResultFormat: JsonFormat[sbt.internal.bsp.InitializeBuildResult] = new JsonFormat[sbt.internal.bsp.InitializeBuildResult] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.InitializeBuildResult = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/JavacOptionsResultFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/JavacOptionsResultFormats.scala index ee381306a..a3f054618 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/JavacOptionsResultFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/JavacOptionsResultFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait JavacOptionsResultFormats { self: sbt.internal.bsp.codec.JavacOptionsItemFormats with sjsonnew.BasicJsonProtocol => +trait JavacOptionsResultFormats { self: sbt.internal.bsp.codec.JavacOptionsItemFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol => implicit lazy val JavacOptionsResultFormat: JsonFormat[sbt.internal.bsp.JavacOptionsResult] = new JsonFormat[sbt.internal.bsp.JavacOptionsResult] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.JavacOptionsResult = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/JvmRunEnvironmentResultFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/JvmRunEnvironmentResultFormats.scala index 6a9d40a5e..36f1cb72c 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/JvmRunEnvironmentResultFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/JvmRunEnvironmentResultFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait JvmRunEnvironmentResultFormats { self: sbt.internal.bsp.codec.JvmEnvironmentItemFormats with sjsonnew.BasicJsonProtocol => +trait JvmRunEnvironmentResultFormats { self: sbt.internal.bsp.codec.JvmEnvironmentItemFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol => implicit lazy val JvmRunEnvironmentResultFormat: JsonFormat[sbt.internal.bsp.JvmRunEnvironmentResult] = new JsonFormat[sbt.internal.bsp.JvmRunEnvironmentResult] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.JvmRunEnvironmentResult = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/JvmTestEnvironmentResultFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/JvmTestEnvironmentResultFormats.scala index cd9c9d297..60598fa65 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/JvmTestEnvironmentResultFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/JvmTestEnvironmentResultFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait JvmTestEnvironmentResultFormats { self: sbt.internal.bsp.codec.JvmEnvironmentItemFormats with sjsonnew.BasicJsonProtocol => +trait JvmTestEnvironmentResultFormats { self: sbt.internal.bsp.codec.JvmEnvironmentItemFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol => implicit lazy val JvmTestEnvironmentResultFormat: JsonFormat[sbt.internal.bsp.JvmTestEnvironmentResult] = new JsonFormat[sbt.internal.bsp.JvmTestEnvironmentResult] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.JvmTestEnvironmentResult = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/LocationFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/LocationFormats.scala index 54da58361..e6fb63912 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/LocationFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/LocationFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait LocationFormats { self: sbt.internal.bsp.codec.RangeFormats with sjsonnew.BasicJsonProtocol => +trait LocationFormats { self: sbt.internal.bsp.codec.RangeFormats with sbt.internal.bsp.codec.PositionFormats with sjsonnew.BasicJsonProtocol => implicit lazy val LocationFormat: JsonFormat[sbt.internal.bsp.Location] = new JsonFormat[sbt.internal.bsp.Location] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.Location = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/OutputPathsItemFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/OutputPathsItemFormats.scala index f3c0795ee..602b0e51f 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/OutputPathsItemFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/OutputPathsItemFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait OutputPathsItemFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sbt.internal.bsp.codec.OutputPathItemFormats with sjsonnew.BasicJsonProtocol => +trait OutputPathsItemFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.bsp.codec.OutputPathItemFormats => implicit lazy val OutputPathsItemFormat: JsonFormat[sbt.internal.bsp.OutputPathsItem] = new JsonFormat[sbt.internal.bsp.OutputPathsItem] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.OutputPathsItem = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/OutputPathsResultFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/OutputPathsResultFormats.scala index 0aa475097..c2c785110 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/OutputPathsResultFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/OutputPathsResultFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait OutputPathsResultFormats { self: sbt.internal.bsp.codec.OutputPathsItemFormats with sjsonnew.BasicJsonProtocol => +trait OutputPathsResultFormats { self: sbt.internal.bsp.codec.OutputPathsItemFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.bsp.codec.OutputPathItemFormats => implicit lazy val OutputPathsResultFormat: JsonFormat[sbt.internal.bsp.OutputPathsResult] = new JsonFormat[sbt.internal.bsp.OutputPathsResult] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.OutputPathsResult = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/PublishDiagnosticsParamsFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/PublishDiagnosticsParamsFormats.scala index 0b5551c66..d8bf69965 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/PublishDiagnosticsParamsFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/PublishDiagnosticsParamsFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait PublishDiagnosticsParamsFormats { self: sbt.internal.bsp.codec.TextDocumentIdentifierFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sbt.internal.bsp.codec.DiagnosticFormats with sjsonnew.BasicJsonProtocol => +trait PublishDiagnosticsParamsFormats { self: sbt.internal.bsp.codec.TextDocumentIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sbt.internal.bsp.codec.DiagnosticFormats with sbt.internal.bsp.codec.RangeFormats with sbt.internal.bsp.codec.PositionFormats with sbt.internal.bsp.codec.DiagnosticRelatedInformationFormats with sbt.internal.bsp.codec.LocationFormats with sbt.internal.bsp.codec.ScalaDiagnosticFormats with sbt.internal.bsp.codec.ScalaActionFormats with sbt.internal.bsp.codec.ScalaWorkspaceEditFormats with sbt.internal.bsp.codec.ScalaTextEditFormats => implicit lazy val PublishDiagnosticsParamsFormat: JsonFormat[sbt.internal.bsp.PublishDiagnosticsParams] = new JsonFormat[sbt.internal.bsp.PublishDiagnosticsParams] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.PublishDiagnosticsParams = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ResourcesResultFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ResourcesResultFormats.scala index 6add5e459..e8e235029 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ResourcesResultFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ResourcesResultFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait ResourcesResultFormats { self: sbt.internal.bsp.codec.ResourcesItemFormats with sjsonnew.BasicJsonProtocol => +trait ResourcesResultFormats { self: sbt.internal.bsp.codec.ResourcesItemFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol => implicit lazy val ResourcesResultFormat: JsonFormat[sbt.internal.bsp.ResourcesResult] = new JsonFormat[sbt.internal.bsp.ResourcesResult] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.ResourcesResult = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/RunParamsFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/RunParamsFormats.scala index 808c53fcf..8c4e47a02 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/RunParamsFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/RunParamsFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait RunParamsFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sbt.internal.util.codec.JValueFormats with sjsonnew.BasicJsonProtocol => +trait RunParamsFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.util.codec.JValueFormats => implicit lazy val RunParamsFormat: JsonFormat[sbt.internal.bsp.RunParams] = new JsonFormat[sbt.internal.bsp.RunParams] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.RunParams = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/SbtBuildTargetFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/SbtBuildTargetFormats.scala index 788d26a98..ff96c4211 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/SbtBuildTargetFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/SbtBuildTargetFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait SbtBuildTargetFormats { self: sbt.internal.bsp.codec.ScalaBuildTargetFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol => +trait SbtBuildTargetFormats { self: sbt.internal.bsp.codec.ScalaBuildTargetFormats with sjsonnew.BasicJsonProtocol with sbt.internal.bsp.codec.BuildTargetIdentifierFormats => implicit lazy val SbtBuildTargetFormat: JsonFormat[sbt.internal.bsp.SbtBuildTarget] = new JsonFormat[sbt.internal.bsp.SbtBuildTarget] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.SbtBuildTarget = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaActionFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaActionFormats.scala index 6df072a38..9262da34c 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaActionFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaActionFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait ScalaActionFormats { self: sbt.internal.bsp.codec.ScalaWorkspaceEditFormats with sjsonnew.BasicJsonProtocol => +trait ScalaActionFormats { self: sbt.internal.bsp.codec.ScalaWorkspaceEditFormats with sbt.internal.bsp.codec.ScalaTextEditFormats with sbt.internal.bsp.codec.RangeFormats with sbt.internal.bsp.codec.PositionFormats with sjsonnew.BasicJsonProtocol => implicit lazy val ScalaActionFormat: JsonFormat[sbt.internal.bsp.ScalaAction] = new JsonFormat[sbt.internal.bsp.ScalaAction] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.ScalaAction = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaDiagnosticFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaDiagnosticFormats.scala index 081333352..e5f1d0dbf 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaDiagnosticFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaDiagnosticFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait ScalaDiagnosticFormats { self: sbt.internal.bsp.codec.ScalaActionFormats with sjsonnew.BasicJsonProtocol => +trait ScalaDiagnosticFormats { self: sbt.internal.bsp.codec.ScalaActionFormats with sbt.internal.bsp.codec.ScalaWorkspaceEditFormats with sbt.internal.bsp.codec.ScalaTextEditFormats with sbt.internal.bsp.codec.RangeFormats with sbt.internal.bsp.codec.PositionFormats with sjsonnew.BasicJsonProtocol => implicit lazy val ScalaDiagnosticFormat: JsonFormat[sbt.internal.bsp.ScalaDiagnostic] = new JsonFormat[sbt.internal.bsp.ScalaDiagnostic] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.ScalaDiagnostic = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaMainClassesItemFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaMainClassesItemFormats.scala index 2f96a2dc5..549559ac5 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaMainClassesItemFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaMainClassesItemFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait ScalaMainClassesItemFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sbt.internal.bsp.codec.ScalaMainClassFormats with sjsonnew.BasicJsonProtocol => +trait ScalaMainClassesItemFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.bsp.codec.ScalaMainClassFormats => implicit lazy val ScalaMainClassesItemFormat: JsonFormat[sbt.internal.bsp.ScalaMainClassesItem] = new JsonFormat[sbt.internal.bsp.ScalaMainClassesItem] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.ScalaMainClassesItem = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaMainClassesResultFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaMainClassesResultFormats.scala index b7410be21..be3c8eb57 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaMainClassesResultFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaMainClassesResultFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait ScalaMainClassesResultFormats { self: sbt.internal.bsp.codec.ScalaMainClassesItemFormats with sjsonnew.BasicJsonProtocol => +trait ScalaMainClassesResultFormats { self: sbt.internal.bsp.codec.ScalaMainClassesItemFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.bsp.codec.ScalaMainClassFormats => implicit lazy val ScalaMainClassesResultFormat: JsonFormat[sbt.internal.bsp.ScalaMainClassesResult] = new JsonFormat[sbt.internal.bsp.ScalaMainClassesResult] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.ScalaMainClassesResult = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaTestClassesResultFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaTestClassesResultFormats.scala index ab51a7bb2..80331a4fd 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaTestClassesResultFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaTestClassesResultFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait ScalaTestClassesResultFormats { self: sbt.internal.bsp.codec.ScalaTestClassesItemFormats with sjsonnew.BasicJsonProtocol => +trait ScalaTestClassesResultFormats { self: sbt.internal.bsp.codec.ScalaTestClassesItemFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol => implicit lazy val ScalaTestClassesResultFormat: JsonFormat[sbt.internal.bsp.ScalaTestClassesResult] = new JsonFormat[sbt.internal.bsp.ScalaTestClassesResult] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.ScalaTestClassesResult = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaTestParamsFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaTestParamsFormats.scala index 3837db231..c4d0fb6cf 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaTestParamsFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaTestParamsFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait ScalaTestParamsFormats { self: sbt.internal.bsp.codec.ScalaTestClassesItemFormats with sjsonnew.BasicJsonProtocol => +trait ScalaTestParamsFormats { self: sbt.internal.bsp.codec.ScalaTestClassesItemFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol => implicit lazy val ScalaTestParamsFormat: JsonFormat[sbt.internal.bsp.ScalaTestParams] = new JsonFormat[sbt.internal.bsp.ScalaTestParams] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.ScalaTestParams = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaTextEditFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaTextEditFormats.scala index 320ff8a55..9ffda9946 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaTextEditFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaTextEditFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait ScalaTextEditFormats { self: sbt.internal.bsp.codec.RangeFormats with sjsonnew.BasicJsonProtocol => +trait ScalaTextEditFormats { self: sbt.internal.bsp.codec.RangeFormats with sbt.internal.bsp.codec.PositionFormats with sjsonnew.BasicJsonProtocol => implicit lazy val ScalaTextEditFormat: JsonFormat[sbt.internal.bsp.ScalaTextEdit] = new JsonFormat[sbt.internal.bsp.ScalaTextEdit] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.ScalaTextEdit = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaWorkspaceEditFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaWorkspaceEditFormats.scala index 6e09a05af..b439045cc 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaWorkspaceEditFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalaWorkspaceEditFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait ScalaWorkspaceEditFormats { self: sbt.internal.bsp.codec.ScalaTextEditFormats with sjsonnew.BasicJsonProtocol => +trait ScalaWorkspaceEditFormats { self: sbt.internal.bsp.codec.ScalaTextEditFormats with sbt.internal.bsp.codec.RangeFormats with sbt.internal.bsp.codec.PositionFormats with sjsonnew.BasicJsonProtocol => implicit lazy val ScalaWorkspaceEditFormat: JsonFormat[sbt.internal.bsp.ScalaWorkspaceEdit] = new JsonFormat[sbt.internal.bsp.ScalaWorkspaceEdit] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.ScalaWorkspaceEdit = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalacOptionsResultFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalacOptionsResultFormats.scala index ac7a2863b..6eb060da9 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalacOptionsResultFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/ScalacOptionsResultFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait ScalacOptionsResultFormats { self: sbt.internal.bsp.codec.ScalacOptionsItemFormats with sjsonnew.BasicJsonProtocol => +trait ScalacOptionsResultFormats { self: sbt.internal.bsp.codec.ScalacOptionsItemFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol => implicit lazy val ScalacOptionsResultFormat: JsonFormat[sbt.internal.bsp.ScalacOptionsResult] = new JsonFormat[sbt.internal.bsp.ScalacOptionsResult] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.ScalacOptionsResult = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/SourcesItemFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/SourcesItemFormats.scala index 6862a8575..4602ed51d 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/SourcesItemFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/SourcesItemFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait SourcesItemFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sbt.internal.bsp.codec.SourceItemFormats with sjsonnew.BasicJsonProtocol => +trait SourcesItemFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.bsp.codec.SourceItemFormats => implicit lazy val SourcesItemFormat: JsonFormat[sbt.internal.bsp.SourcesItem] = new JsonFormat[sbt.internal.bsp.SourcesItem] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.SourcesItem = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/SourcesResultFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/SourcesResultFormats.scala index d021e1e4f..b0d29da9f 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/SourcesResultFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/SourcesResultFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait SourcesResultFormats { self: sbt.internal.bsp.codec.SourcesItemFormats with sjsonnew.BasicJsonProtocol => +trait SourcesResultFormats { self: sbt.internal.bsp.codec.SourcesItemFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.bsp.codec.SourceItemFormats => implicit lazy val SourcesResultFormat: JsonFormat[sbt.internal.bsp.SourcesResult] = new JsonFormat[sbt.internal.bsp.SourcesResult] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.SourcesResult = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TaskFinishParamsFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TaskFinishParamsFormats.scala index d9186fe33..d83eaf20c 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TaskFinishParamsFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TaskFinishParamsFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait TaskFinishParamsFormats { self: sbt.internal.bsp.codec.TaskIdFormats with sbt.internal.util.codec.JValueFormats with sjsonnew.BasicJsonProtocol => +trait TaskFinishParamsFormats { self: sbt.internal.bsp.codec.TaskIdFormats with sjsonnew.BasicJsonProtocol with sbt.internal.util.codec.JValueFormats => implicit lazy val TaskFinishParamsFormat: JsonFormat[sbt.internal.bsp.TaskFinishParams] = new JsonFormat[sbt.internal.bsp.TaskFinishParams] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.TaskFinishParams = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TaskProgressParamsFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TaskProgressParamsFormats.scala index 4931e0a29..7743336cb 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TaskProgressParamsFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TaskProgressParamsFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait TaskProgressParamsFormats { self: sbt.internal.bsp.codec.TaskIdFormats with sbt.internal.util.codec.JValueFormats with sjsonnew.BasicJsonProtocol => +trait TaskProgressParamsFormats { self: sbt.internal.bsp.codec.TaskIdFormats with sjsonnew.BasicJsonProtocol with sbt.internal.util.codec.JValueFormats => implicit lazy val TaskProgressParamsFormat: JsonFormat[sbt.internal.bsp.TaskProgressParams] = new JsonFormat[sbt.internal.bsp.TaskProgressParams] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.TaskProgressParams = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TaskStartParamsFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TaskStartParamsFormats.scala index a6f4ef766..f333512b5 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TaskStartParamsFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TaskStartParamsFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait TaskStartParamsFormats { self: sbt.internal.bsp.codec.TaskIdFormats with sbt.internal.util.codec.JValueFormats with sjsonnew.BasicJsonProtocol => +trait TaskStartParamsFormats { self: sbt.internal.bsp.codec.TaskIdFormats with sjsonnew.BasicJsonProtocol with sbt.internal.util.codec.JValueFormats => implicit lazy val TaskStartParamsFormat: JsonFormat[sbt.internal.bsp.TaskStartParams] = new JsonFormat[sbt.internal.bsp.TaskStartParams] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.TaskStartParams = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TestParamsFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TestParamsFormats.scala index 7e07dd188..9dd0dd683 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TestParamsFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/TestParamsFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait TestParamsFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sbt.internal.util.codec.JValueFormats with sjsonnew.BasicJsonProtocol => +trait TestParamsFormats { self: sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.util.codec.JValueFormats => implicit lazy val TestParamsFormat: JsonFormat[sbt.internal.bsp.TestParams] = new JsonFormat[sbt.internal.bsp.TestParams] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.TestParams = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/WorkspaceBuildTargetsResultFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/WorkspaceBuildTargetsResultFormats.scala index d21532d72..9157e04a3 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/WorkspaceBuildTargetsResultFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/bsp/codec/WorkspaceBuildTargetsResultFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.bsp.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait WorkspaceBuildTargetsResultFormats { self: sbt.internal.bsp.codec.BuildTargetFormats with sjsonnew.BasicJsonProtocol => +trait WorkspaceBuildTargetsResultFormats { self: sbt.internal.bsp.codec.BuildTargetFormats with sbt.internal.bsp.codec.BuildTargetIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.bsp.codec.BuildTargetCapabilitiesFormats with sbt.internal.util.codec.JValueFormats => implicit lazy val WorkspaceBuildTargetsResultFormat: JsonFormat[sbt.internal.bsp.WorkspaceBuildTargetsResult] = new JsonFormat[sbt.internal.bsp.WorkspaceBuildTargetsResult] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.bsp.WorkspaceBuildTargetsResult = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/graph/codec/ModuleModelFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/graph/codec/ModuleModelFormats.scala index eaf3c902c..eeef03284 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/graph/codec/ModuleModelFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/graph/codec/ModuleModelFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.graph.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait ModuleModelFormats { self: sbt.internal.graph.codec.ModuleModelFormats with sjsonnew.BasicJsonProtocol => +trait ModuleModelFormats { self: sjsonnew.BasicJsonProtocol => implicit lazy val ModuleModelFormat: JsonFormat[sbt.internal.graph.ModuleModel] = new JsonFormat[sbt.internal.graph.ModuleModel] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.graph.ModuleModel = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/DiagnosticFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/DiagnosticFormats.scala index 6873fcf62..e46132f3f 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/DiagnosticFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/DiagnosticFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.langserver.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait DiagnosticFormats { self: sbt.internal.langserver.codec.RangeFormats with sjsonnew.BasicJsonProtocol => +trait DiagnosticFormats { self: sbt.internal.langserver.codec.RangeFormats with sbt.internal.langserver.codec.PositionFormats with sjsonnew.BasicJsonProtocol => implicit lazy val DiagnosticFormat: JsonFormat[sbt.internal.langserver.Diagnostic] = new JsonFormat[sbt.internal.langserver.Diagnostic] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.langserver.Diagnostic = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/InitializeResultFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/InitializeResultFormats.scala index 37b42fbd4..eba490e17 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/InitializeResultFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/InitializeResultFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.langserver.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait InitializeResultFormats { self: sbt.internal.langserver.codec.ServerCapabilitiesFormats with sjsonnew.BasicJsonProtocol => +trait InitializeResultFormats { self: sbt.internal.langserver.codec.ServerCapabilitiesFormats with sbt.internal.langserver.codec.TextDocumentSyncOptionsFormats with sbt.internal.langserver.codec.SaveOptionsFormats with sjsonnew.BasicJsonProtocol => implicit lazy val InitializeResultFormat: JsonFormat[sbt.internal.langserver.InitializeResult] = new JsonFormat[sbt.internal.langserver.InitializeResult] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.langserver.InitializeResult = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/LocationFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/LocationFormats.scala index 04566a4cf..d8bcde331 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/LocationFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/LocationFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.langserver.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait LocationFormats { self: sbt.internal.langserver.codec.RangeFormats with sjsonnew.BasicJsonProtocol => +trait LocationFormats { self: sbt.internal.langserver.codec.RangeFormats with sbt.internal.langserver.codec.PositionFormats with sjsonnew.BasicJsonProtocol => implicit lazy val LocationFormat: JsonFormat[sbt.internal.langserver.Location] = new JsonFormat[sbt.internal.langserver.Location] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.langserver.Location = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/PublishDiagnosticsParamsFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/PublishDiagnosticsParamsFormats.scala index a9730ce2f..669b702e3 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/PublishDiagnosticsParamsFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/PublishDiagnosticsParamsFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.langserver.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait PublishDiagnosticsParamsFormats { self: sbt.internal.langserver.codec.DiagnosticFormats with sjsonnew.BasicJsonProtocol => +trait PublishDiagnosticsParamsFormats { self: sbt.internal.langserver.codec.DiagnosticFormats with sbt.internal.langserver.codec.RangeFormats with sbt.internal.langserver.codec.PositionFormats with sjsonnew.BasicJsonProtocol => implicit lazy val PublishDiagnosticsParamsFormat: JsonFormat[sbt.internal.langserver.PublishDiagnosticsParams] = new JsonFormat[sbt.internal.langserver.PublishDiagnosticsParams] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.langserver.PublishDiagnosticsParams = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/ServerCapabilitiesFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/ServerCapabilitiesFormats.scala index b980c95fe..dd4504577 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/ServerCapabilitiesFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/ServerCapabilitiesFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.langserver.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait ServerCapabilitiesFormats { self: sbt.internal.langserver.codec.TextDocumentSyncOptionsFormats with sjsonnew.BasicJsonProtocol => +trait ServerCapabilitiesFormats { self: sbt.internal.langserver.codec.TextDocumentSyncOptionsFormats with sbt.internal.langserver.codec.SaveOptionsFormats with sjsonnew.BasicJsonProtocol => implicit lazy val ServerCapabilitiesFormat: JsonFormat[sbt.internal.langserver.ServerCapabilities] = new JsonFormat[sbt.internal.langserver.ServerCapabilities] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.langserver.ServerCapabilities = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/TextDocumentPositionParamsFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/TextDocumentPositionParamsFormats.scala index f5aa877e3..91de60398 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/TextDocumentPositionParamsFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/TextDocumentPositionParamsFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.internal.langserver.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait TextDocumentPositionParamsFormats { self: sbt.internal.langserver.codec.TextDocumentIdentifierFormats with sbt.internal.langserver.codec.PositionFormats with sjsonnew.BasicJsonProtocol => +trait TextDocumentPositionParamsFormats { self: sbt.internal.langserver.codec.TextDocumentIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.langserver.codec.PositionFormats => implicit lazy val TextDocumentPositionParamsFormat: JsonFormat[sbt.internal.langserver.TextDocumentPositionParams] = new JsonFormat[sbt.internal.langserver.TextDocumentPositionParams] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.internal.langserver.TextDocumentPositionParams = { __jsOpt match { diff --git a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/TextDocumentPositionParamsInterfaceFormats.scala b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/TextDocumentPositionParamsInterfaceFormats.scala index 3dff106a5..83843d5e2 100644 --- a/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/TextDocumentPositionParamsInterfaceFormats.scala +++ b/protocol/src/main/contraband-scala/sbt/internal/langserver/codec/TextDocumentPositionParamsInterfaceFormats.scala @@ -6,6 +6,6 @@ package sbt.internal.langserver.codec import _root_.sjsonnew.JsonFormat -trait TextDocumentPositionParamsInterfaceFormats { self: sbt.internal.langserver.codec.TextDocumentIdentifierFormats with sbt.internal.langserver.codec.PositionFormats with sjsonnew.BasicJsonProtocol with sbt.internal.langserver.codec.TextDocumentPositionParamsFormats => +trait TextDocumentPositionParamsInterfaceFormats { self: sbt.internal.langserver.codec.TextDocumentIdentifierFormats with sjsonnew.BasicJsonProtocol with sbt.internal.langserver.codec.PositionFormats with sbt.internal.langserver.codec.TextDocumentPositionParamsFormats => implicit lazy val TextDocumentPositionParamsInterfaceFormat: JsonFormat[sbt.internal.langserver.TextDocumentPositionParamsInterface] = flatUnionFormat1[sbt.internal.langserver.TextDocumentPositionParamsInterface, sbt.internal.langserver.TextDocumentPositionParams]("type") } From a4398d054c0f121ac15e9aa9b452eddf353ac35d Mon Sep 17 00:00:00 2001 From: nathanlao Date: Mon, 14 Oct 2024 23:40:11 -0700 Subject: [PATCH 22/96] chore: set a default timeout for ci --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 69530a6e2..43dd3f82a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,6 +49,7 @@ jobs: distribution: adopt jobtype: 9 runs-on: ${{ matrix.os }} + timeout-minutes: 25 env: JAVA_OPTS: -Xms800M -Xmx2G -Xss6M -XX:ReservedCodeCacheSize=128M -server -Dsbt.io.virtual=false -Dfile.encoding=UTF-8 JVM_OPTS: -Xms800M -Xmx2G -Xss6M -XX:ReservedCodeCacheSize=128M -server -Dsbt.io.virtual=false -Dfile.encoding=UTF-8 From a7397604264a12115be42c2d2f98fdf8c2ae72c8 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Sat, 12 Oct 2024 00:36:17 -0700 Subject: [PATCH 23/96] Bump CI to JDK 21 --- .github/workflows/ci.yml | 12 +++++------ .../build.sbt | 6 +++--- .../cross-strict-aggregation-scala-3/test | 20 +++++++++---------- .../semantic-errors/{test => pending} | 0 .../stdlib-unfreeze/{test => pending} | 0 .../sbt-test/plugins/doc-scala3-js/build.sbt | 2 +- .../plugins/doc-scala3-js/project/plugins.sbt | 2 +- .../plugins/dotty-sandwich-sjs/build.sbt | 6 +++--- .../dotty-sandwich-sjs/project/plugins.sbt | 2 +- .../sbt-test/plugins/dotty-sandwich/build.sbt | 4 ++-- sbt-app/src/sbt-test/plugins/dotty/build.sbt | 2 +- .../sbt-test/plugins/scala-js-macro/build.sbt | 2 +- .../scala-js-macro/project/plugins.sbt | 2 +- .../project/scala3-cross-target/build.sbt | 2 +- .../project/scala3-sandwich-sjs/build.sbt | 6 +++--- .../scala3-sandwich-sjs/project/plugins.sbt | 2 +- .../project/scala3-sandwich/build.sbt | 4 ++-- sbt-app/src/sbt-test/project/scripted13/test | 2 +- .../inc/ZincComponentCompilerSpec.scala | 18 ++++++----------- 19 files changed, 44 insertions(+), 50 deletions(-) rename sbt-app/src/sbt-test/compiler-project/semantic-errors/{test => pending} (100%) rename sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/{test => pending} (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 43dd3f82a..43710c71f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,23 +13,23 @@ jobs: matrix: include: - os: ubuntu-20.04 - java: 17 + java: 21 distribution: temurin jobtype: 1 - os: ubuntu-latest - java: 17 + java: 21 distribution: temurin jobtype: 2 - os: ubuntu-latest - java: 17 + java: 21 distribution: temurin jobtype: 3 - os: ubuntu-latest - java: 17 + java: 21 distribution: temurin jobtype: 4 - os: ubuntu-latest - java: 17 + java: 21 distribution: temurin jobtype: 5 - os: ubuntu-latest @@ -143,7 +143,7 @@ jobs: if: ${{ matrix.jobtype == 5 }} shell: bash run: | - ./sbt -v "++2.13.x; all utilControl/test utilRelation/test utilPosition/test; ++$SCALA_3!; all utilControl/test utilRelation/test utilPosition/test" + ./sbt -v "++2.13.x; all utilControl/test utilRelation/test utilPosition/test" - name: Build and test (6) if: ${{ matrix.jobtype == 6 }} shell: bash diff --git a/sbt-app/src/sbt-test/actions/cross-strict-aggregation-scala-3/build.sbt b/sbt-app/src/sbt-test/actions/cross-strict-aggregation-scala-3/build.sbt index 919caa213..6e5d27874 100644 --- a/sbt-app/src/sbt-test/actions/cross-strict-aggregation-scala-3/build.sbt +++ b/sbt-app/src/sbt-test/actions/cross-strict-aggregation-scala-3/build.sbt @@ -2,13 +2,13 @@ scalaVersion := "2.12.20" lazy val core = project .settings( - crossScalaVersions := Seq("2.12.20", "3.0.2", "3.1.2") + crossScalaVersions := Seq("2.12.20", "3.3.1", "3.5.1") ) lazy val subproj = project .dependsOn(core) .settings( - crossScalaVersions := Seq("2.12.20", "3.1.2"), + crossScalaVersions := Seq("2.12.20", "3.5.1"), // a random library compiled against Scala 3.1 - libraryDependencies += "org.http4s" %% "http4s-core" % "0.23.12" + libraryDependencies += "org.http4s" %% "http4s-core" % "0.23.28" ) diff --git a/sbt-app/src/sbt-test/actions/cross-strict-aggregation-scala-3/test b/sbt-app/src/sbt-test/actions/cross-strict-aggregation-scala-3/test index ea7afbf93..9e96b0f49 100644 --- a/sbt-app/src/sbt-test/actions/cross-strict-aggregation-scala-3/test +++ b/sbt-app/src/sbt-test/actions/cross-strict-aggregation-scala-3/test @@ -1,14 +1,14 @@ -> ++3.0.2 compile +> ++3.3.1 compile -$ exists core/target/scala-3.0.2 --$ exists core/target/scala-3.1.2 --$ exists subproj/target/scala-3.0.2 --$ exists subproj/target/scala-3.1.2 +$ exists core/target/scala-3.3.1 +-$ exists core/target/scala-3.5.1 +-$ exists subproj/target/scala-3.3.1 +-$ exists subproj/target/scala-3.5.1 > clean -> ++3.1.2 compile +> ++3.5.1 compile --$ exists core/target/scala-3.0.2 -$ exists core/target/scala-3.1.2 --$ exists subproj/target/scala-3.0.2 -$ exists subproj/target/scala-3.1.2 +-$ exists core/target/scala-3.3.1 +$ exists core/target/scala-3.5.1 +-$ exists subproj/target/scala-3.3.1 +$ exists subproj/target/scala-3.5.1 diff --git a/sbt-app/src/sbt-test/compiler-project/semantic-errors/test b/sbt-app/src/sbt-test/compiler-project/semantic-errors/pending similarity index 100% rename from sbt-app/src/sbt-test/compiler-project/semantic-errors/test rename to sbt-app/src/sbt-test/compiler-project/semantic-errors/pending diff --git a/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/test b/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/pending similarity index 100% rename from sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/test rename to sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/pending diff --git a/sbt-app/src/sbt-test/plugins/doc-scala3-js/build.sbt b/sbt-app/src/sbt-test/plugins/doc-scala3-js/build.sbt index af0c70797..177518aa8 100644 --- a/sbt-app/src/sbt-test/plugins/doc-scala3-js/build.sbt +++ b/sbt-app/src/sbt-test/plugins/doc-scala3-js/build.sbt @@ -1,4 +1,4 @@ -val scala3Version = "3.0.1-RC1-bin-20210525-8f3fdf5-NIGHTLY" +val scala3Version = "3.3.4" enablePlugins(ScalaJSPlugin) diff --git a/sbt-app/src/sbt-test/plugins/doc-scala3-js/project/plugins.sbt b/sbt-app/src/sbt-test/plugins/doc-scala3-js/project/plugins.sbt index c16aefc53..a42ace5f7 100644 --- a/sbt-app/src/sbt-test/plugins/doc-scala3-js/project/plugins.sbt +++ b/sbt-app/src/sbt-test/plugins/doc-scala3-js/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.5.1") \ No newline at end of file +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.17.0") \ No newline at end of file diff --git a/sbt-app/src/sbt-test/plugins/dotty-sandwich-sjs/build.sbt b/sbt-app/src/sbt-test/plugins/dotty-sandwich-sjs/build.sbt index 5fd5c06b8..aa25b680e 100644 --- a/sbt-app/src/sbt-test/plugins/dotty-sandwich-sjs/build.sbt +++ b/sbt-app/src/sbt-test/plugins/dotty-sandwich-sjs/build.sbt @@ -1,15 +1,15 @@ -ThisBuild / scalaVersion := "2.13.12" +ThisBuild / scalaVersion := "2.13.15" ThisBuild / scalacOptions += "-Ytasty-reader" lazy val scala3code = project .enablePlugins(ScalaJSPlugin) - .settings(scalaVersion := "3.1.3") + .settings(scalaVersion := "3.3.4") lazy val app = project .enablePlugins(ScalaJSPlugin) .dependsOn(scala3code) .settings( libraryDependencies ~= (_.filterNot(_.name.contains("scalajs-compiler"))), - addCompilerPlugin("org.scala-js" % "scalajs-compiler_2.13.8" % scalaJSVersion), + addCompilerPlugin("org.scala-js" % "scalajs-compiler_2.13.15" % scalaJSVersion), scalaJSUseMainModuleInitializer := true, ) diff --git a/sbt-app/src/sbt-test/plugins/dotty-sandwich-sjs/project/plugins.sbt b/sbt-app/src/sbt-test/plugins/dotty-sandwich-sjs/project/plugins.sbt index 4c620dc0a..b3f269753 100644 --- a/sbt-app/src/sbt-test/plugins/dotty-sandwich-sjs/project/plugins.sbt +++ b/sbt-app/src/sbt-test/plugins/dotty-sandwich-sjs/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.10.1") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.17.0") diff --git a/sbt-app/src/sbt-test/plugins/dotty-sandwich/build.sbt b/sbt-app/src/sbt-test/plugins/dotty-sandwich/build.sbt index a8e206007..f3ee7e93e 100644 --- a/sbt-app/src/sbt-test/plugins/dotty-sandwich/build.sbt +++ b/sbt-app/src/sbt-test/plugins/dotty-sandwich/build.sbt @@ -1,7 +1,7 @@ -ThisBuild / scalaVersion := "3.1.3" +ThisBuild / scalaVersion := "3.3.4" ThisBuild / scalacOptions += "-Ytasty-reader" -lazy val scala213 = "2.13.12" +lazy val scala213 = "2.13.15" lazy val root = (project in file(".")) .aggregate(fooApp, fooCore, barApp, barCore) diff --git a/sbt-app/src/sbt-test/plugins/dotty/build.sbt b/sbt-app/src/sbt-test/plugins/dotty/build.sbt index e46913668..48a4f88fe 100644 --- a/sbt-app/src/sbt-test/plugins/dotty/build.sbt +++ b/sbt-app/src/sbt-test/plugins/dotty/build.sbt @@ -1 +1 @@ -ThisBuild / scalaVersion := "3.1.3" +ThisBuild / scalaVersion := "3.3.4" diff --git a/sbt-app/src/sbt-test/plugins/scala-js-macro/build.sbt b/sbt-app/src/sbt-test/plugins/scala-js-macro/build.sbt index ff4eb16f3..1039576e3 100644 --- a/sbt-app/src/sbt-test/plugins/scala-js-macro/build.sbt +++ b/sbt-app/src/sbt-test/plugins/scala-js-macro/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "2.13.1" +ThisBuild / scalaVersion := "2.13.15" lazy val root = (project in file(".")) .aggregate(macroProvider, macroClient) diff --git a/sbt-app/src/sbt-test/plugins/scala-js-macro/project/plugins.sbt b/sbt-app/src/sbt-test/plugins/scala-js-macro/project/plugins.sbt index 8365c11cc..b3f269753 100644 --- a/sbt-app/src/sbt-test/plugins/scala-js-macro/project/plugins.sbt +++ b/sbt-app/src/sbt-test/plugins/scala-js-macro/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.0.0") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.17.0") diff --git a/sbt-app/src/sbt-test/project/scala3-cross-target/build.sbt b/sbt-app/src/sbt-test/project/scala3-cross-target/build.sbt index d87ccac1b..4550b3c07 100644 --- a/sbt-app/src/sbt-test/project/scala3-cross-target/build.sbt +++ b/sbt-app/src/sbt-test/project/scala3-cross-target/build.sbt @@ -1,3 +1,3 @@ -scalaVersion := "3.0.0-RC2-bin-20210328-cca5f8f-NIGHTLY" +scalaVersion := "3.3.4" name := "foo" version := "1.0.0" diff --git a/sbt-app/src/sbt-test/project/scala3-sandwich-sjs/build.sbt b/sbt-app/src/sbt-test/project/scala3-sandwich-sjs/build.sbt index 661ac82a1..88ccf3d59 100644 --- a/sbt-app/src/sbt-test/project/scala3-sandwich-sjs/build.sbt +++ b/sbt-app/src/sbt-test/project/scala3-sandwich-sjs/build.sbt @@ -1,15 +1,15 @@ -ThisBuild / scalaVersion := "2.13.6" +ThisBuild / scalaVersion := "2.13.15" ThisBuild / scalacOptions += "-Ytasty-reader" lazy val scala3code = project .enablePlugins(ScalaJSPlugin) - .settings(scalaVersion := "3.0.0") + .settings(scalaVersion := "3.3.4") lazy val app = project .enablePlugins(ScalaJSPlugin) .dependsOn(scala3code) .settings( - scalaVersion := "2.13.6", + scalaVersion := "2.13.15", scalacOptions += "-Ytasty-reader", scalaJSUseMainModuleInitializer := true ) diff --git a/sbt-app/src/sbt-test/project/scala3-sandwich-sjs/project/plugins.sbt b/sbt-app/src/sbt-test/project/scala3-sandwich-sjs/project/plugins.sbt index 56abd248d..b3f269753 100644 --- a/sbt-app/src/sbt-test/project/scala3-sandwich-sjs/project/plugins.sbt +++ b/sbt-app/src/sbt-test/project/scala3-sandwich-sjs/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.6.0") +addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.17.0") diff --git a/sbt-app/src/sbt-test/project/scala3-sandwich/build.sbt b/sbt-app/src/sbt-test/project/scala3-sandwich/build.sbt index 75988d69d..79f714e28 100644 --- a/sbt-app/src/sbt-test/project/scala3-sandwich/build.sbt +++ b/sbt-app/src/sbt-test/project/scala3-sandwich/build.sbt @@ -1,6 +1,6 @@ -ThisBuild / scalaVersion := "3.0.0" +ThisBuild / scalaVersion := "3.3.4" -lazy val scala213 = "2.13.6" +lazy val scala213 = "2.13.15" lazy val root = (project in file(".")) .aggregate(fooApp, fooCore, barApp, barCore) diff --git a/sbt-app/src/sbt-test/project/scripted13/test b/sbt-app/src/sbt-test/project/scripted13/test index 1617a03a4..6935c0e54 100644 --- a/sbt-app/src/sbt-test/project/scripted13/test +++ b/sbt-app/src/sbt-test/project/scripted13/test @@ -1,6 +1,6 @@ # This tests that this sbt scripted plugin can launch the previous one -> ^^0.13.18 +> ^^1.10.1 $ copy-file changes/A.scala src/sbt-test/a/b/A.scala > scripted diff --git a/zinc-lm-integration/src/test/scala/sbt/internal/inc/ZincComponentCompilerSpec.scala b/zinc-lm-integration/src/test/scala/sbt/internal/inc/ZincComponentCompilerSpec.scala index bad241e51..799458167 100644 --- a/zinc-lm-integration/src/test/scala/sbt/internal/inc/ZincComponentCompilerSpec.scala +++ b/zinc-lm-integration/src/test/scala/sbt/internal/inc/ZincComponentCompilerSpec.scala @@ -16,11 +16,8 @@ class ZincComponentCompilerSpec extends IvyBridgeProviderSpecification { val scala2106 = "2.10.6" val scala2118 = "2.11.8" val scala21111 = "2.11.11" - val scala2121 = "2.12.1" - val scala2122 = "2.12.2" - val scala2123 = "2.12.3" - val scala2130 = "2.13.0" - val scala2131 = "2.13.1" + val scala21220 = "2.12.20" + val scala21311 = "2.13.11" def isJava8: Boolean = sys.props("java.specification.version") == "1.8" @@ -40,14 +37,11 @@ class ZincComponentCompilerSpec extends IvyBridgeProviderSpecification { } else () } - it should "compile the bridge for Scala 2.12.2" in { implicit td => - IO.withTemporaryDirectory(t => getCompilerBridge(t, logger, scala2121) should exist) - IO.withTemporaryDirectory(t => getCompilerBridge(t, logger, scala2122) should exist) - IO.withTemporaryDirectory(t => getCompilerBridge(t, logger, scala2123) should exist) + it should "compile the bridge for Scala 2.12.20" in { implicit td => + IO.withTemporaryDirectory(t => getCompilerBridge(t, logger, scala21220) should exist) } - it should "compile the bridge for Scala 2.13" in { implicit td => - IO.withTemporaryDirectory(t => getCompilerBridge(t, logger, scala2130) should exist) - IO.withTemporaryDirectory(t => getCompilerBridge(t, logger, scala2131) should exist) + it should "compile the bridge for Scala 2.13.11" in { implicit td => + IO.withTemporaryDirectory(t => getCompilerBridge(t, logger, scala21311) should exist) } } From 6cea06da0bcf273b5042c18c3113ea2c19533b34 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Tue, 15 Oct 2024 00:30:12 -0700 Subject: [PATCH 24/96] Try workaround sbt.internal.inc.InvalidComponent --- project/build.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/build.properties b/project/build.properties index 081fdbbc7..cb409aac6 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.10.0 +sbt.version=1.10.1 \ No newline at end of file From 56f2a9a0315e4e19291822113bc8b4e965a594b2 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Tue, 15 Oct 2024 00:46:49 -0700 Subject: [PATCH 25/96] Fix compiler-project/semantic-errors Java 21 emits Info about annotation processing, hence we need to filter out Infos so val first is the first non-info problem --- sbt-app/src/sbt-test/compiler-project/semantic-errors/build.sbt | 2 +- .../sbt-test/compiler-project/semantic-errors/{pending => test} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename sbt-app/src/sbt-test/compiler-project/semantic-errors/{pending => test} (100%) diff --git a/sbt-app/src/sbt-test/compiler-project/semantic-errors/build.sbt b/sbt-app/src/sbt-test/compiler-project/semantic-errors/build.sbt index 019d06f89..c861b159b 100644 --- a/sbt-app/src/sbt-test/compiler-project/semantic-errors/build.sbt +++ b/sbt-app/src/sbt-test/compiler-project/semantic-errors/build.sbt @@ -1,7 +1,7 @@ TaskKey[Unit]("checkJavaFailures") := { val reporter = savedReporter.value val ignore = (compile in Compile).failure.value - val ps = reporter.problems + val ps = reporter.problems.filter(_.severity() != xsbti.Severity.Info) assert(!ps.isEmpty, "Failed to report any problems!") // First error should be on a specific line/file val first = ps(0) diff --git a/sbt-app/src/sbt-test/compiler-project/semantic-errors/pending b/sbt-app/src/sbt-test/compiler-project/semantic-errors/test similarity index 100% rename from sbt-app/src/sbt-test/compiler-project/semantic-errors/pending rename to sbt-app/src/sbt-test/compiler-project/semantic-errors/test From c3d6bfeaa4b76c654fb13483746f4f08ed767144 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Tue, 15 Oct 2024 00:50:07 -0700 Subject: [PATCH 26/96] Fix project/scala3-cross-target --- sbt-app/src/sbt-test/project/scala3-cross-target/test | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbt-app/src/sbt-test/project/scala3-cross-target/test b/sbt-app/src/sbt-test/project/scala3-cross-target/test index ff09e0f19..5509f79c2 100644 --- a/sbt-app/src/sbt-test/project/scala3-cross-target/test +++ b/sbt-app/src/sbt-test/project/scala3-cross-target/test @@ -1,7 +1,7 @@ > compile -$ exists target/scala-3.0.0-RC2-bin-20210328-cca5f8f-NIGHTLY/classes/Foo$.class +$ exists target/scala-3.3.4/classes/Foo$.class > package -$ exists target/scala-3.0.0-RC2-bin-20210328-cca5f8f-NIGHTLY/foo_3.0.0-RC2-1.0.0.jar +$ exists target/scala-3.3.4/foo_3-1.0.0.jar From a116a477c9a9694b20080fdefa739abd6d18f2f3 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Wed, 16 Oct 2024 11:54:56 -0700 Subject: [PATCH 27/96] Fix dependency-management/stdlib-unfreeze --- .../stdlib-unfreeze/a3/A.scala | 18 +++++++++++++----- .../stdlib-unfreeze/build.sbt | 14 +++++++------- .../stdlib-unfreeze/{pending => test} | 10 +++++----- 3 files changed, 25 insertions(+), 17 deletions(-) rename sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/{pending => test} (70%) diff --git a/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/a3/A.scala b/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/a3/A.scala index e6f35a100..600c11379 100644 --- a/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/a3/A.scala +++ b/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/a3/A.scala @@ -1,16 +1,24 @@ import scala.quoted.* // imports Quotes, Expr -package scala.collection { - object Exp: - // added in 2.13.10, not available in 2.13.8 - def m(i: Int) = IterableOnce.checkArraySizeWithinVMLimit(i) +package scala.collection.immutable { + object Exp { + // Access RedBlackTree.validate and Tree class added in Scala 2.13.13 + // Scala 3.3.4 uses Scala 2.13.14 library + // Scala 3.3.2 uses Scala 2.13.12 library + // Hence RedBlackTree.validate is available in 3.3.4 but not in 3.3.2 + // c.c. https://mvnrepository.com/artifact/org.scala-lang/scala3-library_3/3.3.2 + // c.c. https://mvnrepository.com/artifact/org.scala-lang/scala3-library_3/3.3.4 + def validateTree[A](tree: RedBlackTree.Tree[A, _])(implicit ordering: Ordering[A]): tree.type = { + RedBlackTree.validate(tree) + } + } } object Mac: inline def inspect(inline x: Any): Any = ${ inspectCode('x) } def inspectCode(x: Expr[Any])(using Quotes): Expr[Any] = - scala.collection.Exp.m(42) + scala.collection.immutable.Exp.validateTree(null)(null) println(x.show) x diff --git a/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/build.sbt b/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/build.sbt index 901101cea..ab04ff427 100644 --- a/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/build.sbt +++ b/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/build.sbt @@ -1,26 +1,26 @@ import sbt.librarymanagement.InclExclRule lazy val a = project.settings( - scalaVersion := "2.13.6", + scalaVersion := "2.13.11", libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value, - TaskKey[Unit]("checkLibs") := checkLibs("2.13.6", (Compile/dependencyClasspath).value, ".*scala-(library|reflect).*"), + TaskKey[Unit]("checkLibs") := checkLibs("2.13.11", (Compile/dependencyClasspath).value, ".*scala-(library|reflect).*"), ) lazy val b = project.dependsOn(a).settings( - scalaVersion := "2.13.8", - TaskKey[Unit]("checkLibs") := checkLibs("2.13.8", (Compile/dependencyClasspath).value, ".*scala-(library|reflect).*"), + scalaVersion := "2.13.12", + TaskKey[Unit]("checkLibs") := checkLibs("2.13.12", (Compile/dependencyClasspath).value, ".*scala-(library|reflect).*"), ) lazy val a3 = project.settings( - scalaVersion := "3.2.2", // 2.13.10 library + scalaVersion := "3.3.4", // 2.13.14 library ) lazy val b3 = project.dependsOn(a3).settings( - scalaVersion := "3.2.0", // 2.13.8 library + scalaVersion := "3.3.2", // 2.13.12 library TaskKey[Unit]("checkScala") := { val i = scalaInstance.value i.libraryJars.filter(_.toString.contains("scala-library")).toList match { - case List(l) => assert(l.toString.contains("2.13.10"), i.toString) + case List(l) => assert(l.toString.contains("2.13.14"), i.toString) } assert(i.compilerJars.filter(_.toString.contains("scala-library")).isEmpty, i.toString) assert(i.otherJars.filter(_.toString.contains("scala-library")).isEmpty, i.toString) diff --git a/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/pending b/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/test similarity index 70% rename from sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/pending rename to sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/test index 7df93ab6c..8eb173463 100644 --- a/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/pending +++ b/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/test @@ -2,17 +2,17 @@ > b/checkLibs > b/run -$ exists s2.13.8.txt -$ delete s2.13.8.txt +$ exists s2.13.12.txt +$ delete s2.13.12.txt # don't crash when expanding the macro > b3/run -$ exists s2.13.10.txt -$ delete s2.13.10.txt +$ exists s2.13.14.txt +$ delete s2.13.14.txt > b3/checkScala -# without the default `csrSameVersions`, scala-reflect in b stays at 2.13.6 +# without the default `csrSameVersions`, scala-reflect in b stays at 2.13.11 > set b/csrSameVersions := Nil > b/update -> b/checkLibs From d9bc88ab8bcecb45b4b4f346bc36e3d3542f937c Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 18 Oct 2024 01:14:28 -0400 Subject: [PATCH 28/96] Default to sbtn for sbt 2.x This changes the runner script logic to default to sbtn when sbt version is 2.x. --- launcher-package/src/universal/bin/sbt.bat | 18 +++++++++--------- .../sbt/internal/client/NetworkClient.scala | 1 + sbt | 9 ++++++++- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/launcher-package/src/universal/bin/sbt.bat b/launcher-package/src/universal/bin/sbt.bat index de25ca25d..083ebb9e0 100755 --- a/launcher-package/src/universal/bin/sbt.bat +++ b/launcher-package/src/universal/bin/sbt.bat @@ -890,22 +890,22 @@ for /F "delims=.-_ tokens=1-2" %%v in ("!sbtV!") do ( set sbtBinaryV_1=%%v set sbtBinaryV_2=%%w ) -set native_client_ready= +rem default to run_native_client=1 for sbt 2.x if !sbtBinaryV_1! geq 2 ( - set native_client_ready=1 + if !sbt_args_client! equ 0 ( + set run_native_client= + ) else ( + set run_native_client=1 + ) ) else ( if !sbtBinaryV_1! geq 1 ( if !sbtBinaryV_2! geq 4 ( - set native_client_ready=1 + if !sbt_args_client! equ 1 ( + set run_native_client=1 + ) ) ) ) -if !native_client_ready! equ 1 ( - if !sbt_args_client! equ 1 ( - set run_native_client=1 - ) -) -set native_client_ready= exit /B 0 diff --git a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala index 34c544011..579e808c8 100644 --- a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala +++ b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala @@ -1127,6 +1127,7 @@ object NetworkClient { sbtArguments += s"-Dsbt.script=$sbtScript" } } + if (!sbtArguments.contains("--server")) sbtArguments += "--server" new Arguments( base, sbtArguments.toSeq, diff --git a/sbt b/sbt index 57ef518d9..fa8970aa8 100755 --- a/sbt +++ b/sbt @@ -749,7 +749,14 @@ isRunNativeClient() { [[ "$sbtV" == "" ]] && sbtV="0.0.0" sbtBinaryV_1=$(echo "$sbtV" | sed 's/^\([0-9]*\)\.\([0-9]*\).*$/\1/') sbtBinaryV_2=$(echo "$sbtV" | sed 's/^\([0-9]*\)\.\([0-9]*\).*$/\2/') - if (( $sbtBinaryV_1 >= 2 )) || ( (( $sbtBinaryV_1 >= 1 )) && (( $sbtBinaryV_2 >= 4 )) ); then + # Default to true for sbt 2.x + if (( $sbtBinaryV_1 >= 2 )); then + if [[ "$use_sbtn" == "0" ]]; then + echo "false" + else + echo "true" + fi + elif ( (( $sbtBinaryV_1 >= 1 )) && (( $sbtBinaryV_2 >= 4 )) ); then if [[ "$use_sbtn" == "1" ]]; then echo "true" else From a96ec6b978ee38b39f4816337e89ff4450419b9c Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 18 Oct 2024 02:26:58 -0400 Subject: [PATCH 29/96] Bump IO, ipc-socket, and launcher --- project/Dependencies.scala | 6 +++--- .../sbt/protocol/testing/codec/TestItemEventFormats.scala | 2 +- .../sbt/protocol/testing/codec/TestMessageFormats.scala | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index d12b45cee..7fce66c02 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -12,7 +12,7 @@ object Dependencies { sys.env.get("BUILD_VERSION") orElse sys.props.get("sbt.build.version") // sbt modules - private val ioVersion = nightlyVersion.getOrElse("1.10.0") + private val ioVersion = nightlyVersion.getOrElse("1.10.1") private val lmVersion = sys.props.get("sbt.build.lm.version").orElse(nightlyVersion).getOrElse("1.10.1") val zincVersion = nightlyVersion.getOrElse("1.10.2") @@ -22,11 +22,11 @@ object Dependencies { private val libraryManagementCore = "org.scala-sbt" %% "librarymanagement-core" % lmVersion private val libraryManagementIvy = "org.scala-sbt" %% "librarymanagement-ivy" % lmVersion - val launcherVersion = "1.4.3" + val launcherVersion = "1.4.4" val launcherInterface = "org.scala-sbt" % "launcher-interface" % launcherVersion val rawLauncher = "org.scala-sbt" % "launcher" % launcherVersion val testInterface = "org.scala-sbt" % "test-interface" % "1.0" - val ipcSocket = "org.scala-sbt.ipcsocket" % "ipcsocket" % "1.6.2" + val ipcSocket = "org.scala-sbt.ipcsocket" % "ipcsocket" % "1.6.3" private val compilerInterface = "org.scala-sbt" % "compiler-interface" % zincVersion private val compilerClasspath = "org.scala-sbt" %% "zinc-classpath" % zincVersion diff --git a/testing/src/main/contraband-scala/sbt/protocol/testing/codec/TestItemEventFormats.scala b/testing/src/main/contraband-scala/sbt/protocol/testing/codec/TestItemEventFormats.scala index d6a8af553..352ed5d8e 100644 --- a/testing/src/main/contraband-scala/sbt/protocol/testing/codec/TestItemEventFormats.scala +++ b/testing/src/main/contraband-scala/sbt/protocol/testing/codec/TestItemEventFormats.scala @@ -5,7 +5,7 @@ // DO NOT EDIT MANUALLY package sbt.protocol.testing.codec import _root_.sjsonnew.{ Unbuilder, Builder, JsonFormat, deserializationError } -trait TestItemEventFormats { self: sbt.protocol.testing.codec.TestResultFormats with sbt.protocol.testing.codec.TestItemDetailFormats with sjsonnew.BasicJsonProtocol => +trait TestItemEventFormats { self: sbt.protocol.testing.codec.TestResultFormats with sjsonnew.BasicJsonProtocol with sbt.protocol.testing.codec.TestItemDetailFormats with sbt.internal.testing.StatusFormats => implicit lazy val TestItemEventFormat: JsonFormat[sbt.protocol.testing.TestItemEvent] = new JsonFormat[sbt.protocol.testing.TestItemEvent] { override def read[J](__jsOpt: Option[J], unbuilder: Unbuilder[J]): sbt.protocol.testing.TestItemEvent = { __jsOpt match { diff --git a/testing/src/main/contraband-scala/sbt/protocol/testing/codec/TestMessageFormats.scala b/testing/src/main/contraband-scala/sbt/protocol/testing/codec/TestMessageFormats.scala index 13534855d..ffeba0990 100644 --- a/testing/src/main/contraband-scala/sbt/protocol/testing/codec/TestMessageFormats.scala +++ b/testing/src/main/contraband-scala/sbt/protocol/testing/codec/TestMessageFormats.scala @@ -6,6 +6,6 @@ package sbt.protocol.testing.codec import _root_.sjsonnew.JsonFormat -trait TestMessageFormats { self: sjsonnew.BasicJsonProtocol with sbt.protocol.testing.codec.TestStringEventFormats with sbt.protocol.testing.codec.TestInitEventFormats with sbt.protocol.testing.codec.TestResultFormats with sbt.protocol.testing.codec.TestCompleteEventFormats with sbt.protocol.testing.codec.StartTestGroupEventFormats with sbt.protocol.testing.codec.EndTestGroupEventFormats with sbt.protocol.testing.codec.EndTestGroupErrorEventFormats with sbt.protocol.testing.codec.TestItemDetailFormats with sbt.protocol.testing.codec.TestItemEventFormats => +trait TestMessageFormats { self: sjsonnew.BasicJsonProtocol with sbt.protocol.testing.codec.TestStringEventFormats with sbt.protocol.testing.codec.TestInitEventFormats with sbt.protocol.testing.codec.TestResultFormats with sbt.protocol.testing.codec.TestCompleteEventFormats with sbt.protocol.testing.codec.StartTestGroupEventFormats with sbt.protocol.testing.codec.EndTestGroupEventFormats with sbt.protocol.testing.codec.EndTestGroupErrorEventFormats with sbt.protocol.testing.codec.TestItemDetailFormats with sbt.internal.testing.StatusFormats with sbt.protocol.testing.codec.TestItemEventFormats => implicit lazy val TestMessageFormat: JsonFormat[sbt.protocol.testing.TestMessage] = flatUnionFormat7[sbt.protocol.testing.TestMessage, sbt.protocol.testing.TestStringEvent, sbt.protocol.testing.TestInitEvent, sbt.protocol.testing.TestCompleteEvent, sbt.protocol.testing.StartTestGroupEvent, sbt.protocol.testing.EndTestGroupEvent, sbt.protocol.testing.EndTestGroupErrorEvent, sbt.protocol.testing.TestItemEvent]("type") } From b7a687356ff28dbf102de272ace77a4c270e8c5d Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sat, 19 Oct 2024 12:15:16 -0400 Subject: [PATCH 30/96] deps: Zinc 1.10.3 --- main/src/main/scala/sbt/internal/AnalysisUtil.scala | 2 -- project/Dependencies.scala | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/main/src/main/scala/sbt/internal/AnalysisUtil.scala b/main/src/main/scala/sbt/internal/AnalysisUtil.scala index d200ddfde..4280c84f6 100644 --- a/main/src/main/scala/sbt/internal/AnalysisUtil.scala +++ b/main/src/main/scala/sbt/internal/AnalysisUtil.scala @@ -11,7 +11,6 @@ package internal import java.nio.file.Path import sbt.internal.inc.MixedAnalyzingCompiler -import scala.concurrent.ExecutionContext import xsbti.compile.{ AnalysisStore => XAnalysisStore } import xsbti.compile.analysis.ReadWriteMappers @@ -34,7 +33,6 @@ private[sbt] object AnalysisUtil { useConsistent = false, mappers = ReadWriteMappers.getEmptyMappers(), sort = true, - ec = ExecutionContext.global, parallelism = parallelism, ) } diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 7fce66c02..53f92ff39 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -15,7 +15,7 @@ object Dependencies { private val ioVersion = nightlyVersion.getOrElse("1.10.1") private val lmVersion = sys.props.get("sbt.build.lm.version").orElse(nightlyVersion).getOrElse("1.10.1") - val zincVersion = nightlyVersion.getOrElse("1.10.2") + val zincVersion = nightlyVersion.getOrElse("1.10.3") private val sbtIO = "org.scala-sbt" %% "io" % ioVersion From 778cd09d0839fc90863429ea0ffc74aa0c5178c9 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sat, 19 Oct 2024 13:15:14 -0400 Subject: [PATCH 31/96] Mark circular deps error as pending --- .../sbt-test/source-dependencies/false-error/{test => pending} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sbt-app/src/sbt-test/source-dependencies/false-error/{test => pending} (100%) diff --git a/sbt-app/src/sbt-test/source-dependencies/false-error/test b/sbt-app/src/sbt-test/source-dependencies/false-error/pending similarity index 100% rename from sbt-app/src/sbt-test/source-dependencies/false-error/test rename to sbt-app/src/sbt-test/source-dependencies/false-error/pending From 98f45714aad497623c17cba6088b9cb4ae9567ac Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sat, 19 Oct 2024 15:02:55 -0400 Subject: [PATCH 32/96] deps: lm 1.10.2 --- project/Dependencies.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 53f92ff39..ce4659797 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -14,7 +14,7 @@ object Dependencies { // sbt modules private val ioVersion = nightlyVersion.getOrElse("1.10.1") private val lmVersion = - sys.props.get("sbt.build.lm.version").orElse(nightlyVersion).getOrElse("1.10.1") + sys.props.get("sbt.build.lm.version").orElse(nightlyVersion).getOrElse("1.10.2") val zincVersion = nightlyVersion.getOrElse("1.10.3") private val sbtIO = "org.scala-sbt" %% "io" % ioVersion From 9a6931ad54c8c2cae7eddf77c5f1484d468d3add Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sat, 19 Oct 2024 22:02:40 -0400 Subject: [PATCH 33/96] Add -march=compatibility --- build.sbt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build.sbt b/build.sbt index 10ee6465f..30d3806aa 100644 --- a/build.sbt +++ b/build.sbt @@ -1188,6 +1188,10 @@ lazy val sbtClientProj = (project in file("client")) nativeImageOptions ++= Seq( "--no-fallback", s"--initialize-at-run-time=sbt.client", + // "The current machine does not support all of the following CPU features that are required by + // the image: [CX8, CMOV, FXSR, MMX, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, POPCNT, LZCNT, AVX, + // AVX2, BMI1, BMI2, FMA, F16C]." + "-march=compatibility", // "--verbose", "-H:IncludeResourceBundles=jline.console.completer.CandidateListCompletionHandler", "-H:+ReportExceptionStackTraces", From 9483a3c626d186a100284d628207e22a5f3c548d Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sat, 19 Oct 2024 23:00:49 -0400 Subject: [PATCH 34/96] sbt 1.10.3 --- sbt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbt b/sbt index fa8970aa8..48c810869 100755 --- a/sbt +++ b/sbt @@ -1,7 +1,7 @@ #!/usr/bin/env bash set +e -declare builtin_sbt_version="1.10.2" +declare builtin_sbt_version="1.10.3" declare -a residual_args declare -a java_args declare -a scalac_args @@ -24,7 +24,7 @@ declare build_props_sbt_version= declare use_sbtn= declare no_server= declare sbtn_command="$SBTN_CMD" -declare sbtn_version="1.10.0" +declare sbtn_version="1.10.3" ### ------------------------------- ### ### Helper methods for BASH scripts ### From 73f05759102519cd101d9f1f6cb8309a14d7f666 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Sat, 19 Oct 2024 21:29:01 -0700 Subject: [PATCH 35/96] Bump JDK version in Developer guide --- DEVELOPING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEVELOPING.md b/DEVELOPING.md index beff0e099..1a7b22059 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -20,7 +20,7 @@ The `stable` branch represents the current stable sbt release. Only bug fixes ar ### Note on supported JDK version for the SBT build -The SBT build itself currently doesn't support any JDK beyond version 17. You will run into deprecation warnings (which would become build errors due to build configuration) if you use any later JDK version to build SBT. +The SBT build itself currently doesn't support any JDK beyond version 21. You may run into deprecation warnings (which would become build errors due to build configuration) if you use any later JDK version to build SBT. If you're using Metals as IDE, also check the `Java Version` setting. The default at the time of writing this is `17`, but this may change in the future, or you may have set it to a later version yourself. (Be aware that Metals may download a JDK in the background if you haven't switch to a local JDK matching the version before changing this setting. Also, this setting is currently only available as a `User` setting, so you can't set it for a single workspace. Don't forget to switch back if you need to for other projects). From fc6cede02d892670baf24ecadbaf40baf271bb7a Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 20 Oct 2024 00:50:43 -0400 Subject: [PATCH 36/96] ci: ubuntu-22.04 to workaround sbtn --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 43710c71f..298dc7567 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: fail-fast: false matrix: include: - - os: ubuntu-20.04 + - os: ubuntu-22.04 java: 21 distribution: temurin jobtype: 1 From 5718c08ce687c1759592517b7a646f84f35ba1c1 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Sat, 19 Oct 2024 21:51:06 -0700 Subject: [PATCH 37/96] SBT -> sbt --- DEVELOPING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DEVELOPING.md b/DEVELOPING.md index 1a7b22059..a56641dd0 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -18,9 +18,9 @@ The `develop` branch represents sbt 2.x, the next major sbt series. Next minor branch is where new features should be added as long as it is binary compatible with sbt 1.x. The `stable` branch represents the current stable sbt release. Only bug fixes are back-ported to the stable branch. -### Note on supported JDK version for the SBT build +### Note on supported JDK version for the sbt build -The SBT build itself currently doesn't support any JDK beyond version 21. You may run into deprecation warnings (which would become build errors due to build configuration) if you use any later JDK version to build SBT. +The sbt build itself currently doesn't support any JDK beyond version 21. You may run into deprecation warnings (which would become build errors due to build configuration) if you use any later JDK version to build sbt. If you're using Metals as IDE, also check the `Java Version` setting. The default at the time of writing this is `17`, but this may change in the future, or you may have set it to a later version yourself. (Be aware that Metals may download a JDK in the background if you haven't switch to a local JDK matching the version before changing this setting. Also, this setting is currently only available as a `User` setting, so you can't set it for a single workspace. Don't forget to switch back if you need to for other projects). From 784b56ccf7974b966b89067ca5cb37f9e81223c1 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Sat, 19 Oct 2024 21:57:27 -0700 Subject: [PATCH 38/96] Remove potentially buggy unused methods --- project/Util.scala | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/project/Util.scala b/project/Util.scala index cf8b75cc8..df8b3a06a 100644 --- a/project/Util.scala +++ b/project/Util.scala @@ -2,8 +2,6 @@ import scala.util.control.NonFatal import sbt._ import Keys._ -import sbt.internal.inc.Analysis - object Util { val version2_13 = settingKey[String]("version number") val ExclusiveTest: Tags.Tag = Tags.Tag("exclusive-test") @@ -75,30 +73,6 @@ object Util { run.run(mainClass, cp.files, args, s.log).failed foreach (e => sys error e.getMessage) (out ** "*.java").get } - def lastCompilationTime(analysis: Analysis): Long = { - val lastCompilation = analysis.compilations.allCompilations.lastOption - lastCompilation.map(_.getStartTime) getOrElse 0L - } - def generateVersionFile( - version: String, - dir: File, - s: TaskStreams, - analysis: Analysis - ): Seq[File] = { - import java.util.{ Date, TimeZone } - val formatter = new java.text.SimpleDateFormat("yyyyMMdd'T'HHmmss") - formatter.setTimeZone(TimeZone.getTimeZone("GMT")) - val timestamp = formatter.format(new Date) - val content = versionLine(version) + "\ntimestamp=" + timestamp - val f = dir / "xsbt.version.properties" - // TODO: replace lastModified() with sbt.io.IO.getModifiedTimeOrZero(), once the build - // has been upgraded to a version of sbt that includes that call. - if (!f.exists || f.lastModified < lastCompilationTime(analysis) || !containsVersion(f, version)) { - s.log.info("Writing version information to " + f + " :\n" + content) - IO.write(f, content) - } - f :: Nil - } def versionLine(version: String): String = "version=" + version def containsVersion(propFile: File, version: String): Boolean = IO.read(propFile).contains(versionLine(version)) From 64fab3af8e43a158cb931118b147f145b4a8d6e1 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Mon, 21 Oct 2024 15:05:57 -0700 Subject: [PATCH 39/96] Bump Scala 2.13 to 2.13.15 --- project/Dependencies.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index ce4659797..053936166 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -5,7 +5,7 @@ import sbt.contraband.ContrabandPlugin.autoImport._ object Dependencies { // WARNING: Please Scala update versions in PluginCross.scala too val scala212 = "2.12.20" - val scala213 = "2.13.14" + val scala213 = "2.13.15" val checkPluginCross = settingKey[Unit]("Make sure scalaVersion match up") val baseScalaVersion = scala212 def nightlyVersion: Option[String] = From f6d7f33261c7153805f0e600eddf1c101ce764f9 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Mon, 21 Oct 2024 17:06:31 -0700 Subject: [PATCH 40/96] Bump sbt to 1.10.3 --- build.sbt | 2 +- launcher-package/build.sbt | 2 +- project/build.properties | 2 +- sbt-app/src/sbt-test/project/scripted13/test | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build.sbt b/build.sbt index 30d3806aa..084206406 100644 --- a/build.sbt +++ b/build.sbt @@ -11,7 +11,7 @@ import scala.util.Try // ThisBuild settings take lower precedence, // but can be shared across the multi projects. ThisBuild / version := { - val v = "1.10.2-SNAPSHOT" + val v = "1.10.4-SNAPSHOT" nightlyVersion.getOrElse(v) } ThisBuild / version2_13 := "2.0.0-SNAPSHOT" diff --git a/launcher-package/build.sbt b/launcher-package/build.sbt index 88a5f6b11..ab2480cfa 100755 --- a/launcher-package/build.sbt +++ b/launcher-package/build.sbt @@ -121,7 +121,7 @@ val root = (project in file(".")). file }, // update sbt.sh at root - sbtnVersion := "1.10.0", + sbtnVersion := "1.10.3", sbtnJarsBaseUrl := "https://github.com/sbt/sbtn-dist/releases/download", sbtnJarsMappings := { val baseUrl = sbtnJarsBaseUrl.value diff --git a/project/build.properties b/project/build.properties index cb409aac6..caeacc5ee 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.10.1 \ No newline at end of file +sbt.version=1.10.3 \ No newline at end of file diff --git a/sbt-app/src/sbt-test/project/scripted13/test b/sbt-app/src/sbt-test/project/scripted13/test index 6935c0e54..8806b8fa8 100644 --- a/sbt-app/src/sbt-test/project/scripted13/test +++ b/sbt-app/src/sbt-test/project/scripted13/test @@ -1,6 +1,6 @@ # This tests that this sbt scripted plugin can launch the previous one -> ^^1.10.1 +> ^^1.10.2 $ copy-file changes/A.scala src/sbt-test/a/b/A.scala > scripted From 9d5cddd171d2bc7b2222c8ca83630856a82012c2 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Mon, 21 Oct 2024 22:00:25 -0700 Subject: [PATCH 41/96] Let Consistent Analysis to be opt-in by default --- main/src/main/scala/sbt/internal/SysProp.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/internal/SysProp.scala b/main/src/main/scala/sbt/internal/SysProp.scala index 260c6420a..6a2dfc7aa 100644 --- a/main/src/main/scala/sbt/internal/SysProp.scala +++ b/main/src/main/scala/sbt/internal/SysProp.scala @@ -140,7 +140,7 @@ object SysProp { def turbo: Boolean = getOrFalse("sbt.turbo") def pipelining: Boolean = getOrFalse("sbt.pipelining") // opt-in or out of Zinc's consistent Analysis format. - def analysis2024: Boolean = getOrTrue("sbt.analysis2024") + def analysis2024: Boolean = getOrFalse("sbt.analysis2024") def taskTimings: Boolean = getOrFalse("sbt.task.timings") def taskTimingsOnShutdown: Boolean = getOrFalse("sbt.task.timings.on.shutdown") From 0e85726858ad8332356d4ebae82b05788c95f16a Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Tue, 22 Oct 2024 13:05:20 -0700 Subject: [PATCH 42/96] Use JNI to replace deprecated Jansi & JNA --- build.sbt | 4 +- .../main/scala/sbt/internal/util/JLine3.scala | 40 +++---------------- .../sbt/internal/client/NetworkClient.scala | 1 - .../java/sbt/internal/MetaBuildLoader.java | 22 ++++------ project/Dependencies.scala | 4 +- 5 files changed, 17 insertions(+), 54 deletions(-) diff --git a/build.sbt b/build.sbt index 084206406..d59f9c164 100644 --- a/build.sbt +++ b/build.sbt @@ -378,8 +378,8 @@ lazy val utilLogging = (project in file("internal") / "util-logging") Seq( jline, jline3Terminal, - jline3JNA, - jline3Jansi, + jline3JNI, + jline3Native, log4jApi, log4jCore, disruptor, diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala b/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala index bea9b3c99..a798b5eb0 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala @@ -19,9 +19,7 @@ import org.jline.terminal.{ Attributes, Size, Terminal => JTerminal } import org.jline.terminal.Attributes.{ InputFlag, LocalFlag } import org.jline.terminal.Terminal.SignalHandler import org.jline.terminal.impl.{ AbstractTerminal, DumbTerminal } -import org.jline.terminal.impl.jansi.JansiTerminalProvider import org.jline.terminal.spi.{ SystemStream, TerminalProvider } -import org.jline.utils.OSUtils import scala.collection.JavaConverters._ import scala.util.Try import java.util.concurrent.LinkedBlockingQueue @@ -29,41 +27,13 @@ import java.util.concurrent.LinkedBlockingQueue private[sbt] object JLine3 { private[util] val initialAttributes = new AtomicReference[Attributes] - private[this] val forceWindowsJansiHolder = new AtomicBoolean(false) - private[sbt] def forceWindowsJansi(): Unit = forceWindowsJansiHolder.set(true) - private[this] def windowsJansi(): org.jline.terminal.Terminal = { - val provider = new JansiTerminalProvider - val termType = sys.props.get("org.jline.terminal.type").orElse(sys.env.get("TERM")).orNull - provider.winSysTerminal( - "console", - termType, - OSUtils.IS_CONEMU, - Charset.forName("UTF-8"), - false, - SignalHandler.SIG_DFL, - true, - SystemStream.Output - ) - } - private val jansi = { - val (major, minor) = - (JansiTerminalProvider.getJansiMajorVersion, JansiTerminalProvider.getJansiMinorVersion) - (major > 1 || minor >= 18) && Util.isWindows - } private[util] def system: org.jline.terminal.Terminal = { val term = - if (forceWindowsJansiHolder.get) windowsJansi() - else { - // Only use jna on windows. Both jna and jansi use illegal reflective - // accesses on posix system. - org.jline.terminal.TerminalBuilder - .builder() - .system(System.console != null) - .jna(Util.isWindows && !jansi) - .jansi(jansi) - .paused(true) - .build() - } + org.jline.terminal.TerminalBuilder + .builder() + .system(System.console != null) + .paused(true) + .build() initialAttributes.get match { case null => initialAttributes.set(term.getAttributes) case _ => diff --git a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala index 579e808c8..5eab01bc4 100644 --- a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala +++ b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala @@ -1237,7 +1237,6 @@ object NetworkClient { System.out.flush() }) Runtime.getRuntime.addShutdownHook(hook) - if (Util.isNonCygwinWindows) sbt.internal.util.JLine3.forceWindowsJansi() val parsed = parseArgs(restOfArgs) System.exit(Terminal.withStreams(isServer = false, isSubProcess = false) { val term = Terminal.console diff --git a/main/src/main/java/sbt/internal/MetaBuildLoader.java b/main/src/main/java/sbt/internal/MetaBuildLoader.java index c1980117f..7bc9beac9 100644 --- a/main/src/main/java/sbt/internal/MetaBuildLoader.java +++ b/main/src/main/java/sbt/internal/MetaBuildLoader.java @@ -14,6 +14,7 @@ import java.net.URL; import java.net.URLClassLoader; import java.util.LinkedHashSet; import java.util.Set; +import java.util.Stack; import java.util.regex.Pattern; import xsbti.AppProvider; import xsbti.ScalaProvider; @@ -65,32 +66,26 @@ public final class MetaBuildLoader extends URLClassLoader { * library. */ public static MetaBuildLoader makeLoader(final AppProvider appProvider) throws IOException { - final String jlineJars = "jline-?[0-9.]+-sbt-.*|jline-terminal(-(jna|jansi))?-[0-9.]+"; + final String jlineJars = + "jline-?[0-9.]+-sbt-.*|jline-terminal(-(jni))?-[0-9.]+|jline-native-[0-9.]+"; final String testInterfaceJars = "test-interface(-.*)?"; final String compilerInterfaceJars = "compiler-interface(-.*)?"; final String utilInterfaceJars = "util-interface(-.*)?"; final String jansiJars = "jansi-[0-9.]+"; - final String jnaJars = "jna-(platform-)?[0-9.]+"; final String fullPattern = String.format( - "^(%s|%s|%s|%s|%s|%s)\\.jar", - jlineJars, - testInterfaceJars, - compilerInterfaceJars, - utilInterfaceJars, - jansiJars, - jnaJars); + "^(%s|%s|%s|%s|%s)\\.jar", + jlineJars, testInterfaceJars, compilerInterfaceJars, utilInterfaceJars, jansiJars); final Pattern pattern = Pattern.compile(fullPattern); final File[] cp = appProvider.mainClasspath(); final URL[] interfaceURLs = new URL[3]; - final URL[] jlineURLs = new URL[7]; + final Stack jlineURLs = new Stack<>(); final File[] extra = appProvider.id().classpathExtra() == null ? new File[0] : appProvider.id().classpathExtra(); final Set bottomClasspath = new LinkedHashSet<>(); { int interfaceIndex = 0; - int jlineIndex = 0; for (final File file : cp) { final String name = file.getName(); if ((name.contains("test-interface") @@ -100,8 +95,7 @@ public final class MetaBuildLoader extends URLClassLoader { interfaceURLs[interfaceIndex] = file.toURI().toURL(); interfaceIndex += 1; } else if (pattern.matcher(name).find()) { - jlineURLs[jlineIndex] = file.toURI().toURL(); - jlineIndex += 1; + jlineURLs.push(file.toURI().toURL()); } else { bottomClasspath.add(file); } @@ -150,7 +144,7 @@ public final class MetaBuildLoader extends URLClassLoader { }; final SbtInterfaceLoader interfaceLoader = new SbtInterfaceLoader(interfaceURLs, topLoader); - final JLineLoader jlineLoader = new JLineLoader(jlineURLs, interfaceLoader); + final JLineLoader jlineLoader = new JLineLoader(jlineURLs.toArray(new URL[0]), interfaceLoader); final File[] siJars = scalaProvider.jars(); final URL[] lib = new URL[1]; int scalaRestCount = siJars.length - 1; diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 053936166..def71eb9e 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -89,8 +89,8 @@ object Dependencies { val jline = "org.scala-sbt.jline" % "jline" % "2.14.7-sbt-9c3b6aca11c57e339441442bbf58e550cdfecb79" val jline3Version = "3.27.0" val jline3Terminal = "org.jline" % "jline-terminal" % jline3Version - val jline3Jansi = "org.jline" % "jline-terminal-jansi" % jline3Version - val jline3JNA = "org.jline" % "jline-terminal-jna" % jline3Version + val jline3JNI = "org.jline" % "jline-terminal-jni" % jline3Version + val jline3Native = "org.jline" % "jline-native" % jline3Version val jline3Reader = "org.jline" % "jline-reader" % jline3Version val jline3Builtins = "org.jline" % "jline-builtins" % jline3Version val jansi = "org.fusesource.jansi" % "jansi" % "2.4.1" From 1ba63a1c070914d9901e163dbd803fbc790ca5ef Mon Sep 17 00:00:00 2001 From: philippus Date: Wed, 23 Oct 2024 07:45:41 +0200 Subject: [PATCH 43/96] Deprecate useJCenter key --- main/src/main/scala/sbt/Defaults.scala | 2 ++ main/src/main/scala/sbt/Keys.scala | 1 + 2 files changed, 3 insertions(+) diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index e2c199c4f..0b0e761b8 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -3032,6 +3032,7 @@ object Classpaths { publishM2 := publishOrSkip(publishM2Configuration, publishM2 / skip).value ) + @nowarn("cat=deprecation") private[this] def baseGlobalDefaults = Defaults.globalDefaults( Seq( @@ -3102,6 +3103,7 @@ object Classpaths { ) ) + @nowarn("cat=deprecation") val ivyBaseSettings: Seq[Setting[_]] = baseGlobalDefaults ++ sbtClassifiersTasks ++ Seq( conflictWarning := conflictWarning.value.copy(label = Reference.display(thisProjectRef.value)), unmanagedBase := baseDirectory.value / "lib", diff --git a/main/src/main/scala/sbt/Keys.scala b/main/src/main/scala/sbt/Keys.scala index 284d9f472..fb428c33b 100644 --- a/main/src/main/scala/sbt/Keys.scala +++ b/main/src/main/scala/sbt/Keys.scala @@ -530,6 +530,7 @@ object Keys { val otherResolvers = taskKey[Seq[Resolver]]("Resolvers not included in the main resolver chain, such as those in module configurations.").withRank(CSetting) val scalaCompilerBridgeResolvers = taskKey[Seq[Resolver]]("Resolvers used to resolve compiler bridges.").withRank(CSetting) val includePluginResolvers = settingKey[Boolean]("Include the resolvers from the metabuild.").withRank(CSetting) + @deprecated("JCenter has sunset", "1.10.4") val useJCenter = settingKey[Boolean]("Use JCenter as the default repository.").withRank(CSetting) val moduleConfigurations = settingKey[Seq[ModuleConfiguration]]("Defines module configurations, which override resolvers on a per-module basis.").withRank(BMinusSetting) val retrievePattern = settingKey[String]("Pattern used to retrieve managed dependencies to the current build.").withRank(DSetting) From d340ff916ef669df36fb361b6603a43b45728e9f Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Wed, 23 Oct 2024 00:14:22 -0700 Subject: [PATCH 44/96] Static Link musl for Linux Native Image build --- .github/workflows/ci.yml | 6 ++++++ build.sbt | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 298dc7567..ce146193e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -82,6 +82,12 @@ jobs: repository: sbt/zinc ref: 1.10.x path: zinc + - uses: graalvm/setup-graalvm@v1 + with: + java-version: '23' + native-image-musl: 'true' + set-java-home: 'false' + github-token: ${{ secrets.GITHUB_TOKEN }} - name: Setup JDK uses: actions/setup-java@v4 with: diff --git a/build.sbt b/build.sbt index 084206406..66253aea5 100644 --- a/build.sbt +++ b/build.sbt @@ -1176,8 +1176,7 @@ lazy val sbtClientProj = (project in file("client")) nativeImageReady := { () => () }, - nativeImageVersion := "23.0", - nativeImageJvm := "graalvm-java23", + nativeImageInstalled := true, nativeImageOutput := { val outputDir = (target.value / "bin").toPath if (!Files.exists(outputDir)) { @@ -1199,7 +1198,7 @@ lazy val sbtClientProj = (project in file("client")) s"-H:Name=${target.value / "bin" / "sbtn"}", ) ++ (if (isLinux && isArmArchitecture) Seq("-H:PageSize=65536") // Make sure binary runs on kernels with page size set to 4k, 16 and 64k - else Nil), + else Nil) ++ (if (isLinux) Seq("--static", "--libc=musl") else Nil), buildThinClient := { val isFish = Def.spaceDelimited("").parsed.headOption.fold(false)(_ == "--fish") val ext = if (isWin) ".bat" else if (isFish) ".fish" else ".sh" From 0b01ed4743ceeec4e5b69c4e90c7c7b16a3d586d Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Thu, 24 Oct 2024 01:44:49 -0400 Subject: [PATCH 45/96] fix: Fixes BSP **Problem** Calling -bsp with --sbt-launch-jar causes "Unrecognized option: --server". This is because --server is passed in twice since $7775 **Solution** Since the server invocation by BSP client already passes in --server, we can remove the extra --server append. --- .../src/main/scala/sbt/internal/client/NetworkClient.scala | 1 - 1 file changed, 1 deletion(-) diff --git a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala index 5eab01bc4..e31891564 100644 --- a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala +++ b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala @@ -1127,7 +1127,6 @@ object NetworkClient { sbtArguments += s"-Dsbt.script=$sbtScript" } } - if (!sbtArguments.contains("--server")) sbtArguments += "--server" new Arguments( base, sbtArguments.toSeq, From 60b451c3d1743d2c604a8a7ac00a759a73988d9c Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 24 Oct 2024 00:04:29 -0700 Subject: [PATCH 46/96] Address PR feedback & fix CI --- .github/workflows/ci.yml | 1 + build.sbt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ce146193e..35a1c8b19 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,6 +83,7 @@ jobs: ref: 1.10.x path: zinc - uses: graalvm/setup-graalvm@v1 + if: ${{ matrix.jobtype >= 7 && matrix.jobtype <= 9 }} with: java-version: '23' native-image-musl: 'true' diff --git a/build.sbt b/build.sbt index 66253aea5..22e6d7296 100644 --- a/build.sbt +++ b/build.sbt @@ -1198,7 +1198,7 @@ lazy val sbtClientProj = (project in file("client")) s"-H:Name=${target.value / "bin" / "sbtn"}", ) ++ (if (isLinux && isArmArchitecture) Seq("-H:PageSize=65536") // Make sure binary runs on kernels with page size set to 4k, 16 and 64k - else Nil) ++ (if (isLinux) Seq("--static", "--libc=musl") else Nil), + else Nil) ++ (if (isLinux && !isArmArchitecture) Seq("--static", "--libc=musl") else Nil), buildThinClient := { val isFish = Def.spaceDelimited("").parsed.headOption.fold(false)(_ == "--fish") val ext = if (isWin) ".bat" else if (isFish) ".fish" else ".sh" From 20db3eddf1a517b07cf263ac02a37fbac10b2ef8 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 24 Oct 2024 01:06:03 -0700 Subject: [PATCH 47/96] Bump TEST_SBT_VER to 1.10.3 --- .github/workflows/ci.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 298dc7567..fc9a1a5e1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,10 +54,8 @@ jobs: JAVA_OPTS: -Xms800M -Xmx2G -Xss6M -XX:ReservedCodeCacheSize=128M -server -Dsbt.io.virtual=false -Dfile.encoding=UTF-8 JVM_OPTS: -Xms800M -Xmx2G -Xss6M -XX:ReservedCodeCacheSize=128M -server -Dsbt.io.virtual=false -Dfile.encoding=UTF-8 SCALA_212: 2.12.20 - SCALA_3: 3.1.0 UTIL_TESTS: "utilCache/test utilControl/test utilInterface/test utilLogging/test utilPosition/test utilRelation/test utilScripted/test utilTracking/test" - SBT_LOCAL: false - TEST_SBT_VER: 1.5.0 + TEST_SBT_VER: 1.10.3 SBT_ETC_FILE: $HOME/etc/sbt/sbtopts JDK11: adopt@1.11.0-9 SPARK_LOCAL_IP: "127.0.0.1" @@ -149,7 +147,7 @@ jobs: shell: bash run: | # build from fresh IO, LM, and Zinc - BUILD_VERSION="1.5.0-SNAPSHOT" + BUILD_VERSION="${TEST_SBT_VER}-SNAPSHOT" cd io sbt -v -Dsbt.build.version=${BUILD_VERSION} +publishLocal cd ../ From 5658432c9d1e9eb91486680164cc2e6942a220f6 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 24 Oct 2024 01:17:15 -0700 Subject: [PATCH 48/96] Delete .java-version --- .java-version | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .java-version diff --git a/.java-version b/.java-version deleted file mode 100644 index 625934097..000000000 --- a/.java-version +++ /dev/null @@ -1 +0,0 @@ -1.8 From 1ca8ede010a191cabaec19c2e55744675d3f05af Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 24 Oct 2024 10:30:41 -0700 Subject: [PATCH 49/96] Rename to multirepo integration test --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc9a1a5e1..a1a6c9d9c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -142,7 +142,7 @@ jobs: shell: bash run: | ./sbt -v "++2.13.x; all utilControl/test utilRelation/test utilPosition/test" - - name: Build and test (6) + - name: Multirepo integration test if: ${{ matrix.jobtype == 6 }} shell: bash run: | From da00a194fcf384f0fa1e084b85d8655399d92523 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 24 Oct 2024 17:51:09 -0700 Subject: [PATCH 50/96] Bump JLine to 3.27.1 --- project/Dependencies.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index def71eb9e..ab45b2dc3 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -87,7 +87,7 @@ object Dependencies { // JLine 3 version must be coordinated together with JAnsi version // and the JLine 2 fork version, which uses the same JAnsi val jline = "org.scala-sbt.jline" % "jline" % "2.14.7-sbt-9c3b6aca11c57e339441442bbf58e550cdfecb79" - val jline3Version = "3.27.0" + val jline3Version = "3.27.1" val jline3Terminal = "org.jline" % "jline-terminal" % jline3Version val jline3JNI = "org.jline" % "jline-terminal-jni" % jline3Version val jline3Native = "org.jline" % "jline-native" % jline3Version From 5e7fe0b158675cb7ee0410a85f52573f84d08e02 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:00:51 -0700 Subject: [PATCH 51/96] Use more generic early output file name --- main/src/main/scala/sbt/Defaults.scala | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 0b0e761b8..11490ab77 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -647,7 +647,8 @@ object Defaults extends BuildCommon { val dir = classDirectory.value converter.toVirtualFile(dir.toPath) }, - earlyOutput / artifactPath := configArtifactPathSetting(artifact, "early").value, + earlyOutput / artifactPath := crossTarget.value / + (prefix(configuration.value.name) + "early") / "early.jar", earlyOutput := { val converter = fileConverter.value val jar = (earlyOutput / artifactPath).value @@ -1813,23 +1814,6 @@ object Defaults extends BuildCommon { excludes: ScopedTaskable[FileFilter] ): Initialize[Task[Seq[File]]] = collectFiles(dirs: Taskable[Seq[File]], filter, excludes) - private[sbt] def configArtifactPathSetting( - art: SettingKey[Artifact], - extraPrefix: String - ): Initialize[File] = - Def.setting { - val f = artifactName.value - crossTarget.value / - (prefix(configuration.value.name) + extraPrefix) / f( - ScalaVersion( - (artifactName / scalaVersion).value, - (artifactName / scalaBinaryVersion).value - ), - projectID.value, - art.value - ) - } - private[sbt] def prefixArtifactPathSetting( art: SettingKey[Artifact], extraPrefix: String From 824395f6be7d6a0b9f462c66ed0dc18475bf241b Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:25:44 -0700 Subject: [PATCH 52/96] Fix CI --- build.sbt | 3 ++- sbt-app/src/sbt-test/source-dependencies/pipelining/build.sbt | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 56a908f4f..b04f99637 100644 --- a/build.sbt +++ b/build.sbt @@ -178,7 +178,8 @@ def mimaSettingsSince(versions: Seq[String]): Seq[Def.Setting[_]] = Def settings exclude[DirectMissingMethodProblem]("sbt.PluginData.this"), exclude[IncompatibleResultTypeProblem]("sbt.EvaluateTask.executeProgress"), exclude[DirectMissingMethodProblem]("sbt.Keys.currentTaskProgress"), - exclude[IncompatibleResultTypeProblem]("sbt.PluginData.copy$default$10") + exclude[IncompatibleResultTypeProblem]("sbt.PluginData.copy$default$10"), + exclude[DirectMissingMethodProblem]("sbt.Defaults.configArtifactPathSetting"), ), ) diff --git a/sbt-app/src/sbt-test/source-dependencies/pipelining/build.sbt b/sbt-app/src/sbt-test/source-dependencies/pipelining/build.sbt index 96b5b5a17..25dfae396 100644 --- a/sbt-app/src/sbt-test/source-dependencies/pipelining/build.sbt +++ b/sbt-app/src/sbt-test/source-dependencies/pipelining/build.sbt @@ -17,6 +17,6 @@ lazy val use = project val x = (dep / Compile / compile).value val picklePath = (Compile / internalDependencyPicklePath).value assert(picklePath.size == 1 && - picklePath.head.data.name == "dep_2.13-0.1.0-SNAPSHOT.jar", s"picklePath = ${picklePath}") + picklePath.head.data.name == "early.jar", s"picklePath = ${picklePath}") }, ) From 4beb78b2607b3f4ce2af97788702ad5878a5a98a Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Fri, 25 Oct 2024 11:15:24 -0700 Subject: [PATCH 53/96] Adopt PR feedbacks --- build.sbt | 3 +-- main/src/main/scala/sbt/Defaults.scala | 12 ++++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/build.sbt b/build.sbt index b04f99637..56a908f4f 100644 --- a/build.sbt +++ b/build.sbt @@ -178,8 +178,7 @@ def mimaSettingsSince(versions: Seq[String]): Seq[Def.Setting[_]] = Def settings exclude[DirectMissingMethodProblem]("sbt.PluginData.this"), exclude[IncompatibleResultTypeProblem]("sbt.EvaluateTask.executeProgress"), exclude[DirectMissingMethodProblem]("sbt.Keys.currentTaskProgress"), - exclude[IncompatibleResultTypeProblem]("sbt.PluginData.copy$default$10"), - exclude[DirectMissingMethodProblem]("sbt.Defaults.configArtifactPathSetting"), + exclude[IncompatibleResultTypeProblem]("sbt.PluginData.copy$default$10") ), ) diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 11490ab77..1a8f61463 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -647,8 +647,7 @@ object Defaults extends BuildCommon { val dir = classDirectory.value converter.toVirtualFile(dir.toPath) }, - earlyOutput / artifactPath := crossTarget.value / - (prefix(configuration.value.name) + "early") / "early.jar", + earlyOutput / artifactPath := configArtifactPathSetting(artifact, "early").value, earlyOutput := { val converter = fileConverter.value val jar = (earlyOutput / artifactPath).value @@ -1814,6 +1813,15 @@ object Defaults extends BuildCommon { excludes: ScopedTaskable[FileFilter] ): Initialize[Task[Seq[File]]] = collectFiles(dirs: Taskable[Seq[File]], filter, excludes) + private[sbt] def configArtifactPathSetting( + art: SettingKey[Artifact], + extraPrefix: String + ): Initialize[File] = + Def.setting { + crossTarget.value / + (prefix(configuration.value.name) + "early") / "early.jar" + } + private[sbt] def prefixArtifactPathSetting( art: SettingKey[Artifact], extraPrefix: String From 7d674f6c93859bbd88bc67a1354d98d3ff0d3310 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Sat, 26 Oct 2024 22:10:48 -0700 Subject: [PATCH 54/96] Throw when template not found --- main/src/main/scala/sbt/TemplateCommandUtil.scala | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/main/src/main/scala/sbt/TemplateCommandUtil.scala b/main/src/main/scala/sbt/TemplateCommandUtil.scala index 86d63c924..328781dd8 100644 --- a/main/src/main/scala/sbt/TemplateCommandUtil.scala +++ b/main/src/main/scala/sbt/TemplateCommandUtil.scala @@ -84,7 +84,9 @@ private[sbt] object TemplateCommandUtil { hit } match { case Some(_) => // do nothing - case None => System.err.println("Template not found for: " + arguments.mkString(" ")) + case None => + val error = "Template not found for: " + arguments.mkString(" ") + throw new IllegalArgumentException(error) } private def tryTemplate( @@ -276,7 +278,8 @@ private[sbt] object TemplateCommandUtil { case TypelevelToolkitSlug :: Nil => typelevelToolkitTemplate() case SbtCrossPlatformSlug :: Nil => sbtCrossPlatformTemplate() case _ => - System.err.println("Local template not found for: " + arguments.mkString(" ")) + val error = "Local template not found for: " + arguments.mkString(" ") + throw new IllegalArgumentException(error) } private final val defaultScalaV = "3.3.4" From 6d4d2161b207e36efa259b7e9ff7fa0dac33b6ac Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Sun, 27 Oct 2024 22:43:44 -0700 Subject: [PATCH 55/96] Set correct action for onTermination callback --- main/src/main/scala/sbt/internal/Continuous.scala | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/main/src/main/scala/sbt/internal/Continuous.scala b/main/src/main/scala/sbt/internal/Continuous.scala index b78f167d2..50e3a4d01 100644 --- a/main/src/main/scala/sbt/internal/Continuous.scala +++ b/main/src/main/scala/sbt/internal/Continuous.scala @@ -1129,7 +1129,7 @@ private[sbt] object Continuous extends DeprecatedContinuous { val callbacks: Callbacks, val dynamicInputs: mutable.Set[DynamicInput], val pending: Boolean, - var failAction: Option[Watch.Action], + var terminationAction: Option[Watch.Action], ) { def this( count: Int, @@ -1162,7 +1162,8 @@ private[sbt] object Continuous extends DeprecatedContinuous { afterWatch, callbacks, dynamicInputs, - p + p, + terminationAction, ) private def withCount(c: Int): ContinuousState = new ContinuousState( @@ -1173,7 +1174,8 @@ private[sbt] object Continuous extends DeprecatedContinuous { afterWatch, callbacks, dynamicInputs, - pending + pending, + terminationAction, ) } } @@ -1341,12 +1343,13 @@ private[sbt] object ContinuousCommands { case Watch.Trigger => Right(s"$runWatch ${channel.name}") case Watch.Reload => val rewatch = s"$ContinuousExecutePrefix ${ws.count} ${cs.commands mkString "; "}" + cs.terminationAction = Some(Watch.Reload) stop.map(_ :: "reload" :: rewatch :: Nil mkString "; ") case Watch.Prompt => stop.map(_ :: s"$PromptChannel ${channel.name}" :: Nil mkString ";") case Watch.Run(commands) => stop.map(_ +: commands.map(_.commandLine).filter(_.nonEmpty) mkString "; ") case a @ Watch.HandleError(_) => - cs.failAction = Some(a) + cs.terminationAction = Some(a) stop.map(_ :: s"$failWatch ${channel.name}" :: Nil mkString "; ") case _ => stop } @@ -1394,7 +1397,7 @@ private[sbt] object ContinuousCommands { } val commands = cs.commands.mkString("; ") val count = cs.count - val action = cs.failAction.getOrElse(Watch.CancelWatch) + val action = cs.terminationAction.getOrElse(Watch.CancelWatch) val st = cs.callbacks.onTermination(action, commands, count, newState) if (error) st.fail else st case _ => if (error) state.fail else state From 425e69fe48222bc58fa8703ae9895bd8a11fc506 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Mon, 28 Oct 2024 04:24:49 -0400 Subject: [PATCH 56/96] deps: Zinc 1.10.4 --- project/Dependencies.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index ab45b2dc3..a50c76357 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -15,7 +15,7 @@ object Dependencies { private val ioVersion = nightlyVersion.getOrElse("1.10.1") private val lmVersion = sys.props.get("sbt.build.lm.version").orElse(nightlyVersion).getOrElse("1.10.2") - val zincVersion = nightlyVersion.getOrElse("1.10.3") + val zincVersion = nightlyVersion.getOrElse("1.10.4") private val sbtIO = "org.scala-sbt" %% "io" % ioVersion From 5096cc18295c68e8548740fe3c23a78b7d85b9c3 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Mon, 28 Oct 2024 04:59:21 -0400 Subject: [PATCH 57/96] Adjust native image setting --- build.sbt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 56a908f4f..c466fbaf5 100644 --- a/build.sbt +++ b/build.sbt @@ -1176,7 +1176,13 @@ lazy val sbtClientProj = (project in file("client")) nativeImageReady := { () => () }, - nativeImageInstalled := true, + if (isArmArchitecture) + Seq( + nativeImageVersion := "23.0", + nativeImageJvm := "graalvm-java23", + ) + else Nil, + nativeImageInstalled := !isArmArchitecture, nativeImageOutput := { val outputDir = (target.value / "bin").toPath if (!Files.exists(outputDir)) { From 634a5840aeaa275ea5a23302c86547b1c65b447a Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Mon, 28 Oct 2024 06:09:14 -0400 Subject: [PATCH 58/96] sbt 1.10.4 --- launcher-package/build.sbt | 2 +- sbt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/launcher-package/build.sbt b/launcher-package/build.sbt index ab2480cfa..44b1d03bc 100755 --- a/launcher-package/build.sbt +++ b/launcher-package/build.sbt @@ -121,7 +121,7 @@ val root = (project in file(".")). file }, // update sbt.sh at root - sbtnVersion := "1.10.3", + sbtnVersion := "1.10.4", sbtnJarsBaseUrl := "https://github.com/sbt/sbtn-dist/releases/download", sbtnJarsMappings := { val baseUrl = sbtnJarsBaseUrl.value diff --git a/sbt b/sbt index 48c810869..0fb251e79 100755 --- a/sbt +++ b/sbt @@ -1,7 +1,7 @@ #!/usr/bin/env bash set +e -declare builtin_sbt_version="1.10.3" +declare builtin_sbt_version="1.10.4" declare -a residual_args declare -a java_args declare -a scalac_args @@ -24,7 +24,7 @@ declare build_props_sbt_version= declare use_sbtn= declare no_server= declare sbtn_command="$SBTN_CMD" -declare sbtn_version="1.10.3" +declare sbtn_version="1.10.4" ### ------------------------------- ### ### Helper methods for BASH scripts ### From 28a9f9c9209b9f1a3d4248ac9cbff35cbd20d861 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Mon, 28 Oct 2024 11:51:02 -0700 Subject: [PATCH 59/96] Prepare for sbt 1.10.5 --- .github/workflows/ci.yml | 2 +- build.sbt | 2 +- project/build.properties | 2 +- sbt-app/src/sbt-test/project/scripted13/test | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 01723272d..6cb5ca518 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,7 +55,7 @@ jobs: JVM_OPTS: -Xms800M -Xmx2G -Xss6M -XX:ReservedCodeCacheSize=128M -server -Dsbt.io.virtual=false -Dfile.encoding=UTF-8 SCALA_212: 2.12.20 UTIL_TESTS: "utilCache/test utilControl/test utilInterface/test utilLogging/test utilPosition/test utilRelation/test utilScripted/test utilTracking/test" - TEST_SBT_VER: 1.10.3 + TEST_SBT_VER: 1.10.4 SBT_ETC_FILE: $HOME/etc/sbt/sbtopts JDK11: adopt@1.11.0-9 SPARK_LOCAL_IP: "127.0.0.1" diff --git a/build.sbt b/build.sbt index c466fbaf5..043b4880d 100644 --- a/build.sbt +++ b/build.sbt @@ -11,7 +11,7 @@ import scala.util.Try // ThisBuild settings take lower precedence, // but can be shared across the multi projects. ThisBuild / version := { - val v = "1.10.4-SNAPSHOT" + val v = "1.10.5-SNAPSHOT" nightlyVersion.getOrElse(v) } ThisBuild / version2_13 := "2.0.0-SNAPSHOT" diff --git a/project/build.properties b/project/build.properties index caeacc5ee..c0685085e 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.10.3 \ No newline at end of file +sbt.version=1.10.4 \ No newline at end of file diff --git a/sbt-app/src/sbt-test/project/scripted13/test b/sbt-app/src/sbt-test/project/scripted13/test index 8806b8fa8..9a7fad1c5 100644 --- a/sbt-app/src/sbt-test/project/scripted13/test +++ b/sbt-app/src/sbt-test/project/scripted13/test @@ -1,6 +1,6 @@ # This tests that this sbt scripted plugin can launch the previous one -> ^^1.10.2 +> ^^1.10.3 $ copy-file changes/A.scala src/sbt-test/a/b/A.scala > scripted From 828dc048082da01b7aba6512de6976c90224fe25 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Mon, 28 Oct 2024 18:01:54 -0700 Subject: [PATCH 60/96] Migrate all usages of `System.console == null` --- .../scala/sbt/internal/util/LineReader.scala | 2 +- .../main/scala/sbt/internal/util/JLine3.scala | 3 ++- .../main/scala/sbt/internal/util/Terminal.scala | 16 +++++++++++++--- .../src/main/scala/sbt/internal/ui/UITask.scala | 3 ++- main/src/main/scala/sbt/Main.scala | 4 ++-- .../src/main/scala/sbt/TemplateCommandUtil.scala | 3 ++- .../main/scala/sbt/internal/InstallSbtn.scala | 3 ++- 7 files changed, 24 insertions(+), 10 deletions(-) diff --git a/internal/util-complete/src/main/scala/sbt/internal/util/LineReader.scala b/internal/util-complete/src/main/scala/sbt/internal/util/LineReader.scala index 20db30ab0..9b8b86d4f 100644 --- a/internal/util-complete/src/main/scala/sbt/internal/util/LineReader.scala +++ b/internal/util-complete/src/main/scala/sbt/internal/util/LineReader.scala @@ -130,7 +130,7 @@ object LineReader { Option(mask.map(reader.readLine(prompt, _)).getOrElse(reader.readLine(prompt))) } catch { case e: EndOfFileException => - if (terminal == Terminal.console && System.console == null) None + if (terminal == Terminal.console && !Terminal.hasConsole) None else Some("exit") case _: IOError | _: ClosedException => Some("exit") case _: UserInterruptException | _: ClosedByInterruptException | diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala b/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala index a798b5eb0..51b2c5e40 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/JLine3.scala @@ -20,6 +20,7 @@ import org.jline.terminal.Attributes.{ InputFlag, LocalFlag } import org.jline.terminal.Terminal.SignalHandler import org.jline.terminal.impl.{ AbstractTerminal, DumbTerminal } import org.jline.terminal.spi.{ SystemStream, TerminalProvider } +import sbt.internal.util.Terminal.hasConsole import scala.collection.JavaConverters._ import scala.util.Try import java.util.concurrent.LinkedBlockingQueue @@ -31,7 +32,7 @@ private[sbt] object JLine3 { val term = org.jline.terminal.TerminalBuilder .builder() - .system(System.console != null) + .system(hasConsole) .paused(true) .build() initialAttributes.get match { diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala b/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala index 85176a988..9a1a3c8a8 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/Terminal.scala @@ -273,7 +273,7 @@ object Terminal { * the sbt client to detach from the server it launches. */ def close(): Unit = { - if (System.console == null) { + if (!hasConsole) { originalOut.close() originalIn.close() originalErr.close() @@ -350,7 +350,17 @@ object Terminal { private[this] val isDumb = Some("dumb") == sys.env.get("TERM") private[this] def isDumbTerminal = isDumb || System.getProperty("jline.terminal", "") == "none" - private[this] val hasConsole = Option(java.lang.System.console).isDefined + private[sbt] val hasConsole = { + System.console != null && { + try { + val isTerminal = System.console.getClass.getMethod("isTerminal") + isTerminal.invoke(System.console).asInstanceOf[Boolean] + } catch { + case _: NoSuchMethodException => + true + } + } + } private[this] def useColorDefault: Boolean = { // This approximates that both stdin and stdio are connected, // so by default color will be turned off for pipes and redirects. @@ -692,7 +702,7 @@ object Terminal { inputStream.read match { case -1 => case `NO_BOOT_CLIENTS_CONNECTED` => - if (System.console == null) { + if (!Terminal.hasConsole) { result.put(-1) running.set(false) } diff --git a/main-command/src/main/scala/sbt/internal/ui/UITask.scala b/main-command/src/main/scala/sbt/internal/ui/UITask.scala index e3540c570..6e9fcd1be 100644 --- a/main-command/src/main/scala/sbt/internal/ui/UITask.scala +++ b/main-command/src/main/scala/sbt/internal/ui/UITask.scala @@ -17,6 +17,7 @@ import sbt.BasicKeys.{ historyPath, colorShellPrompt } import sbt.State import sbt.internal.CommandChannel import sbt.internal.util.ConsoleAppender.{ ClearPromptLine, ClearScreenAfterCursor, DeleteLine } +import sbt.internal.util.Terminal.hasConsole import sbt.internal.util._ import sbt.internal.util.complete.{ Parser } @@ -70,7 +71,7 @@ private[sbt] object UITask { if (thread.isInterrupted || closed.get) throw interrupted (try reader.readLine(clear + terminal.prompt.mkPrompt()) finally reader.close) match { - case None if terminal == Terminal.console && System.console == null => + case None if terminal == Terminal.console && !hasConsole => // No stdin is attached to the process so just ignore the result and // block until the thread is interrupted. this.synchronized(this.wait()) diff --git a/main/src/main/scala/sbt/Main.scala b/main/src/main/scala/sbt/Main.scala index 48d24b3e5..cae982680 100644 --- a/main/src/main/scala/sbt/Main.scala +++ b/main/src/main/scala/sbt/Main.scala @@ -27,6 +27,7 @@ import sbt.internal.inc.ScalaInstance import sbt.internal.io.Retry import sbt.internal.nio.{ CheckBuildSources, FileTreeRepository } import sbt.internal.server.{ BuildServerProtocol, NetworkChannel } +import sbt.internal.util.Terminal.hasConsole import sbt.internal.util.Types.{ const, idFun } import sbt.internal.util.complete.{ Parser, SizeParser } import sbt.internal.util.{ Terminal => ITerminal, _ } @@ -151,8 +152,7 @@ private[sbt] object xMain { try Some(new BootServerSocket(configuration)) -> None catch { - case e: ServerAlreadyBootingException - if System.console != null && !ITerminal.startedByRemoteClient => + case e: ServerAlreadyBootingException if hasConsole && !ITerminal.startedByRemoteClient => printThrowable(e) println("Create a new server? y/n (default y)") val exit = diff --git a/main/src/main/scala/sbt/TemplateCommandUtil.scala b/main/src/main/scala/sbt/TemplateCommandUtil.scala index 328781dd8..71f803518 100644 --- a/main/src/main/scala/sbt/TemplateCommandUtil.scala +++ b/main/src/main/scala/sbt/TemplateCommandUtil.scala @@ -22,6 +22,7 @@ import sbt.librarymanagement._ import sbt.librarymanagement.ivy.{ IvyConfiguration, IvyDependencyResolution } import sbt.internal.inc.classpath.ClasspathUtil import BasicCommandStrings._, BasicKeys._ +import sbt.internal.util.Terminal.hasConsole private[sbt] object TemplateCommandUtil { def templateCommand: Command = templateCommand0(TemplateCommand) @@ -185,7 +186,7 @@ private[sbt] object TemplateCommandUtil { "disneystreaming/smithy4s.g8" -> "A Smithy4s project", ) private def fortifyArgs(templates: List[(String, String)]): List[String] = - if (System.console eq null) Nil + if (!hasConsole) Nil else ITerminal.withStreams(true, false) { assert(templates.size <= 20, "template list cannot have more than 20 items") diff --git a/main/src/main/scala/sbt/internal/InstallSbtn.scala b/main/src/main/scala/sbt/internal/InstallSbtn.scala index 693830f93..6315a2a6d 100644 --- a/main/src/main/scala/sbt/internal/InstallSbtn.scala +++ b/main/src/main/scala/sbt/internal/InstallSbtn.scala @@ -11,6 +11,7 @@ package internal import Def._ import Keys.{ sbtVersion, state, terminal } +import sbt.internal.util.Terminal.hasConsole import java.io.{ File, FileInputStream, FileOutputStream, InputStream, IOException } import java.net.URI @@ -37,7 +38,7 @@ private[sbt] object InstallSbtn { Files.deleteIfExists(tmp) () } - val shell = if (System.console != null) getShell(term) else "none" + val shell = if (hasConsole) getShell(term) else "none" shell match { case "none" => case s => From 92d4cfa69005eefed675d89193673f4b410cd5b7 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Tue, 29 Oct 2024 17:43:33 -0700 Subject: [PATCH 61/96] Replace nnbsp with regular space --- .../src/main/scala/sbt/internal/client/NetworkClient.scala | 2 +- main/src/main/scala/sbt/internal/Aggregation.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala index e31891564..505d1a1c9 100644 --- a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala +++ b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala @@ -1011,7 +1011,7 @@ class NetworkClient( private def timing(startTime: Long, endTime: Long): String = { import java.text.DateFormat val format = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM) - val nowString = format.format(new java.util.Date(endTime)) + val nowString = format.format(new java.util.Date(endTime)).replace("\u202F", "\u0020") val total = math.max(0, (endTime - startTime + 500) / 1000) val totalString = s"$total s" + (if (total <= 60) "" diff --git a/main/src/main/scala/sbt/internal/Aggregation.scala b/main/src/main/scala/sbt/internal/Aggregation.scala index 8a26dcd77..767d0acc8 100644 --- a/main/src/main/scala/sbt/internal/Aggregation.scala +++ b/main/src/main/scala/sbt/internal/Aggregation.scala @@ -152,7 +152,7 @@ object Aggregation { } def timing(format: java.text.DateFormat, startTime: Long, endTime: Long): String = { - val nowString = format.format(new java.util.Date(endTime)) + val nowString = format.format(new java.util.Date(endTime)).replace("\u202F", "\u0020") val total = (endTime - startTime + 500) / 1000 val totalString = s"$total s" + (if (total <= 60) "" From fae2bcc01b3f8a1afeea1a6240d7f721cde17193 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Tue, 29 Oct 2024 21:40:51 -0700 Subject: [PATCH 62/96] Add documentation & deduplicate implementation --- .../sbt/internal/client/NetworkClient.scala | 50 +++++++++++-------- .../main/scala/sbt/internal/Aggregation.scala | 16 +----- .../scala/sbt/internal/AggregationSpec.scala | 4 ++ 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala index 505d1a1c9..45ec9b52c 100644 --- a/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala +++ b/main-command/src/main/scala/sbt/internal/client/NetworkClient.scala @@ -15,8 +15,10 @@ import java.lang.ProcessBuilder.Redirect import java.net.{ Socket, SocketException } import java.nio.file.Files import java.util.UUID +import java.util.Date import java.util.concurrent.atomic.{ AtomicBoolean, AtomicReference } import java.util.concurrent.{ ConcurrentHashMap, LinkedBlockingQueue, TimeUnit } +import java.text.DateFormat import sbt.BasicCommandStrings.{ DashDashDetachStdio, DashDashServer, Shutdown, TerminateAction } import sbt.internal.client.NetworkClient.Arguments @@ -532,7 +534,7 @@ class NetworkClient( case null => case (q, startTime, name) => val now = System.currentTimeMillis - val message = timing(startTime, now) + val message = NetworkClient.timing(startTime, now) val ec = exitCode if (batchMode.get || !attached.get) { if (ec == 0) console.success(message) @@ -1006,26 +1008,6 @@ class NetworkClient( RawInputThread.this.interrupt() } } - - // copied from Aggregation - private def timing(startTime: Long, endTime: Long): String = { - import java.text.DateFormat - val format = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM) - val nowString = format.format(new java.util.Date(endTime)).replace("\u202F", "\u0020") - val total = math.max(0, (endTime - startTime + 500) / 1000) - val totalString = s"$total s" + - (if (total <= 60) "" - else { - val maybeHours = total / 3600 match { - case 0 => "" - case h => f"$h%02d:" - } - val mins = f"${total % 3600 / 60}%02d" - val secs = f"${total % 60}%02d" - s" ($maybeHours$mins:$secs)" - }) - s"Total time: $totalString, completed $nowString" - } } object NetworkClient { @@ -1138,6 +1120,32 @@ object NetworkClient { ) } + private[sbt] def timing(format: DateFormat, startTime: Long, endTime: Long): String = { + // sbt#7558 + // JDK 20+ emits special space (NNBSP) as part of formatted date + // Which sometimes becomes garbled in standard output + // Therefore we replace NNBSP (u202f) with standard space (u0020) + val nowString = format.format(new Date(endTime)).replace("\u202F", "\u0020") + val total = (endTime - startTime + 500) / 1000 + val totalString = s"$total s" + + (if (total <= 60) "" + else { + val maybeHours = total / 3600 match { + case 0 => "" + case h => f"$h%02d:" + } + val mins = f"${total % 3600 / 60}%02d" + val secs = f"${total % 60}%02d" + s" ($maybeHours$mins:$secs)" + }) + s"Total time: $totalString, completed $nowString" + } + + private[sbt] def timing(startTime: Long, endTime: Long): String = { + val format = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM) + timing(format, startTime, endTime) + } + def client( baseDirectory: File, args: Array[String], diff --git a/main/src/main/scala/sbt/internal/Aggregation.scala b/main/src/main/scala/sbt/internal/Aggregation.scala index 767d0acc8..311e1beb1 100644 --- a/main/src/main/scala/sbt/internal/Aggregation.scala +++ b/main/src/main/scala/sbt/internal/Aggregation.scala @@ -17,6 +17,7 @@ import sbt.SlashSyntax0._ import sbt.internal.util.complete.Parser import sbt.internal.util.complete.Parser.{ failure, seq, success } import sbt.internal.util._ +import sbt.internal.client.NetworkClient import sbt.std.Transform.DummyTaskMap import sbt.util.{ Logger, Show } import scala.annotation.nowarn @@ -152,20 +153,7 @@ object Aggregation { } def timing(format: java.text.DateFormat, startTime: Long, endTime: Long): String = { - val nowString = format.format(new java.util.Date(endTime)).replace("\u202F", "\u0020") - val total = (endTime - startTime + 500) / 1000 - val totalString = s"$total s" + - (if (total <= 60) "" - else { - val maybeHours = total / 3600 match { - case 0 => "" - case h => f"$h%02d:" - } - val mins = f"${total % 3600 / 60}%02d" - val secs = f"${total % 60}%02d" - s" ($maybeHours$mins:$secs)" - }) - s"Total time: $totalString, completed $nowString" + NetworkClient.timing(format, startTime, endTime) } def defaultFormat: DateFormat = { diff --git a/main/src/test/scala/sbt/internal/AggregationSpec.scala b/main/src/test/scala/sbt/internal/AggregationSpec.scala index 9acf09dc3..8ac2d8f8a 100644 --- a/main/src/test/scala/sbt/internal/AggregationSpec.scala +++ b/main/src/test/scala/sbt/internal/AggregationSpec.scala @@ -22,4 +22,8 @@ object AggregationSpec extends verify.BasicTestSuite { assert(timing(6003099).startsWith("Total time: 6003 s (01:40:03),")) assert(timing(96003099).startsWith("Total time: 96003 s (26:40:03),")) } + + test("timing should not emit special space characters") { + assert(!timing(96003099).contains("\u202F")) + } } From 0368243ed9db9237e7397ea23ec008e0b25086ac Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 31 Oct 2024 15:05:48 -0700 Subject: [PATCH 63/96] Return 1 when Client failed --- client/src/main/java/sbt/client/Client.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/src/main/java/sbt/client/Client.java b/client/src/main/java/sbt/client/Client.java index 6ffe838ff..dcabbf158 100644 --- a/client/src/main/java/sbt/client/Client.java +++ b/client/src/main/java/sbt/client/Client.java @@ -9,19 +9,21 @@ package sbt.client; import sbt.internal.client.NetworkClient; -import java.nio.file.Paths; import org.fusesource.jansi.AnsiConsole; public class Client { public static void main(final String[] args) { boolean isWin = System.getProperty("os.name").toLowerCase().startsWith("win"); + boolean hadError = false; try { if (isWin) AnsiConsole.systemInstall(); NetworkClient.main(args); } catch (final Throwable t) { t.printStackTrace(); + hadError = true; } finally { if (isWin) AnsiConsole.systemUninstall(); + if (hadError) System.exit(1); } } } From c58842da4e8e143fc9c9d355054536e7f21f8145 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 31 Oct 2024 19:37:16 -0700 Subject: [PATCH 64/96] Add smoke test --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6cb5ca518..617efd46d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -167,6 +167,8 @@ jobs: run: | # test building sbtn on Linux sbt "-Dsbt.io.virtual=false" nativeImage + # smoke test native Image + ./client/target/bin/sbtn shutdown # test launcher script echo build using JDK 8 test using JDK 8 and JDK 11 cd launcher-package From 801137de3190e997dbd1eaff1ae2418e2703a7e7 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 31 Oct 2024 20:43:10 -0700 Subject: [PATCH 65/96] Revert "Merge pull request #7823 from Friendseeker/musl" This reverts commit 0c00dbaf4bd1b1fa6075bfefd99947b454785b00, reversing changes made to 91ea2feb64eec747c03b7c6000b17bede71339fc. --- .github/workflows/ci.yml | 7 ------- build.sbt | 11 +++-------- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6cb5ca518..6387d3779 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,13 +80,6 @@ jobs: repository: sbt/zinc ref: 1.10.x path: zinc - - uses: graalvm/setup-graalvm@v1 - if: ${{ matrix.jobtype >= 7 && matrix.jobtype <= 9 }} - with: - java-version: '23' - native-image-musl: 'true' - set-java-home: 'false' - github-token: ${{ secrets.GITHUB_TOKEN }} - name: Setup JDK uses: actions/setup-java@v4 with: diff --git a/build.sbt b/build.sbt index 043b4880d..eff81a5c8 100644 --- a/build.sbt +++ b/build.sbt @@ -1176,13 +1176,8 @@ lazy val sbtClientProj = (project in file("client")) nativeImageReady := { () => () }, - if (isArmArchitecture) - Seq( - nativeImageVersion := "23.0", - nativeImageJvm := "graalvm-java23", - ) - else Nil, - nativeImageInstalled := !isArmArchitecture, + nativeImageVersion := "23.0", + nativeImageJvm := "graalvm-java23", nativeImageOutput := { val outputDir = (target.value / "bin").toPath if (!Files.exists(outputDir)) { @@ -1204,7 +1199,7 @@ lazy val sbtClientProj = (project in file("client")) s"-H:Name=${target.value / "bin" / "sbtn"}", ) ++ (if (isLinux && isArmArchitecture) Seq("-H:PageSize=65536") // Make sure binary runs on kernels with page size set to 4k, 16 and 64k - else Nil) ++ (if (isLinux && !isArmArchitecture) Seq("--static", "--libc=musl") else Nil), + else Nil), buildThinClient := { val isFish = Def.spaceDelimited("").parsed.headOption.fold(false)(_ == "--fish") val ext = if (isWin) ".bat" else if (isFish) ".fish" else ".sh" From 8ab2a23f1141b9d6c26ecbc791f3c7b76da2a8ea Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 3 Nov 2024 03:33:25 -0500 Subject: [PATCH 66/96] sbtn 1.10.5 --- launcher-package/build.sbt | 2 +- sbt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/launcher-package/build.sbt b/launcher-package/build.sbt index 44b1d03bc..6ef8c0758 100755 --- a/launcher-package/build.sbt +++ b/launcher-package/build.sbt @@ -121,7 +121,7 @@ val root = (project in file(".")). file }, // update sbt.sh at root - sbtnVersion := "1.10.4", + sbtnVersion := "1.10.5", sbtnJarsBaseUrl := "https://github.com/sbt/sbtn-dist/releases/download", sbtnJarsMappings := { val baseUrl = sbtnJarsBaseUrl.value diff --git a/sbt b/sbt index 0fb251e79..0b41018d8 100755 --- a/sbt +++ b/sbt @@ -24,7 +24,7 @@ declare build_props_sbt_version= declare use_sbtn= declare no_server= declare sbtn_command="$SBTN_CMD" -declare sbtn_version="1.10.4" +declare sbtn_version="1.10.5" ### ------------------------------- ### ### Helper methods for BASH scripts ### From 126846f88c7a8e7ae962ba6edcb915a93906dc6f Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 3 Nov 2024 12:25:03 -0500 Subject: [PATCH 67/96] lm-coursier 2.1.5, Coursier 2.1.14 --- project/Dependencies.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index a50c76357..7200e3e43 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -77,7 +77,7 @@ object Dependencies { def addSbtZincCompile = addSbtModule(sbtZincPath, "zincCompile", zincCompile) def addSbtZincCompileCore = addSbtModule(sbtZincPath, "zincCompileCore", zincCompileCore) - val lmCoursierShaded = "io.get-coursier" %% "lm-coursier-shaded" % "2.1.4" + val lmCoursierShaded = "io.get-coursier" %% "lm-coursier-shaded" % "2.1.5" def sjsonNew(n: String) = Def.setting("com.eed3si9n" %% n % "0.10.1") // contrabandSjsonNewVersion.value From f8280f14c894e4f981427249ec6220168a7b70f9 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 3 Nov 2024 14:42:10 -0500 Subject: [PATCH 68/96] Fix ++ with a command argument **Problem** sbt 1.10.0 added support for ++ command with external reference, but broke ++ takes an aggregate command with slash. **Solution** This fixes the parser --- main/src/main/scala/sbt/Cross.scala | 5 ++++- sbt-app/src/sbt-test/actions/cross-multiproject/test | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/Cross.scala b/main/src/main/scala/sbt/Cross.scala index 6dc8dffd3..5fb67a667 100644 --- a/main/src/main/scala/sbt/Cross.scala +++ b/main/src/main/scala/sbt/Cross.scala @@ -122,7 +122,10 @@ object Cross { .map { case uri ~ seg1 ~ cmd => (uri, seg1, cmd) } Parser.parse(command, parser) match { case Right((uri, seg1, cmd)) => - structure.allProjectRefs.find(p => uri.contains(p.build.toString) && seg1 == p.project) match { + structure.allProjectRefs.find { + case p if uri.isDefined => seg1 == p.project && uri.contains(p.build.toString) + case p => seg1 == p.project + } match { case Some(proj) => (Seq(proj), cmd) case _ => (resolveAggregates(extracted), command) } diff --git a/sbt-app/src/sbt-test/actions/cross-multiproject/test b/sbt-app/src/sbt-test/actions/cross-multiproject/test index bef1a492f..03a96cb83 100644 --- a/sbt-app/src/sbt-test/actions/cross-multiproject/test +++ b/sbt-app/src/sbt-test/actions/cross-multiproject/test @@ -21,6 +21,12 @@ $ exists sbt-foo/target/scala-2.12 $ exists ref/target/scala-2.12 -$ exists ref/target/scala-2.13 +# test safe switching +> clean +> ++ 2.12.20 -v libProj/compile +$ exists lib/target/scala-2.12 +-$ exists lib/target/scala-2.13 + # Test legacy cross build with command support # > clean # > + build From 82d834a676f5f50fa49059cb352c2e31f0f0dcd9 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 3 Nov 2024 18:10:43 -0500 Subject: [PATCH 69/96] sbt 1.10.5 --- project/build.properties | 2 +- sbt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/project/build.properties b/project/build.properties index c0685085e..c7450fc2a 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.10.4 \ No newline at end of file +sbt.version=1.10.5 \ No newline at end of file diff --git a/sbt b/sbt index 0b41018d8..2b4359ba3 100755 --- a/sbt +++ b/sbt @@ -1,7 +1,7 @@ #!/usr/bin/env bash set +e -declare builtin_sbt_version="1.10.4" +declare builtin_sbt_version="1.10.5" declare -a residual_args declare -a java_args declare -a scalac_args From 8ce6c1b47e3a11295a8b16dd6f5222bb90266c2c Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Mon, 4 Nov 2024 13:21:08 -0800 Subject: [PATCH 70/96] Pass `useConsistent` to `staticCachedStore` --- main/src/main/scala/sbt/internal/AnalysisUtil.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/internal/AnalysisUtil.scala b/main/src/main/scala/sbt/internal/AnalysisUtil.scala index 4280c84f6..548af48ac 100644 --- a/main/src/main/scala/sbt/internal/AnalysisUtil.scala +++ b/main/src/main/scala/sbt/internal/AnalysisUtil.scala @@ -30,7 +30,7 @@ private[sbt] object AnalysisUtil { MixedAnalyzingCompiler.staticCachedStore( analysisFile = analysisFile, useTextAnalysis = useTextAnalysis, - useConsistent = false, + useConsistent = useConsistent, mappers = ReadWriteMappers.getEmptyMappers(), sort = true, parallelism = parallelism, From 14d6dc53011362aa098dfe9ca7d129ec4b1bf58d Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Mon, 4 Nov 2024 16:12:26 -0800 Subject: [PATCH 71/96] Prepare for sbt 1.10.6 --- .github/workflows/ci.yml | 2 +- build.sbt | 2 +- project/build.properties | 2 +- sbt-app/src/sbt-test/project/scripted13/test | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fdb7a4b00..d78e8088d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,7 +55,7 @@ jobs: JVM_OPTS: -Xms800M -Xmx2G -Xss6M -XX:ReservedCodeCacheSize=128M -server -Dsbt.io.virtual=false -Dfile.encoding=UTF-8 SCALA_212: 2.12.20 UTIL_TESTS: "utilCache/test utilControl/test utilInterface/test utilLogging/test utilPosition/test utilRelation/test utilScripted/test utilTracking/test" - TEST_SBT_VER: 1.10.4 + TEST_SBT_VER: 1.10.5 SBT_ETC_FILE: $HOME/etc/sbt/sbtopts JDK11: adopt@1.11.0-9 SPARK_LOCAL_IP: "127.0.0.1" diff --git a/build.sbt b/build.sbt index eff81a5c8..37def7c08 100644 --- a/build.sbt +++ b/build.sbt @@ -11,7 +11,7 @@ import scala.util.Try // ThisBuild settings take lower precedence, // but can be shared across the multi projects. ThisBuild / version := { - val v = "1.10.5-SNAPSHOT" + val v = "1.10.6-SNAPSHOT" nightlyVersion.getOrElse(v) } ThisBuild / version2_13 := "2.0.0-SNAPSHOT" diff --git a/project/build.properties b/project/build.properties index c7450fc2a..db1723b08 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.10.5 \ No newline at end of file +sbt.version=1.10.5 diff --git a/sbt-app/src/sbt-test/project/scripted13/test b/sbt-app/src/sbt-test/project/scripted13/test index 9a7fad1c5..b321a8554 100644 --- a/sbt-app/src/sbt-test/project/scripted13/test +++ b/sbt-app/src/sbt-test/project/scripted13/test @@ -1,6 +1,6 @@ # This tests that this sbt scripted plugin can launch the previous one -> ^^1.10.3 +> ^^1.10.5 $ copy-file changes/A.scala src/sbt-test/a/b/A.scala > scripted From 6dba5e4ec004cbb44cc110b1c3d4c627cb43da21 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 7 Nov 2024 18:46:04 -0800 Subject: [PATCH 72/96] Bye jansi --- build.sbt | 1 - client/src/main/java/sbt/client/Client.java | 4 ---- 2 files changed, 5 deletions(-) diff --git a/build.sbt b/build.sbt index 37def7c08..e23addb45 100644 --- a/build.sbt +++ b/build.sbt @@ -1170,7 +1170,6 @@ lazy val sbtClientProj = (project in file("client")) mimaPreviousArtifacts := Set.empty, crossPaths := false, exportJars := true, - libraryDependencies += jansi, libraryDependencies += scalatest % Test, Compile / mainClass := Some("sbt.client.Client"), nativeImageReady := { () => diff --git a/client/src/main/java/sbt/client/Client.java b/client/src/main/java/sbt/client/Client.java index dcabbf158..491d725b8 100644 --- a/client/src/main/java/sbt/client/Client.java +++ b/client/src/main/java/sbt/client/Client.java @@ -9,20 +9,16 @@ package sbt.client; import sbt.internal.client.NetworkClient; -import org.fusesource.jansi.AnsiConsole; public class Client { public static void main(final String[] args) { - boolean isWin = System.getProperty("os.name").toLowerCase().startsWith("win"); boolean hadError = false; try { - if (isWin) AnsiConsole.systemInstall(); NetworkClient.main(args); } catch (final Throwable t) { t.printStackTrace(); hadError = true; } finally { - if (isWin) AnsiConsole.systemUninstall(); if (hadError) System.exit(1); } } From b621db683c20d8a796393bbe294a39754cad793b Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:15:13 -0800 Subject: [PATCH 73/96] Remove jansi from WindowsInputStream --- .../src/main/scala/sbt/internal/util/WindowsInputStream.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/util-logging/src/main/scala/sbt/internal/util/WindowsInputStream.scala b/internal/util-logging/src/main/scala/sbt/internal/util/WindowsInputStream.scala index 4c0f42f01..0fd469a50 100644 --- a/internal/util-logging/src/main/scala/sbt/internal/util/WindowsInputStream.scala +++ b/internal/util-logging/src/main/scala/sbt/internal/util/WindowsInputStream.scala @@ -11,7 +11,7 @@ package sbt.internal.util import java.io.InputStream import java.util.concurrent.LinkedBlockingQueue import java.util.concurrent.atomic.AtomicBoolean -import org.fusesource.jansi.internal.Kernel32 +import org.jline.nativ.Kernel32 import org.jline.utils.InfoCmp.Capability import scala.annotation.tailrec import Terminal.SimpleInputStream From b4e94698167e5f3c51c8fbbcf4e845896a4bae45 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Sat, 16 Nov 2024 13:16:40 -0800 Subject: [PATCH 74/96] Add double quote around thread name --- main/src/main/scala/sbt/internal/TaskTraceEvent.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/internal/TaskTraceEvent.scala b/main/src/main/scala/sbt/internal/TaskTraceEvent.scala index 3b3131954..37f6ecdb6 100644 --- a/main/src/main/scala/sbt/internal/TaskTraceEvent.scala +++ b/main/src/main/scala/sbt/internal/TaskTraceEvent.scala @@ -61,7 +61,7 @@ private[sbt] final class TaskTraceEvent def durationEvent(name: String, cat: String, t: Timer): String = { val sb = new java.lang.StringBuilder(name.length + 2) CompactPrinter.print(new JString(name), sb) - s"""{"name": ${sb.toString}, "cat": "$cat", "ph": "X", "ts": ${(t.startMicros)}, "dur": ${(t.durationMicros)}, "pid": 0, "tname": ${t.threadName}}""" + s"""{"name": ${sb.toString}, "cat": "$cat", "ph": "X", "ts": ${(t.startMicros)}, "dur": ${(t.durationMicros)}, "pid": 0, "tname": "${t.threadName}"}""" } val entryIterator = currentTimings while (entryIterator.hasNext) { From 387e1871436a714115e2153c9ed1f2311573a41f Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 18 Nov 2024 11:11:20 +0100 Subject: [PATCH 75/96] fix/support-ostype-linux-sbtn --- sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbt b/sbt index 2b4359ba3..bc76c4a5e 100755 --- a/sbt +++ b/sbt @@ -180,7 +180,7 @@ acquire_sbtn () { local archive_target= local url= local arch="x86_64" - if [[ "$OSTYPE" == "linux-gnu"* ]]; then + if [[ "$OSTYPE" == "linux-gnu"* || "$OSTYPE" == "linux"* ]]; then arch=$(uname -m) if [[ "$arch" == "aarch64" ]] || [[ "$arch" == "x86_64" ]]; then archive_target="$p/sbtn-${arch}-pc-linux-${sbtn_v}.tar.gz" From 3cd279f537607437ff770bab1fd41860496717ec Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 18 Nov 2024 18:01:13 +0100 Subject: [PATCH 76/96] remove now useless linux-gnu condition for sbt client command --- sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbt b/sbt index bc76c4a5e..3d94f221e 100755 --- a/sbt +++ b/sbt @@ -180,7 +180,7 @@ acquire_sbtn () { local archive_target= local url= local arch="x86_64" - if [[ "$OSTYPE" == "linux-gnu"* || "$OSTYPE" == "linux"* ]]; then + if [[ "$OSTYPE" == "linux"* ]]; then arch=$(uname -m) if [[ "$arch" == "aarch64" ]] || [[ "$arch" == "x86_64" ]]; then archive_target="$p/sbtn-${arch}-pc-linux-${sbtn_v}.tar.gz" From 96902ede8486db59affcf3e88256e9d5b7437476 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Mon, 18 Nov 2024 22:24:30 -0800 Subject: [PATCH 77/96] Bump minimum Java version to 8 --- launcher-package/src/universal/bin/sbt.bat | 2 +- sbt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/launcher-package/src/universal/bin/sbt.bat b/launcher-package/src/universal/bin/sbt.bat index 083ebb9e0..f9d6ce6fd 100755 --- a/launcher-package/src/universal/bin/sbt.bat +++ b/launcher-package/src/universal/bin/sbt.bat @@ -910,7 +910,7 @@ if !sbtBinaryV_1! geq 2 ( exit /B 0 :checkjava -set /a required_version=6 +set /a required_version=8 if /I !JAVA_VERSION! GEQ !required_version! ( exit /B 0 ) diff --git a/sbt b/sbt index 2b4359ba3..7516ecb97 100755 --- a/sbt +++ b/sbt @@ -493,7 +493,7 @@ run() { } # TODO - java check should be configurable... - checkJava "6" + checkJava "8" # Java 9 support copyRt From c8940bfba07c41cf85ff963be0febec9d7c1d421 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 21 Nov 2024 16:24:49 -0800 Subject: [PATCH 78/96] Respect dependencyBrowseGraphTarget, dependencyBrowseTreeTarget --- main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala b/main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala index 9cf6ee368..bb8788055 100644 --- a/main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala +++ b/main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala @@ -198,7 +198,7 @@ object DependencyTreeSettings { rendering.DOT.AngleBrackets, dependencyDotNodeColors.value ) - val link = DagreHTML.createLink(dotGraph, target.value) + val link = DagreHTML.createLink(dotGraph, dependencyBrowseGraphTarget.value) streams.value.log.info(s"HTML graph written to $link") link } @@ -207,7 +207,7 @@ object DependencyTreeSettings { Def.task { val graph = dependencyTreeModuleGraph0.value val renderedTree = TreeView.createJson(graph) - val link = TreeView.createLink(renderedTree, target.value) + val link = TreeView.createLink(renderedTree, dependencyBrowseTreeTarget.value) streams.value.log.info(s"HTML tree written to $link") link } From de4c3da4512cb25babbb1257171f86d5a5489495 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 21 Nov 2024 17:02:15 -0800 Subject: [PATCH 79/96] Add synchronized for desktop.browse() --- main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala b/main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala index 9cf6ee368..2bf8e2739 100644 --- a/main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala +++ b/main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala @@ -245,7 +245,10 @@ object DependencyTreeSettings { Def.task { val uri = uriKey.value streams.value.log.info(s"Opening ${uri} in browser...") - java.awt.Desktop.getDesktop.browse(uri) + val desktop = java.awt.Desktop.getDesktop + desktop.synchronized { + desktop.browse(uri) + } uri } From 27cec84333ac96205fd97c2928ebfd9bfe90dddb Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Thu, 21 Nov 2024 17:36:22 -0800 Subject: [PATCH 80/96] Synchronize dependencyTree console output --- .../main/scala/sbt/plugins/DependencyTreeSettings.scala | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala b/main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala index bb8788055..ec5401341 100644 --- a/main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala +++ b/main/src/main/scala/sbt/plugins/DependencyTreeSettings.scala @@ -147,8 +147,9 @@ object DependencyTreeSettings { .asciiTree(GraphTransformations.reverseGraphStartingAt(graph, module), graphWidth) } .mkString("\n") - - streams.value.log.info(output) + synchronized { + streams.value.log.info(output) + } output }, ) ++ @@ -171,7 +172,9 @@ object DependencyTreeSettings { key := { val s = streams.value val str = (key / asString).value - s.log.info(str) + synchronized { + s.log.info(str) + } }, key / toFile := { val (targetFile, force) = targetFileAndForceParser.parsed From 25870c6281752b8fd713397353e0e5d95cdfe0b2 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Tue, 26 Nov 2024 14:56:23 -0800 Subject: [PATCH 81/96] Temp disable Job 6 to unblock CI --- .github/workflows/ci.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d78e8088d..9f6f5de34 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -142,18 +142,18 @@ jobs: shell: bash run: | ./sbt -v "++2.13.x; all utilControl/test utilRelation/test utilPosition/test" - - name: Multirepo integration test - if: ${{ matrix.jobtype == 6 }} - shell: bash - run: | - # build from fresh IO, LM, and Zinc - BUILD_VERSION="${TEST_SBT_VER}-SNAPSHOT" - cd io - sbt -v -Dsbt.build.version=${BUILD_VERSION} +publishLocal - cd ../ - sbt -Dsbtlm.path=$HOME/work/sbt/sbt/librarymanagement -Dsbtzinc.path=$HOME/work/sbt/sbt/zinc -Dsbt.build.version=$BUILD_VERSION -Dsbt.build.fatal=false "+lowerUtils/publishLocal; {librarymanagement}/publishLocal; {zinc}/publishLocal; upperModules/publishLocal" - rm -r $(find $HOME/.sbt/boot -name "*-SNAPSHOT") || true - sbt -v -Dsbt.version=$BUILD_VERSION "++2.13.x; all $UTIL_TESTS; ++$SCALA_212; all $UTIL_TESTS; scripted actions/* source-dependencies/*1of3 dependency-management/*1of4 java/*" +# - name: Multirepo integration test +# if: ${{ matrix.jobtype == 6 }} +# shell: bash +# run: | +# # build from fresh IO, LM, and Zinc +# BUILD_VERSION="${TEST_SBT_VER}-SNAPSHOT" +# cd io +# sbt -v -Dsbt.build.version=${BUILD_VERSION} +publishLocal +# cd ../ +# sbt -Dsbtlm.path=$HOME/work/sbt/sbt/librarymanagement -Dsbtzinc.path=$HOME/work/sbt/sbt/zinc -Dsbt.build.version=$BUILD_VERSION -Dsbt.build.fatal=false "+lowerUtils/publishLocal; {librarymanagement}/publishLocal; {zinc}/publishLocal; upperModules/publishLocal" +# rm -r $(find $HOME/.sbt/boot -name "*-SNAPSHOT") || true +# sbt -v -Dsbt.version=$BUILD_VERSION "++2.13.x; all $UTIL_TESTS; ++$SCALA_212; all $UTIL_TESTS; scripted actions/* source-dependencies/*1of3 dependency-management/*1of4 java/*" - name: Build and test (7) if: ${{ matrix.jobtype == 7 }} shell: bash From eefc89605e0d39b93be765ac21a02c7cfd596c55 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Sun, 24 Nov 2024 01:17:50 -0800 Subject: [PATCH 82/96] Improve message format for loading settings --- main/src/main/scala/sbt/internal/Load.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/internal/Load.scala b/main/src/main/scala/sbt/internal/Load.scala index 431c617f7..f3f2265a6 100755 --- a/main/src/main/scala/sbt/internal/Load.scala +++ b/main/src/main/scala/sbt/internal/Load.scala @@ -1054,7 +1054,7 @@ private[sbt] object Load { def settings(files: Seq[File]): Seq[Setting[_]] = { if (files.nonEmpty) log.info( - s"${files.map(_.getName).mkString(s"loading settings for project ${p.id} from ", ",", " ...")}" + s"${files.map(_.getName).mkString(s"loading settings for project ${p.id} from ", ", ", "...")}" ) for { file <- files From 9494033bd6549c668bfd97277075e021d8951999 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Tue, 26 Nov 2024 15:36:59 -0800 Subject: [PATCH 83/96] Shutdown background jobs when pressing ctrl+c --- main/src/main/scala/sbt/EvaluateTask.scala | 1 + .../scala/sbt/internal/DefaultBackgroundJobService.scala | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/main/src/main/scala/sbt/EvaluateTask.scala b/main/src/main/scala/sbt/EvaluateTask.scala index d6eb8a994..ec425eb23 100644 --- a/main/src/main/scala/sbt/EvaluateTask.scala +++ b/main/src/main/scala/sbt/EvaluateTask.scala @@ -531,6 +531,7 @@ object EvaluateTask { log.warn("Canceling execution...") RunningProcesses.killAll() ConcurrentRestrictions.cancelAll() + DefaultBackgroundJobService.stop() shutdownImpl(true) } } diff --git a/main/src/main/scala/sbt/internal/DefaultBackgroundJobService.scala b/main/src/main/scala/sbt/internal/DefaultBackgroundJobService.scala index 37d302229..ffce759d2 100644 --- a/main/src/main/scala/sbt/internal/DefaultBackgroundJobService.scala +++ b/main/src/main/scala/sbt/internal/DefaultBackgroundJobService.scala @@ -508,6 +508,15 @@ private[sbt] object DefaultBackgroundJobService { backgroundJobServices.values.forEach(_.shutdown()) backgroundJobServices.clear() } + + private[sbt] def stop(): Unit = { + backgroundJobServices + .values() + .forEach(jobService => { + jobService.jobs.foreach(jobService.stop) + }) + } + private[sbt] lazy val backgroundJobServiceSetting: Setting[_] = (GlobalScope / Keys.bgJobService) := { val path = (GlobalScope / sbt.Keys.bgJobServiceDirectory).value From e613cb70ea74e316be28569dbd4912dfdeebd985 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Wed, 27 Nov 2024 00:52:57 -0800 Subject: [PATCH 84/96] Avoid generation of negative frequency --- main/src/test/scala/TagsTest.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/src/test/scala/TagsTest.scala b/main/src/test/scala/TagsTest.scala index 270ca646e..e75dd7e18 100644 --- a/main/src/test/scala/TagsTest.scala +++ b/main/src/test/scala/TagsTest.scala @@ -18,7 +18,7 @@ object TagsTest extends Properties("Tags") { def tagMap: Gen[TagMap] = for (ts <- listOf(tagAndFrequency)) yield ts.toMap def tagAndFrequency: Gen[(Tag, Int)] = - for (t <- tag; count <- Arbitrary.arbitrary[Int]) yield (t, count) + for (t <- tag; count <- Gen.choose(0, Int.MaxValue)) yield (t, count) def tag: Gen[Tag] = for (s <- Gen.alphaStr if !s.isEmpty) yield Tag(s) def size: Gen[Size] = for (i <- Arbitrary.arbitrary[Int] if i != Int.MinValue) yield Size(math.abs(i)) From b49fe9dc97bd4a0097fdb1cb8ef6ed8736472041 Mon Sep 17 00:00:00 2001 From: friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Tue, 26 Nov 2024 23:40:07 -0800 Subject: [PATCH 85/96] Add boolean flag isAutoCancel Address PR feedback from Eugene --- build.sbt | 1 + main/src/main/scala/sbt/BackgroundJobService.scala | 1 + main/src/main/scala/sbt/Defaults.scala | 10 ++++++++++ .../sbt/internal/DefaultBackgroundJobService.scala | 6 ++++-- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index e23addb45..81949a48c 100644 --- a/build.sbt +++ b/build.sbt @@ -1071,6 +1071,7 @@ lazy val mainProj = (project in file("main")) exclude[MissingClassProblem]("sbt.internal.server.BuildServerReporter$"), exclude[IncompatibleTemplateDefProblem]("sbt.internal.server.BuildServerReporter"), exclude[MissingClassProblem]("sbt.internal.CustomHttp*"), + exclude[ReversedMissingMethodProblem]("sbt.JobHandle.isAutoCancel"), ) ) .configure( diff --git a/main/src/main/scala/sbt/BackgroundJobService.scala b/main/src/main/scala/sbt/BackgroundJobService.scala index 6dc8deb81..62aaec76d 100644 --- a/main/src/main/scala/sbt/BackgroundJobService.scala +++ b/main/src/main/scala/sbt/BackgroundJobService.scala @@ -100,4 +100,5 @@ abstract class JobHandle { def id: Long def humanReadableName: String def spawningTask: ScopedKey[_] + def isAutoCancel: Boolean } diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 1a8f61463..a86e7a0a1 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -2039,6 +2039,11 @@ object Defaults extends BuildCommon { def foregroundRunMainTask: Initialize[InputTask[Unit]] = Def.inputTask { val handle = bgRunMain.evaluated + handle match { + case threadJobHandle: AbstractBackgroundJobService#ThreadJobHandle => + threadJobHandle.isAutoCancel = true + case _ => + } val service = bgJobService.value service.waitForTry(handle).get } @@ -2047,6 +2052,11 @@ object Defaults extends BuildCommon { def foregroundRunTask: Initialize[InputTask[Unit]] = Def.inputTask { val handle = bgRun.evaluated + handle match { + case threadJobHandle: AbstractBackgroundJobService#ThreadJobHandle => + threadJobHandle.isAutoCancel = true + case _ => + } val service = bgJobService.value service.waitForTry(handle).get } diff --git a/main/src/main/scala/sbt/internal/DefaultBackgroundJobService.scala b/main/src/main/scala/sbt/internal/DefaultBackgroundJobService.scala index ffce759d2..218cb3289 100644 --- a/main/src/main/scala/sbt/internal/DefaultBackgroundJobService.scala +++ b/main/src/main/scala/sbt/internal/DefaultBackgroundJobService.scala @@ -114,7 +114,8 @@ private[sbt] abstract class AbstractBackgroundJobService extends BackgroundJobSe override val spawningTask: ScopedKey[_], val logger: ManagedLogger, val workingDirectory: File, - val job: BackgroundJob + val job: BackgroundJob, + @volatile var isAutoCancel: Boolean = false, ) extends AbstractJobHandle { // EC for onStop handler below implicit val executionContext: ExecutionContext = @@ -140,6 +141,7 @@ private[sbt] abstract class AbstractBackgroundJobService extends BackgroundJobSe private final class DeadHandle(override val id: Long, override val humanReadableName: String) extends AbstractJobHandle { override val spawningTask: ScopedKey[_] = unknownTask + override val isAutoCancel = false } def doRunInBackground( @@ -513,7 +515,7 @@ private[sbt] object DefaultBackgroundJobService { backgroundJobServices .values() .forEach(jobService => { - jobService.jobs.foreach(jobService.stop) + jobService.jobs.filter(_.isAutoCancel).foreach(jobService.stop) }) } From 25f4150aa70c3f8f960424f357b6fdfb239fbd22 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 29 Nov 2024 21:10:57 -0500 Subject: [PATCH 86/96] lm-coursier 2.1.6 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit deps: Update Coursier to 2.1.14 → 2.1.19 in https://github.com/coursier/sbt-coursier/pull/539 * https://github.com/coursier/coursier/releases/tag/v2.1.15 * https://github.com/coursier/coursier/releases/tag/v2.1.16 * https://github.com/coursier/coursier/releases/tag/v2.1.17 * https://github.com/coursier/coursier/releases/tag/v2.1.18 * https://github.com/coursier/coursier/releases/tag/v2.1.19 --- project/Dependencies.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 7200e3e43..fd6c65cd2 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -77,7 +77,7 @@ object Dependencies { def addSbtZincCompile = addSbtModule(sbtZincPath, "zincCompile", zincCompile) def addSbtZincCompileCore = addSbtModule(sbtZincPath, "zincCompileCore", zincCompileCore) - val lmCoursierShaded = "io.get-coursier" %% "lm-coursier-shaded" % "2.1.5" + val lmCoursierShaded = "io.get-coursier" %% "lm-coursier-shaded" % "2.1.6" def sjsonNew(n: String) = Def.setting("com.eed3si9n" %% n % "0.10.1") // contrabandSjsonNewVersion.value From 57d134829b908563a8001e0b51098f24caf778c6 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 29 Nov 2024 21:37:27 -0500 Subject: [PATCH 87/96] Mark ignoreScalaLibrary pending --- .../dependency-graph/ignoreScalaLibrary/build.sbt | 12 ++++++++++++ .../ignoreScalaLibrary/{test => pending} | 0 2 files changed, 12 insertions(+) rename sbt-app/src/sbt-test/dependency-graph/ignoreScalaLibrary/{test => pending} (100%) diff --git a/sbt-app/src/sbt-test/dependency-graph/ignoreScalaLibrary/build.sbt b/sbt-app/src/sbt-test/dependency-graph/ignoreScalaLibrary/build.sbt index 4593aca81..fae8cacab 100644 --- a/sbt-app/src/sbt-test/dependency-graph/ignoreScalaLibrary/build.sbt +++ b/sbt-app/src/sbt-test/dependency-graph/ignoreScalaLibrary/build.sbt @@ -9,6 +9,18 @@ TaskKey[Unit]("check") := { val report = updateFull.value val graph = (Test / dependencyTree / asString).value def sanitize(str: String): String = str.split('\n').drop(1).map(_.trim).mkString("\n") + +/* +Started to return: + +ch.qos.logback:logback-core:1.0.7 +default:sbt_8ae1da13_2.12:0.1.0-SNAPSHOT [S] + +-ch.qos.logback:logback-classic:1.0.7 + | +-org.slf4j:slf4j-api:1.6.6 (evicted by: 1.7.2) + | + +-org.slf4j:slf4j-api:1.7.2 +*/ + val expectedGraph = """default:default-e95e05_2.12:0.1-SNAPSHOT [S] | +-ch.qos.logback:logback-classic:1.0.7 diff --git a/sbt-app/src/sbt-test/dependency-graph/ignoreScalaLibrary/test b/sbt-app/src/sbt-test/dependency-graph/ignoreScalaLibrary/pending similarity index 100% rename from sbt-app/src/sbt-test/dependency-graph/ignoreScalaLibrary/test rename to sbt-app/src/sbt-test/dependency-graph/ignoreScalaLibrary/pending From fc5758d05c8c64ddcfc45862c8dc45490503fd10 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Fri, 29 Nov 2024 21:39:42 -0500 Subject: [PATCH 88/96] IO 1.10.2 --- project/Dependencies.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 7200e3e43..19255b30c 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -12,7 +12,7 @@ object Dependencies { sys.env.get("BUILD_VERSION") orElse sys.props.get("sbt.build.version") // sbt modules - private val ioVersion = nightlyVersion.getOrElse("1.10.1") + private val ioVersion = nightlyVersion.getOrElse("1.10.2") private val lmVersion = sys.props.get("sbt.build.lm.version").orElse(nightlyVersion).getOrElse("1.10.2") val zincVersion = nightlyVersion.getOrElse("1.10.4") From efe2a83c73565ac49b31fcb1b08ac804ffc33776 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sat, 30 Nov 2024 00:05:26 -0500 Subject: [PATCH 89/96] Zinc 1.10.5 --- main/src/main/scala/sbt/internal/AnalysisUtil.scala | 3 ++- project/Dependencies.scala | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/main/src/main/scala/sbt/internal/AnalysisUtil.scala b/main/src/main/scala/sbt/internal/AnalysisUtil.scala index 548af48ac..049e3cf5a 100644 --- a/main/src/main/scala/sbt/internal/AnalysisUtil.scala +++ b/main/src/main/scala/sbt/internal/AnalysisUtil.scala @@ -32,7 +32,8 @@ private[sbt] object AnalysisUtil { useTextAnalysis = useTextAnalysis, useConsistent = useConsistent, mappers = ReadWriteMappers.getEmptyMappers(), - sort = true, + // reproducisble = true will wipe out the timestamp, which we need for sbt 1.x + reproducible = false, parallelism = parallelism, ) } diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 5e1a13572..d34375260 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -14,8 +14,8 @@ object Dependencies { // sbt modules private val ioVersion = nightlyVersion.getOrElse("1.10.2") private val lmVersion = - sys.props.get("sbt.build.lm.version").orElse(nightlyVersion).getOrElse("1.10.2") - val zincVersion = nightlyVersion.getOrElse("1.10.4") + sys.props.get("sbt.build.lm.version").orElse(nightlyVersion).getOrElse("1.10.3") + val zincVersion = nightlyVersion.getOrElse("1.10.5") private val sbtIO = "org.scala-sbt" %% "io" % ioVersion From 111eb123fa6752fe4602031943f6a5c078b0e3a4 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sat, 30 Nov 2024 00:21:41 -0500 Subject: [PATCH 90/96] Call store.clearCache() --- main/src/main/scala/sbt/Defaults.scala | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index a86e7a0a1..b8c329dd8 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -710,7 +710,20 @@ object Defaults extends BuildCommon { crossPaths.value ), cleanIvy := IvyActions.cleanCachedResolutionCache(ivyModule.value, streams.value.log), - clean := clean.dependsOn(cleanIvy).value, + clean := { + val _ = cleanIvy.value + try { + val store = AnalysisUtil.staticCachedStore( + analysisFile = (Compile / compileAnalysisFile).value.toPath, + useTextAnalysis = !(Compile / enableBinaryCompileAnalysis).value, + useConsistent = (Compile / enableConsistentCompileAnalysis).value, + ) + store.clearCache() + } catch { + case NonFatal(_) => () + } + clean.value + }, scalaCompilerBridgeBinaryJar := Def.settingDyn { val sv = scalaVersion.value if (ScalaArtifacts.isScala3(sv) || VersionNumber(sv) From 1b7d451d2a5bd06c4feacc98b868d8c8bd336a0e Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sat, 30 Nov 2024 01:24:29 -0500 Subject: [PATCH 91/96] sbt 1.10.6 --- sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbt b/sbt index 40adcf5a9..e25690211 100755 --- a/sbt +++ b/sbt @@ -1,7 +1,7 @@ #!/usr/bin/env bash set +e -declare builtin_sbt_version="1.10.5" +declare builtin_sbt_version="1.10.6" declare -a residual_args declare -a java_args declare -a scalac_args From ff4e6d90afba479e6ea0230d6d51adf4b5883fbe Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Thu, 5 Dec 2024 22:49:36 -0500 Subject: [PATCH 92/96] New Scala CLA URL --- .github/workflows/cla.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cla.yml b/.github/workflows/cla.yml index f9ead39fd..91f51361e 100644 --- a/.github/workflows/cla.yml +++ b/.github/workflows/cla.yml @@ -10,15 +10,15 @@ jobs: AUTHOR: ${{ github.event.pull_request.user.login }} run: | echo "Pull request submitted by $AUTHOR"; - signed=$(curl -s "https://www.lightbend.com/contribute/cla/scala/check/$AUTHOR" | jq -r ".signed"); + signed=$(curl -s "https://contribute.akka.io/contribute/cla/scala/check/$AUTHOR" | jq -r ".signed"); if [ "$signed" = "true" ] ; then echo "CLA check for $AUTHOR successful"; else echo "CLA check for $AUTHOR failed"; echo "Please sign the Scala CLA to contribute to the Scala compiler."; - echo "Go to https://www.lightbend.com/contribute/cla/scala and then"; + echo "Go to https://contribute.akka.io/contribute/cla/scala and then"; echo "comment on the pull request to ask for a new check."; echo ""; - echo "Check if CLA is signed: https://www.lightbend.com/contribute/cla/scala/check/$AUTHOR"; + echo "Check if CLA is signed: https://contribute.akka.io/contribute/cla/scala/check/$AUTHOR"; exit 1; fi; From d21b2d250a590c0961fb45444769178f4a9a6292 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Sun, 8 Dec 2024 23:02:22 -0500 Subject: [PATCH 93/96] feat: Support glob expressions in scripted **Problem** It's currently not easy to write a scripted test that works on both sbt 1.x and 2.x when you want to write exists test under target. **Solution** Since we can only use the file system (and not evaluate Scala version etc) 1. this implements glob expression support in `exists`, `absent`, and `delete`. 2. this also introduces `||` operator that would mean a or b. --- .../sbt/internal/scripted/FileCommands.scala | 43 +++++++++++++++++-- .../src/sbt-test/actions/clean-managed/test | 6 +-- .../src/sbt-test/actions/compile-clean/test | 16 +++---- sbt-app/src/sbt-test/actions/task-map/test | 8 ++-- 4 files changed, 55 insertions(+), 18 deletions(-) diff --git a/internal/util-scripted/src/main/scala/sbt/internal/scripted/FileCommands.scala b/internal/util-scripted/src/main/scala/sbt/internal/scripted/FileCommands.scala index 1de3ff607..a2aa32db7 100644 --- a/internal/util-scripted/src/main/scala/sbt/internal/scripted/FileCommands.scala +++ b/internal/util-scripted/src/main/scala/sbt/internal/scripted/FileCommands.scala @@ -11,11 +11,15 @@ package internal package scripted import java.io.File +import sbt.nio.file.{ FileTreeView, Glob, PathFilter, RecursiveGlob } import sbt.io.{ IO, Path } import sbt.io.syntax._ import Path._ class FileCommands(baseDirectory: File) extends BasicStatementHandler { + final val OR = "||" + lazy val view = FileTreeView.Ops(FileTreeView.default) + val baseGlob = Glob(baseDirectory) lazy val commands = commandMap def commandMap = Map( @@ -51,8 +55,38 @@ class FileCommands(baseDirectory: File) extends BasicStatementHandler { def spaced[T](l: Seq[T]) = l.mkString(" ") def fromStrings(paths: List[String]) = paths.map(fromString) def fromString(path: String) = new File(baseDirectory, path) + def filterFromStrings(exprs: List[String]): List[PathFilter] = { + def orGlobs = { + val exprs1 = exprs + .mkString("") + .split(OR) + .filter(_ != OR) + .toList + .map(_.trim) + val combined = exprs1.map(Glob(baseDirectory, _)) match { + case Nil => sys.error("unexpected Nil") + case g :: Nil => (g: PathFilter) + case g :: gs => + gs.foldLeft(g: PathFilter) { + case (acc, g) => + acc || (g: PathFilter) + } + } + List(combined) + } + if (exprs.contains("||")) orGlobs + else exprs.map(Glob(baseDirectory, _): PathFilter) + } + def touch(paths: List[String]): Unit = IO.touch(fromStrings(paths)) - def delete(paths: List[String]): Unit = IO.delete(fromStrings(paths)) + def delete(paths: List[String]): Unit = + IO.delete( + (filterFromStrings(paths) + .flatMap { filter => + view.list(baseGlob / RecursiveGlob, filter) + }) + .map(_._1.toFile) + ) /*def sync(from: String, to: String) = IO.sync(fromString(from), fromString(to), log)*/ def copyFile(from: String, to: String): Unit = @@ -78,13 +112,16 @@ class FileCommands(baseDirectory: File) extends BasicStatementHandler { scriptError(s"$pathA is not newer than $pathB") } } + // use FileTreeView to test if a file with the given filter exists + def exists0(filter: PathFilter): Boolean = + view.list(baseGlob / RecursiveGlob, filter).nonEmpty def exists(paths: List[String]): Unit = { - val notPresent = fromStrings(paths).filter(!_.exists) + val notPresent = filterFromStrings(paths).filter(!exists0(_)) if (notPresent.nonEmpty) scriptError("File(s) did not exist: " + notPresent.mkString("[ ", " , ", " ]")) } def absent(paths: List[String]): Unit = { - val present = fromStrings(paths).filter(_.exists) + val present = filterFromStrings(paths).filter(exists0) if (present.nonEmpty) scriptError("File(s) existed: " + present.mkString("[ ", " , ", " ]")) } diff --git a/sbt-app/src/sbt-test/actions/clean-managed/test b/sbt-app/src/sbt-test/actions/clean-managed/test index f6fd6ce8f..502311188 100644 --- a/sbt-app/src/sbt-test/actions/clean-managed/test +++ b/sbt-app/src/sbt-test/actions/clean-managed/test @@ -1,6 +1,6 @@ > compile -$ exists target/scala-2.12/src_managed/foo.txt target/scala-2.12/src_managed/bar.txt +$ exists target/**/src_managed/foo.txt target/**/src_managed/bar.txt > clean -$ absent target/scala-2.12/src_managed/foo.txt -$ exists target/scala-2.12/src_managed/bar.txt +$ absent target/**/src_managed/foo.txt +$ exists target/**/src_managed/bar.txt diff --git a/sbt-app/src/sbt-test/actions/compile-clean/test b/sbt-app/src/sbt-test/actions/compile-clean/test index 2e805ffd0..7d983f7ca 100644 --- a/sbt-app/src/sbt-test/actions/compile-clean/test +++ b/sbt-app/src/sbt-test/actions/compile-clean/test @@ -1,22 +1,22 @@ $ touch target/cant-touch-this > Test/compile -$ exists target/scala-2.12/classes/A.class -$ exists target/scala-2.12/test-classes/B.class +$ exists target/**/classes/A.class +$ exists target/**/test-classes/B.class > Test/clean $ exists target/cant-touch-this # it should clean only compile classes -$ exists target/scala-2.12/classes/A.class -$ exists target/scala-2.12/classes/X.class -$ absent target/scala-2.12/test-classes/B.class +$ exists target/**/classes/A.class +$ exists target/**/classes/X.class +$ absent target/**/test-classes/B.class # compiling everything again, but now cleaning only compile classes > Test/compile > Compile/clean $ exists target/cant-touch-this # it should clean only compile classes -$ absent target/scala-2.12/classes/A.class -$ exists target/scala-2.12/test-classes/B.class +$ absent target/**/classes/A.class +$ exists target/**/test-classes/B.class # and X has to be kept, because of the cleanKeepFiles override -$ exists target/scala-2.12/classes/X.class +$ exists target/**/classes/X.class diff --git a/sbt-app/src/sbt-test/actions/task-map/test b/sbt-app/src/sbt-test/actions/task-map/test index 3a88d40a7..a3bec9fa7 100644 --- a/sbt-app/src/sbt-test/actions/task-map/test +++ b/sbt-app/src/sbt-test/actions/task-map/test @@ -1,7 +1,7 @@ > taskB -$ exists target/b -$ exists target/a +$ exists target/**/b +$ exists target/**/a > taskF -$ exists target/e -$ exists target/f +$ exists target/**/e +$ exists target/**/f From 5ece24ad530c07b949edf371fceed3b159b41525 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Mon, 16 Dec 2024 22:15:18 -0500 Subject: [PATCH 94/96] Port Make credential tests intransitive --- .../src/sbt-test/lm-coursier/credentials-from-file/build.sbt | 2 +- sbt-app/src/sbt-test/lm-coursier/credentials-global/build.sbt | 2 +- .../src/sbt-test/lm-coursier/credentials-sbt-global/build.sbt | 2 +- sbt-app/src/sbt-test/lm-coursier/credentials-sbt/build.sbt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sbt-app/src/sbt-test/lm-coursier/credentials-from-file/build.sbt b/sbt-app/src/sbt-test/lm-coursier/credentials-from-file/build.sbt index e467b3272..6f2b08bde 100644 --- a/sbt-app/src/sbt-test/lm-coursier/credentials-from-file/build.sbt +++ b/sbt-app/src/sbt-test/lm-coursier/credentials-from-file/build.sbt @@ -17,4 +17,4 @@ csrExtraCredentials += { lmcoursier.credentials.FileCredentials(dest.toString) } -libraryDependencies += "com.abc" % "test" % "0.1" +libraryDependencies += ("com.abc" % "test" % "0.1").intransitive() diff --git a/sbt-app/src/sbt-test/lm-coursier/credentials-global/build.sbt b/sbt-app/src/sbt-test/lm-coursier/credentials-global/build.sbt index 8036b14ae..fcd05f15a 100644 --- a/sbt-app/src/sbt-test/lm-coursier/credentials-global/build.sbt +++ b/sbt-app/src/sbt-test/lm-coursier/credentials-global/build.sbt @@ -2,4 +2,4 @@ scalaVersion := "2.12.8" resolvers += "authenticated" at sys.env("TEST_REPOSITORY") -libraryDependencies += "com.abc" % "test" % "0.1" +libraryDependencies += ("com.abc" % "test" % "0.1").intransitive() diff --git a/sbt-app/src/sbt-test/lm-coursier/credentials-sbt-global/build.sbt b/sbt-app/src/sbt-test/lm-coursier/credentials-sbt-global/build.sbt index 8036b14ae..fcd05f15a 100644 --- a/sbt-app/src/sbt-test/lm-coursier/credentials-sbt-global/build.sbt +++ b/sbt-app/src/sbt-test/lm-coursier/credentials-sbt-global/build.sbt @@ -2,4 +2,4 @@ scalaVersion := "2.12.8" resolvers += "authenticated" at sys.env("TEST_REPOSITORY") -libraryDependencies += "com.abc" % "test" % "0.1" +libraryDependencies += ("com.abc" % "test" % "0.1").intransitive() diff --git a/sbt-app/src/sbt-test/lm-coursier/credentials-sbt/build.sbt b/sbt-app/src/sbt-test/lm-coursier/credentials-sbt/build.sbt index 3781552ed..da142c3c1 100644 --- a/sbt-app/src/sbt-test/lm-coursier/credentials-sbt/build.sbt +++ b/sbt-app/src/sbt-test/lm-coursier/credentials-sbt/build.sbt @@ -9,4 +9,4 @@ credentials += Credentials( sys.env("TEST_REPOSITORY_PASSWORD") ) -libraryDependencies += "com.abc" % "test" % "0.1" +libraryDependencies += ("com.abc" % "test" % "0.1").intransitive() From 12db63951b9a34c196622dbf7b8a7fdfe679435a Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Mon, 16 Dec 2024 22:22:33 -0500 Subject: [PATCH 95/96] Address reviews --- .github/workflows/nightly.yml | 2 +- build.sbt | 2 +- main/src/main/scala/sbt/internal/AnalysisUtil.scala | 2 -- main/src/main/scala/sbt/internal/SysProp.scala | 2 -- 4 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 469fbc8a0..1c9a644c3 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -32,7 +32,7 @@ jobs: uses: actions/checkout@v4 with: repository: sbt/zinc - ref: 1.10.x + ref: develop path: zinc - name: Setup JDK uses: actions/setup-java@v4 diff --git a/build.sbt b/build.sbt index e2dfb365a..663420cdb 100644 --- a/build.sbt +++ b/build.sbt @@ -47,7 +47,7 @@ ThisBuild / libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" Global / semanticdbEnabled := !(Global / insideCI).value // Change main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala too, if you change this. -Global / semanticdbVersion := "4.7.8" +Global / semanticdbVersion := "4.9.9" val excludeLint = SettingKey[Set[Def.KeyedInitialize[_]]]("excludeLintKeys") Global / excludeLint := (Global / excludeLint).?.value.getOrElse(Set.empty) Global / excludeLint += Utils.componentID diff --git a/main/src/main/scala/sbt/internal/AnalysisUtil.scala b/main/src/main/scala/sbt/internal/AnalysisUtil.scala index 0fcc982ea..0948e7a41 100644 --- a/main/src/main/scala/sbt/internal/AnalysisUtil.scala +++ b/main/src/main/scala/sbt/internal/AnalysisUtil.scala @@ -34,8 +34,6 @@ private[sbt] object AnalysisUtil { mappers = ReadWriteMappers.getEmptyMappers(), sort = true, ec = scala.concurrent.ExecutionContext.global, - // reproducisble = true will wipe out the timestamp, which we need for sbt 1.x - // reproducible = false, parallelism = parallelism, ) } diff --git a/main/src/main/scala/sbt/internal/SysProp.scala b/main/src/main/scala/sbt/internal/SysProp.scala index 50b62e7df..6c36266b7 100644 --- a/main/src/main/scala/sbt/internal/SysProp.scala +++ b/main/src/main/scala/sbt/internal/SysProp.scala @@ -155,8 +155,6 @@ object SysProp { def useLog4J: Boolean = getOrFalse("sbt.log.uselog4j") def turbo: Boolean = getOrFalse("sbt.turbo") def pipelining: Boolean = getOrFalse("sbt.pipelining") - // opt-in or out of Zinc's consistent Analysis format. - def analysis2024: Boolean = getOrFalse("sbt.analysis2024") def taskTimings: Boolean = getOrFalse("sbt.task.timings") def taskTimingsOnShutdown: Boolean = getOrFalse("sbt.task.timings.on.shutdown") From a420db6d6fa60f12bf9b29d4fee3081252cf9d51 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Mon, 16 Dec 2024 22:31:29 -0500 Subject: [PATCH 96/96] source-dependencies/false-error --- .../sbt-test/source-dependencies/false-error/{pending => test} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename sbt-app/src/sbt-test/source-dependencies/false-error/{pending => test} (100%) diff --git a/sbt-app/src/sbt-test/source-dependencies/false-error/pending b/sbt-app/src/sbt-test/source-dependencies/false-error/test similarity index 100% rename from sbt-app/src/sbt-test/source-dependencies/false-error/pending rename to sbt-app/src/sbt-test/source-dependencies/false-error/test