Repository navigation
Conversation
| // "standard" (rather than an explicit "3.8.4") avoids a genuine dbuild gap: the | ||
| // extraction-side Scala-version override (DependencyAnalysis.fixExtractionScalaVersion2) | ||
| // only rewrites Keys.scalaVersion and lets sbt's own legacy compiler-fetch fallback run, | ||
| // which isn't Scala-3-aware and looks for the old "scala-compiler" module instead of | ||
| // "scala3-compiler_3". sbt 2.0.7 already defaults to Scala 3.8.4 on its own, so no | ||
| // override is needed here anyway. | ||
| injectIntoMetaMetaBuild(projectName = "InjectionTest2x", sbtVersion = "2.0.7", extractionVersion = "standard") |
There was a problem hiding this comment.
This might require some follow-up.
There was a problem hiding this comment.
“genuine” is one of my pet LLM tells :-)
There was a problem hiding this comment.
This might require some follow-up
Do I understand correctly that this is only about being able to override the Scala version used to compile the build, as opposed to the Scala version for project code? Because in the Scala 2 community build we only care about the level 0 Scala version.
Do you expect to care about this when using dbuild to test sbt 2...?
There was a problem hiding this comment.
Do I understand correctly that this is only about being able to override the Scala version used to compile the build, as opposed to the Scala version for project code?
I'm not totally sure, but my guess is that it's currently not able to switch out to a freshly baked Scala 3 compiler?
Do you expect to care about this when using dbuild to test sbt 2...?
Nope.
| def MyVersion: String = "0.9.20" | ||
|
|
||
| ThisBuild / scalaVersion := scala212 | ||
| ThisBuild / scalaVersion := scala3 |
There was a problem hiding this comment.
Since I'm using Scala 3.8.4, this would also bump the minimum JDK version to JDK 17. This can easily be flipped since the driver code current cross compiles.
|
About JDK 17 as a new baseline: it might be fine for the Scala 2 community build to stay on old dbuild on JDK 8 (we already dropped 11), or to drop JDK 8 entirely. I've just written that possibility up at scala/community-build#1747 |
This cross builds the plugin portion to sbt 1.x and 2.x, and migrates the driver to Scala 3.
I used Claude to migrate the library usages to something that's available on Scala 3:
Due to the limitation on sbt's launcher, sbt 2.x I don't think can fully override the Scala toolchain yet. Integration test seems to pass on both sbt 1.x and 2.x.