-
Notifications
You must be signed in to change notification settings - Fork 71
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
Broken compatibility with SBT 1.2.8 #417
Comments
(Reported earlier in #382.) Yes, MiMa v0.6.1 was built with sbt v1.3.0, which means (with no workarounds having been applied) that 1.3.0 is the minimum required sbt version for the build that uses the plugin. Until it becomes clear that upgrading to sbt 1.3.0 is an issue, I'm going to leave this as is. As an aside, you mention "SBT broke binary compatibility in 1.3.x". That's technically true but in a misleading way. "Binary compatibility" generally refers to backwards binary compatibility, that is new versions of sbt will continue to work with existing plugins. sbt 1.3.x is and continues to be backwards binary compatible with sbt 1.0.0. But sbt 1.3.x isn't forwards binary compatible with the rest of sbt 1.x because it introduced new APIs (and, in this particular case, new API in a way that is super-easy to depend on: implicits on the top package object.) |
Yes, I was talking about forward compatibility. Thank you for setting this straight 😄.
The main issue I see here is that this complicates upgrades for projects that use this plugin. E.g. for a build using SBT 1.2.8 and mima 0.6.0 we have to upgrade both at once. And it's not immediately obvious what plugin versions support what SBT versions beyond the 0.3/1.0 distinction. Anyway, it is your right to drop SBT 1.2.x compatibility. However, I think that in this case the readme file should say:
|
Is there a reason you can't upgrade to sbt 1.3.2 first and then MiMa 0.6.1 after? I agree with you the readme should be amended. Will do. |
For me personally - probably not. It'll be messy (there are a lot of projects, and there are helper plugins that bring in this one), but since I already know where the problem is, it is at least doable. UPD: Actually, bumping everything together seems easier, so I'll do that. |
I've updated
sbt-mima-plugin
from 0.3.0 to 0.6.1 in one of my projects, and got the following:The reason for this is that SBT broke binary compatibility in 1.3.x, so any plugins built against SBT 1.3.x are not compatible with SBT 1.2.8 and older. See sbt/sbt#5049 for further discussion. The recommended workaround is to build everything against SBT 1.2.8.
For the users of this plugin the workaround would be to switch to an older plugin version. E.g. 0.6.0 seems to be built against SBT 1.2.8.
The text was updated successfully, but these errors were encountered: