maven-m2-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maczka Michal <michal.mac...@imtf.ch>
Subject RE: dependencies in reactorized builds
Date Tue, 01 Feb 2005 08:47:34 GMT


> -----Original Message-----
> From: Brett Porter [mailto:brett@apache.org]
> Sent: Monday, January 31, 2005 11:18 PM
> To: Maven 2 Developers List
> Subject: Re: dependencies in reactorized builds
> 
> 
> > Isn't the one version across the board scenario already 
> supported by m1 
> > and m2?
> 
> Yes, I just think it needs to become a best practice.
> 

I just wonder what's your experince with this pratice guys as
honestly I am bit sceptical about it and I am not sure if this is really
that good thing.
Note that we are here tying to find a workable solution for large projects
not for the small ones
as small ones (say up to 7-10 modules, 3-4 developers) can be still
maintained by hand.

I tried to use "one version across the board scenario" 
couple of times and I am still doing it in some of my projects so I can
share my experience in this domain.
Only reason why I am still doing it in some projects 
is due to the fact that we are using jira at work and in jira project's
components cannot be versioned separately
and there is not so many people actively working on those projects.

Simply there is a couple of issues with that approach

a) release process is difficult as the application is released in one big
shoot.
   If you keep a track of changes per every module, use separate tags in SCM
system per module, keep a track of changes per module in your issue tracker 
   this really slows you down. 
   This is not something you want to do if you fixed a bug in a single
module and you want 
   quickly ship it to the customer. If there is some sort of involvement of
QA team in release process this quickly becomes a bottle neck.


b) when release is made there is usually so called "code freeze period". If
you changed only a single module - you don't want to slow down
   other people which are working in parallel on some other modules. This
makes the policy "release early, release often" 
   not so easy to apply (if at all possible) as modules are only released
when platform is released. 
   I know that branching is recommended practice in such cases but with CVS
it is not that easy and I think it globally adds you more work
   to do then the scenario in which you are releasing modules separately.


So to conclude - I think this is a good solution for small projects but I
doubt if this is something which may ever work for
bigger ones: say eclipse or geronimo and this is not really solving the
problem which we are trying to solve here :(


Michal


Mime
View raw message