[Hawkular-dev] maven stuff

John Mazzitelli mazz at redhat.com
Thu Feb 26 09:43:29 EST 2015


> Hence my proposal to go back to 0.y.z-SNAPSHOT versioning scheme and actually
> raise the version when making a breaking change.

That's exactly how it should be done. SNAPSHOTSs until we hit breaking changes, then releases.

Of course, in our current stage of development, isn't everything a breaking change? :) Can you imagine what Jay and Heiko would have had to go through yesterday if they had to bump up version numbers to their maven modules and push a "release" for everything they did while trying to get that metric data JSON to flow correctly between their pinger and alerts components (and I think it involved inventory)? It would have been unbearable and useless.

Here's another example, and why I have a problem using release versions always - this is just to give another actual instance that happened. Yesterday, Libor published for me some enhancements and fixes to his nice Wildfly extension maven plugin. I bumped up the plugin version in the parent pom so I can use it. I didn't realize snapshots of the parent pom weren't yet published. So I completely foo-bared the builds. I was supposed to have created a PR to the parent pom, waited for that PR to be peer-reviewed and merged to master, waited for someone to bump up the parent-pom version number, do a mvn release on the parent pom, and once it was published, only then could I have gone back to my own pom, bump up its parent-pom version, THEN use Libor's new maven features.

All to be able to use a new version of a maven plugin.

Surely, that can't be what we want people to go through for such a trivial change.

Now, if some API changes (say, someone wants to bump up a <dependency> in parent pom to a new major or major.minor version that changes to incompatible API changes, OR someone changes a maven plugin to a version that isn't compatible with older versions) then ABSOLUTELY we need to go through that new version/release cycle for reasons that were brought up earlier.

But not for trivial changes that don't have such effects. That's where SNAPSHOT helps us move fast.

As for Travis, that's another issue :)


More information about the hawkular-dev mailing list