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/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 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/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/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/test b/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/test index 7df93ab6c..8eb173463 100644 --- a/sbt-app/src/sbt-test/dependency-management/stdlib-unfreeze/test +++ 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 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-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 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) } }