jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Klimetschek <aklim...@day.com>
Subject Re: Release automation (Was: svn commit: r641291 - /jackrabbit/branches/1.4/jackrabbit-jcr-commons/pom.xml)
Date Wed, 26 Mar 2008 21:28:22 GMT
Hi all Maven junkies out there!

> Another issue is that maven-release-plugin only really cares about
> Maven, whereas our release process should primarily be producing the
> -src.jar package that simply contains the exact release sources as
> tagged in svn. We could let maven-release-plugin do the release work
> and then create the -src.jar from the produced tag, but that seems a
> bit backwards and requires extra work.

That actually is the "maven way" to do it (note that nobody said that  
this has to be a good way ;-) ):

1) run mvn release which creates a new tag in svn
2) check out the newly tagged source tree separately
3) build the release binaries and other stuff from here, using normal  
mvn package and deploy

And don't forget the performRelease=true on the last one to build the  
source, javadoc and test jars (and whatever you got).

> The maven-release-plugin also
> doesn't support the concept of a release vote.

Well, this is true. You have to delete the tag and start over if  
changes need to be made to the release. Or you create an additional  
release like -vote or -RC1 before.

> So, while I'm all for increasing release automation, I'm not yet
> convinced that maven-release-plugin is the tool we should be using.
> But feel free to convince me otherwise. :-)

Once you have more than a handful sub-modules and sub-sub modules  
(lets say > 10), using the release plugin is easier than manually  

Or you avoid that by inheriting the version number from the root pom  
and have inter-module dependencies use that global version number as  
well. But as it was discussed recently, single sub-modules like  
jackrabbit-jcr-commons will be released in seperate cycles (to better  
support osgi bundle management). I think then your cross module  
dependency version will be different for each module, so you will have  
to manually change them. The release plugin could help here - although  
everything will be tagged in svn then.


Alexander Klimetschek

View raw message