-
Notifications
You must be signed in to change notification settings - Fork 185
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
Towards Scalafix v1.0 #1108
Comments
@olafurpg
Just for my curiosity, but hope it's a relevant question for everyone: Is there any reason to give up |
@taisukeoe you may want to sync with @mlachkar on #998 I believe a good starting point regardless of approach would be to add 2.13 support for scalafix-core. I'm still open to go the Java-API approach. My biggest concern with that direction is that it will be difficult to come up with generic methods since the compiler provides a lot of functionality. If we decide to only implement a small API for ExplicitResultTypes and not expand the scope of that Java API then maybe it will be OK |
As a rule author, I can assume that rules built against But how should existing rules handle a potential |
My current thinking is to never break binary compatibility. If we need a new api we can put it under the “scalafix.v2” package. I would prefer to avoid putting the Scalafix version in the module name. Another thing we can do is let Scalafix rules declare what Scalafix version they support and have some dynamic check to validate a rule is compatible with the installed Scalafix version. |
I think it’s possible to aim for no publicly facing binary breaking changes between 0.9.x and 1.x so existing rules will continue to work unchanged. |
My bad, I hadn't realized that there was already versioning in place at the package level for |
The I'm not sure if we will ever need |
About Scalafix 2.11/2.13 usage in sbt: there was good progress over the last weeks, and #1166 should be the last step, but what should be the strategy to promote rule authors to start cross-publishing? Would it be aggressive to have |
In my opinion, scalafixScalaBinaryVersion should follow the scalaVersion starting 1.x. |
Scalafix v0.9.x has been quite stable for a long time now so I think it would be nice to start preparing a v1.0.0 release. I would like to keep the current API mostly unchanged in v1.x so the upgrade should be smooth for most users. This issue is just to track what changes I think are worth getting done before we release v1.x
scalafix_2.13
by default instead ofscalafix_2.12
scalafix_2.12
on 2.12 sources andscalafix_2.11
on 2.11 sources, which would unblockExplicitResultType
usage on more Scala versions. However, this would mean that custom Scalafix rules would also need to be cross-published..scalafix.conf
so that clients like Metals or maybe IntelliJ can load the correct version of Scalafix without having to inspectproject/plugins.sbt
The text was updated successfully, but these errors were encountered: