maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rex Hoffman <>
Subject Auto apache version standard as an enforcer rule?
Date Tue, 02 Nov 2010 21:27:23 GMT
So I have a desire to have maven check prior versions of an artifact
and determine if the apache version standard is being followed.

I had implemented a patch against the clirr plugin in the mojo project
to do this.
It's been several months and this doesn't appear to be going anywhere.

The patch used clirr's api comparison capabilities and worked as follows:

if a method signature had changed, this was considered a backwards
breaking change, and the major version number was expected to be
if a new method signature was added, this is considered an
enhancement, and a minor version number was expected to be
finally if no API changes occurred, the patch version number was
expected to be incremented.

I would implement this version number comparison as a library so that
the version and release plugin could use it as well.... perhaps, with
as an "auto version"

I see this being particularly useful for API maven projects but could
be used with them all.  It had two modes, strict -- demanding that
exactly the calculated version number should be used, and
lax, allowing any new version number, greater than or equal to the
calculated to be used.

Care was taken to treat SNAPSHOT appropriately, and to leave the API
in flux before the 1.0 release (no such thing as a backward breaking
(1.0.1-SNAPSHOT was ignored when testing compatibility of the 1.0.1
release, it only compares to 1.0.0)

I'm of the opinion that this functionality would be incredibly helpful
to both double check and educate the larger maven community.

If I were to clean this up and construct an enforcer rule that
demanded adherence to the letter of the law of the apache version
standard, is something that would be allowed into the maven enforcer

Or would the team prefer I continue to try to work the the clirr-mojo?

Give me a firm commitment (contingent on quality of course ) and I
could have this done tonight.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message