He-Pin opened a new pull request, #3052:
URL: https://github.com/apache/pekko/pull/3052

   ## Summary
   
   Migrate the build system from sbt 1.12.11 to sbt 2.0.0-RC14 for build speed 
improvements (cached tasks, Scala 3 build definitions, modernized APIs).
   
   **This is a WIP/tracking PR.** The build does not compile yet — blocked on 
10 sbt plugins gaining sbt 2 support.
   
   Relates to: https://github.com/apache/pekko/issues/2210
   
   ## Migration Checklist
   
   ### sbt Version & Build Config
   - [x] Update `project/build.properties` to `sbt.version=2.0.0-RC14`
   - [x] Migrate wildcard imports `._` → `.*` in all 33 `project/*.scala` files
   - [x] Fix `Tuple.zipped` → `lazyZip` in `SbtMultiJvmPlugin.scala`
   - [x] Fix `Types.Id[Keys.TaskStreams]` → `Keys.TaskStreams` in 
`SbtMultiJvmPlugin.scala`
   - [x] Add explicit type annotation for `implicit val display` in 
`SbtMultiJvmPlugin.scala`
   - [ ] Rewrite `InputTask.createDyn`/`loadForParser` for sbt 2 API (3 
locations in `SbtMultiJvmPlugin.scala`)
   - [ ] Rewrite `FileFunction.cached` with `ChangeReport` API in 
`Protobuf.scala`
   - [ ] Handle `Classpath` type change (`Attributed[File]` → 
`Attributed[HashedVirtualFileRef]`)
   - [ ] Address `exportJars` default change (now `true`)
   - [ ] Address bare settings scoping change (now COMMON, not root-only)
   - [ ] Address task caching changes (all tasks cached by default)
   - [ ] Convert `implicit class`/`implicit def` to Scala 3 `extension`/`given` 
style (optional)
   
   ### Plugin Compatibility (17/27 ready)
   
   #### ✅ Ready — version bumped
   | Plugin | Old | New |
   |--------|-----|-----|
   | sbt-assembly | 2.2.0 | 2.3.1 |
   | sbt-java-formatter | 0.11.0 | 0.12.0 |
   | sbt-osgi | 0.10.0 | 0.11.0-RC1 |
   | sbt-paradox | 0.10.7 | 0.11.0-M4 |
   | sbt-paradox-theme | 0.10.7 | 0.11.0-M4 |
   
   #### ✅ Ready — same version works
   sbt-jupiter-interface, sbt-scalafmt, sbt-scalafix, sbt-mima-plugin, 
sbt-unidoc, sbt-jmh, sbt-boilerplate, sbt-header, sbt-dynver, 
sbt-license-report, sbt-welcome, sbt-bloop
   
   #### ⚠️ In Progress — waiting on upstream
   | Plugin | Status | Tracking |
   |--------|--------|----------|
   | sbt-pull-request-validator | PR open | 
[sbt/sbt-pull-request-validator#104](https://github.com/sbt/sbt-pull-request-validator/pull/104)
 |
   | sbt-sbom | Merged, not published | 
[sbt/sbt-sbom#224](https://github.com/sbt/sbt-sbom/issues/224) |
   | sbt-source-dist | Issue open | 
[pjfanning/sbt-source-dist#46](https://github.com/pjfanning/sbt-source-dist/issues/46)
 |
   | sbt-reproducible-builds | Blocked on sbt-gpg | 
[raboof/sbt-reproducible-builds#344](https://github.com/raboof/sbt-reproducible-builds/issues/344)
 |
   
   #### ❌ Not Available — issues created
   | Plugin | Status | Tracking |
   |--------|--------|----------|
   | sbt-pekko-build | Pekko-internal, must self-migrate | 
[pjfanning/sbt-pekko-build#21](https://github.com/pjfanning/sbt-pekko-build/issues/21)
 |
   | pekko-sbt-paradox | Pekko-internal, must self-migrate | 
[apache/pekko-sbt-paradox#182](https://github.com/apache/pekko-sbt-paradox/issues/182)
 |
   | sbt-bill-of-materials | Low maintenance | 
[lightbend/sbt-bill-of-materials#12](https://github.com/lightbend/sbt-bill-of-materials/issues/12)
 |
   | sbt-api-mappings | Stale upstream | 
[ThoughtWorksInc/sbt-api-mappings#202](https://github.com/ThoughtWorksInc/sbt-api-mappings/issues/202)
 |
   | sbt-depend-walker | No activity | 
[Roiocam/sbt-depend-walker#1](https://github.com/Roiocam/sbt-depend-walker/issues/1)
 |
   | sbt-develocity | Gradle-maintained, repo not public | — |
   
   ### Disabled Plugin Code (temporarily commented out)
   - [x] `build.sbt`: Comment out `ReproducibleBuildsPlugin`, 
`DependWalkerPlugin`, `BillOfMaterialsPlugin`, `PekkoParadoxPlugin`, 
`UnidocWithPrValidation`, `ValidatePullRequest` references
   - [x] `AddMetaInfLicenseFiles.scala`: Stub `ApacheSonatypePlugin` usage
   - [x] `Publish.scala`: Remove `ApacheSonatypePlugin` from `requires`
   - [x] `OSGi.scala`: Bypass `ReproducibleBuildsPlugin.postProcessJar`
   - [x] `PekkoDevelocityPlugin.scala`: Stub both AutoPlugins
   - [x] `Paradox.scala`: Comment out `PekkoParadoxPlugin` usage
   - [x] `ValidatePullRequest.scala`: Stub `PullRequestValidatorPlugin` usage
   
   ### Decision Points
   - [ ] `sbt-bill-of-materials`: Drop or fork? (Low maintenance upstream)
   - [ ] `sbt-api-mappings`: Drop or fork? (Stale upstream)
   - [ ] `sbt-depend-walker`: Drop? (Low priority)
   - [ ] `sbt-develocity`: Wait for Gradle or drop?
   
   ## Tests
   
   WIP — build does not compile yet. Will validate once all plugin dependencies 
are resolved.
   
   ## References
   
   - [Migrating from sbt 
1.x](https://www.scala-sbt.org/2.x/docs/en/changes/migrating-from-sbt-1.x.html)
   - [sbt 2.x plugin migration 
tracker](https://github.com/sbt/sbt/wiki/sbt-2.x-plugin-migration)
   - [sbt2-compat](https://github.com/sbt/sbt2-compat)
   - [Tracking issue: 
apache/pekko#2210](https://github.com/apache/pekko/issues/2210)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to