On Feb 7, 2011, at 12:29 AM, Guillaume Nodet wrote:

> On Sun, Feb 6, 2011 at 03:25, David Jencks <[email protected]> wrote:
>> I might have come up with a way to use the feature plugin packagings in the 
>> karaf build without profiles as long as we don't use backwards incompatible 
>> changes in our builds.  The main problem I know about is using the release 
>> plugin to do a release because the new version of the features-maven-plugin 
>> isn't available in a maven repo yet.
>> 
>> The idea is to define the version of the features-maven-plugin in a maven 
>> property and override it on the build command line to a previously released 
>> version.
>> 
>> I've tried this locally with the 2.1.99-SNAPSHOT branch and 2.99.99-SNAPSHOT 
>> trunk.
>> 
>> First I built the 2.1.99-SNAPSHOT tree to get this version of the plugin in 
>> my local repo.
>> 
>> Then I cleaned out any mention of the 2.99.99-SNAPSHOT plugin from my repo 
>> and build trunk with
>> 
>> mvn clean install -DfeaturesPluginVersion=2.1.99-SNAPSHOT
>> 
>> aside from some test failures and problems with a missing war deployer and 
>> manual artifacts, this worked fine, using the old 2.1.99-SNAPSHOT plugin.  
>> It also built the 2.99.99-SNAPSHOT plugin.
>> 
>> Then I built trunk
>> mvn clean install
>> 
>> which worked just as well, using the new plugin.
>> 
>> So, I think we can leverage this idea in the release plugin, since it builds 
>> twice with the new version: for release:prepare we use something on the 
>> command line to get the plugin version into the forked maven command line, 
>> and for release perform we leave this out.
>> 
>> I think to actually find out if this will work I'll need to do a 
>> release:prepare on trunk, creating an svn tag which I can then remove again. 
>>  Does this seem worth experimenting with further or is it too complicated or 
>> does someone know that it won't work?
> 
> Couldn't we create two branches for experimenting so that trunk and
> the maintenance branches won't be affected at all ?

I think so.  If I have a few minutes soon I'll try that.

> But won't the problem still happen in release:perform when building
> the non snapshot version ?

Well, I haven't tried with the release plugin yet but what I think will happen 
is:

release prepare will use the 2.1.99-SNAPSHOT (or 2.2 if available) features 
plugin to build karaf, in particular a 3.0 features-maven-plugin which will go 
in the local maven repo.
release perform will use the 3.0 features plugin just built from the local 
maven repo to build karaf.

thanks
david jencks

> 
>> 
>> I think this actually ought to work with version ranges on the plugin but 
>> AFAICT this is going to show up so many maven bugs as to be unworkable.
>> 
>> thanks
>> david jencks
>> 
>> 
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com

Reply via email to