-
Notifications
You must be signed in to change notification settings - Fork 47
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
How to use previousStableVersion in build.sbt? #70
Comments
Ping @jatcwang, would you like to work with @Mvpanswer7 on this? Perhaps we could find a way to modify the README so this is well understood. |
Thanks for reply, the problem is it seems I cannot just simply use |
It's probably best, for starters, to be using But you also have to deal with |
A lot thanks from a starter~ I do tried |
Make sure you're using a release of sbt-dynver that includes You can use the version published since the merge: |
It is not clear to me how we can use
If I’m on the mimaPreviousArtifacts := previousStableVersion.value.map(organization.value %% name.value % _).toSet Indeed, when I’m not on the |
I think we can add support for this, but it will require detecting whether two versions has breaking semantics. I think SBT itself has some semantic version detection which we can reuse (it uses it for eviction warnings?) but I can't seem to find it. @dwijnand Do you have any ideas? |
Sorry, I don't use We have a spec on the behaviour, Apropos of "breaking semantics" I don't think sbt-dynver should get into the business of trying to guess if something is breaking or not. sbt's eviction warnings are a great example: they false positive so much they're ignored (someone has proposed the Scala Center fixes that.) It should define a useful value for |
That's how I feel as well - we really shouldn't be dictating what's breaking and not. There's probably a library out there you can use to parse and compare versions, with your own definition of what's breaking or not. However, if everyone is doing this in their project, perhaps it'll be helpful to have this process consolidated somewhere. Whether that's within sbt-dynver's scope is up for debate. I am happy to implement this if you're ok with having that here. (In a way I think it makes sense for sbt-dynver to provide this functionality, as it has its own versioning scheme. Some other libraries may not handle some of our version strings) |
The problem (or at least the one I'm referring to) is that we don't have a shared definition of breaking. For starters, we have both a source API and a binary API. But even without that (assume source API == binary API, like Java) reasonable people will disagree on whether a change is a bug fix or a breaking change. The funny exaggeration is https://xkcd.com/1172/. |
I am thinking that we can make it customizable, with some common rules they can apply? So it's always an explicit choice of what they want to use. Basing off @julienrf's example:
Perhaps the right way to solve the problem is to disable MiMa checking in 2.x branch until the first v2.0.0 release is done?
|
Can this be closed @dwijnand? |
I don't mind closing it, but do you think maybe it would be useful to add your tips to the README where previousStableVersion is discussed? |
On branching off major version branches? Sure. |
I am confued how to use this useful key in my build.sbt
The text was updated successfully, but these errors were encountered: