continuum-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raphaël Piéroni <raphaelpier...@gmail.com>
Subject Re: intelligently building snapshots with continuum
Date Wed, 20 Sep 2006 21:15:29 GMT
Hi Leonard,

Comment inlined.

Hope this will help.

Raphaël

Leonard Gestrin a écrit :
> Hello,
>
> This is my first post to the list and I am very new to mvn/continuum
> world.
>
> We are currently using mvn snapshot features but I think we  are not
> using it properly. I want to move building of snapshots to build
> integration machine where continuum runs and I have few questions about
> how Continuum would go about building snapshots.
>
>  
>
> Lets say, I have 
>
> artifacts: webapp, webutil, util, common. - all these components are in
> active development.
>
> webapp depends  on webutil, util, common
>   
and on parent
> webutil depends on util, common
>   
and on parent
> util depends on common.
>   
and on parent

common depends on parent
>  
>
> The goal is to make sure that snapshots are updated properly recursively
> when change happens to a certain snapshot. And all pieces of the
> application are using same versions of snapshots.
>
>  
>
> 1.	To make sure every artifact depends on same version of
> dependencies, parent  pom.xml will have 
>
> dependencyManagement>
>
> <dependencies>
>
> <dependency>
>
> <!-3rd party ->
>
> <groupId>commons-logging</groupId>
>
> <artifactId>commons-logging</artifactId>
>
> <version>1.0.4</version>
>
> </dependency>
>
> <!-internal->
>
> <groupId>company.com</groupId>
>
> <artifactId>webutil</artifactId>
>
> <version>1.0.0-SNAPSHOT</version>
>
> <groupId>company.com</groupId>
>
> <artifactId>util</artifactId>
>
> <version>1.0.0-SNAPSHOT</version>
>
> <groupId>company.com</groupId>
>
> <artifactId>common</artifactId>
>
> <version>1.0.0-SNAPSHOT</version>
>
> </dependencyManagement>
>   
I don't know if this works for your case
>  
>
> 2.	to make sure that snapshots are build using controlled
> environment, lets say continuum is used to build them. So, my questions
> are: 
>
>  
>
> Will continuum rebuild ALL snapshots every time it makes a build?
> (hourly, per say). 
>   
If i remember correctly, a project is rebuild only if the SCM has changed
> a) If "yes", how does it know the order in which snapshots have to be
> generated? (common first, util, webutil, webapp) - the order is very
> important since if there is a change in common, util has to be compiled
> against latest common classes.
>   
in the an order guessed by resolving the dependency graph
> Also, it seems to me that repository will get filled up very quickly
> with identical snapshots for same component and each developer's machine
> would have to sync new snapshots every time it checks with repository
>   
this achieved by setting a repository policy (can't where and how)
>  
>
>       b)If  continuum is smart enough to create new snapshot only when
> there has been code changes in src of particular module, does it know
> that snapshots depending on that module have to be regenerated also?
>   
Can't say, but would be interested in the answer
>  
>
> 3. if continuum does not have the answer for the problem/questions to 2.
> can someone recommend the alternative solution/intergration server that
> would ensure that snapshots are being incrementally deployed only when
> and in the right dependency order? (if change has been done in util
> module there is no need to redeploy common snapshot but there is a need
> to redeploy webutil once util snapshot is ready)
>   
You can have a workaround by setting the build phase to 'deploy' without 
--non-recursive option in the continuum wrapper project (assuming that 
you also have defined a project wrapping around parent, common, util, 
... which has all the projects defined as modules)
But this could have the side effect of redeploying common if only util 
has changed.
> Thanks
>
> Leonard
>
>  
>
>
>   


Mime
View raw message