-
-
Notifications
You must be signed in to change notification settings - Fork 349
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scala 3 build.sc
#2969
Comments
I think a breaking change for Scala 3 is fine IMO. Trying to keep things cross-building adds considerable internal complexity, and giving the user a choice adds considerable user-facing complexity. We should just make the jump; maybe not immediately, but perhaps mid/late this year? All of Mill's upstream Scala libraries are Scala 3 compatible, if I'm not mistaken. The normal code should be trivial to make cross-compatible (e.g. adding missing return type ascriptions for implicits), and the generated code should be similar (since it's just code). Most of the "heavy lifting" is already moved to So the main work seems to be (a) porting the Applicative task macros to Scala 3 and (b) porting the line number fixer plugin to Scala 3. Neither of them seems terribly difficult, though we would need someone familiar with Scala 3 metaprogramming for (a) and Scala 3 internals for (b). |
Coursier will require a |
Superseded by #3152 |
Mill is gaining adoption, but being a Scala 3 only build tool, would help it position itself as a next-generation build tool for Scala.
Sbt will be soon running on Scala 3, so it would be nice if Mill did the same.
If we want to avoid breaking changes, we cross-compile Mill to Scala 3 and let users decide which version they want to use, either via the meta-build, a config file or a directive (like
//> using scala 3
from scala-cli).The text was updated successfully, but these errors were encountered: