scalafix
scalafix copied to clipboard
scala 3: publish scalafix-cli_3
trafficstars
Remaining steps before publishing
- check status of https://github.com/scalameta/scalameta/pull/3347
- many of tests in ScalafixArgumentsSuite rely on semanticRule, and we don't have any yet for scala 3. We need to create a simple semanticrule and test the ignored tests for scala 3 (search for "i1680" in code)
- coursier lookups in scalafix-cli_3 should fallback to loading 2.13 artifacts for requested community rules artfacts not available in scala 3
- do we really need full-cross-version in Scala 3? Consider https://www.scala-lang.org/blog/2022/08/17/long-term-compatibility-plans.html
- publish artifacts (only SNAPSHOTs to start with? how can we prevent
cs installto pick upscalafix-cli_3which has the known limitations of not supporting quasiquotes when loading source rules?) - document the experimental aspect of the Scala 3 artifacts (quasiquotes can't be used, 2.13 artifacts ending up in the classpath)
- update integration tests
- reenable testing scala latest with Scala 3 build
- https://github.com/scalacenter/scalafix/issues/1949
Next steps
- advocate for community rules to cross-compile to scala 3 by updating https://github.com/scalacenter/scalafix.g8 & https://scalacenter.github.io/scalafix/docs/developers/cross-publish-custom-rules.html
- make it possible (but not default?) in sbt-scalafix to use scalafix-cli_3 when sources are in scala 3
- drop support for testing Scala 3 targets with Scala 2.12 in https://github.com/scalacenter/scalafix.g8 ?