Skip to content

Sbt 2 migration - #3015

Merged
adamw merged 6 commits into
masterfrom
sbt-2-migration
Oct 2, 2026
Merged

adamw merged 6 commits into
masterfrom
sbt-2-migration

Conversation

@pierscin

@pierscin pierscin commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

I had to embed spark-md5 which has very permissive license - https://github.com/satazor/js-spark-md5/blob/master/LICENSE because I couldn't get it to work with js plugin (there isn't one for sbt 2).

pierscin and others added 3 commits October 1, 2026 11:03
- sbt 2.0.9, sbt-softwaremill 3.0.1, sbt-mima-plugin 1.2.1
- removed sbt-projectmatrix (built into sbt 2)
- removed sbt-revolver and sbt-jsdependencies, which aren't available for sbt 2:
  - the test server is now started as a forked sbt background job (bgRunMain), reused if already listening
    on the port, and stopped when sbt exits
  - spark-md5.min.js is vendored in core/src/test/js and loaded before the JS tests via Test / jsEnvInput
- common settings are now bare settings in build.sbt (applied to all subprojects in sbt 2)
- updateDocs and compileDocs are defined on the root project only
- in sbt 2, Scala 3 matrix projects have no suffix, while Scala 2.13 ones get the 2_13 suffix:
  compileScoped/testScoped filters and CI project names adjusted (examples3 -> examples, examplesCe2 -> examplesCe22_13)
- testScoped uses testFull, as `test` is incremental in sbt 2; the test server is also started before testFull
- the fs2-ce2 sttp-shared dependency explicitly uses the JVM artifact on all platforms, as before
  (in sbt 2 `%%` is platform-aware)
- removed the no-op native `Test / test` override (the release check never had any effect)
- sbt 2 syntax adjustments (%%% -> %%, `: _*` -> `*`, slash syntax, InputTask test, uncached tasks)
- put -release 11 explicitly in scalac options for Scala 2 on the JVM (same target as Scala 3's -java-output-version)
- terminate the actor systems in akka/pekko streaming tests, otherwise pekko crashes the sbt server
  once the test classloader is closed
- CI: JDK 11 -> 17, setup-sbt v1.5.10, shut down the sbt server before ci-release
- scalafmt: scala3 dialect for *.sbt and project/*.scala files

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@pierscin pierscin self-assigned this Oct 1, 2026
pierscin and others added 3 commits October 1, 2026 14:02
sbtn joins all arguments into a single command, so
`sbt "project examples" verifyExamplesCompileUsingScalaCli` fails with
"Expected project ID".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@pierscin
pierscin requested a review from adamw October 2, 2026 06:17
@pierscin
pierscin marked this pull request as ready for review October 2, 2026 06:17
@adamw
adamw merged commit 12c7fed into master Oct 2, 2026
27 checks passed
@adamw
adamw deleted the sbt-2-migration branch October 2, 2026 06:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants