You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Paul Edwards <pa...@cadre5.com> on 2007/01/30 21:12:35 UTC

Multi step build process for multi module project

Hi,

When running a M2 build over a set of modules within a profile within a parent project, 
is it possible to cause certain plugin goals to run only once while others run on each 
sub-project defined in the profile? What I am attempting to accomplish goes like this:

Step 1: cargo:stop
Step 2: module 1 clean package cargo:deploy
Step 3: module 2 clean package cargo:deploy
Step 4: module 3 clean package cargo:deploy
Step 5: cargo:start

What I am able to accomplish if I run the following:

mvn cargo:stop clean package cargo:deploy cargo:start

is the following sequence:

Step 1: cargo:stop module 1 clean package cargo:deploy cargo:start
Step 2: cargo:stop module 2 clean package cargo:deploy cargo:start
Step 3: cargo:stop module 3 clean package cargo:deploy cargo:start
Step 4: cargo:stop module 4 clean package cargo:deploy cargo:start

As you can imaging, all that starting and stopping of the web server is not only time 
consuming but tends to cause Windows to chuck a wanger. I have attempted to bind 
cargo:stop and cargo:start to lifecycle phases but the same phases iterate for each 
sub-project... no good.

Any ideas?

Thanks!
Paul


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Multi step build process for multi module project

Posted by Christian Goetze <cg...@sensage.com>.
Paul Edwards wrote:

> Hi,
>
> When running a M2 build over a set of modules within a profile within 
> a parent project, is it possible to cause certain plugin goals to run 
> only once while others run on each sub-project defined in the profile? 
> What I am attempting to accomplish goes like this:
>
> Step 1: cargo:stop
> Step 2: module 1 clean package cargo:deploy
> Step 3: module 2 clean package cargo:deploy
> Step 4: module 3 clean package cargo:deploy
> Step 5: cargo:start
>
> What I am able to accomplish if I run the following:
>
> mvn cargo:stop clean package cargo:deploy cargo:start
>
> is the following sequence:
>
> Step 1: cargo:stop module 1 clean package cargo:deploy cargo:start
> Step 2: cargo:stop module 2 clean package cargo:deploy cargo:start
> Step 3: cargo:stop module 3 clean package cargo:deploy cargo:start
> Step 4: cargo:stop module 4 clean package cargo:deploy cargo:start
>
> As you can imaging, all that starting and stopping of the web server 
> is not only time consuming but tends to cause Windows to chuck a 
> wanger. I have attempted to bind cargo:stop and cargo:start to 
> lifecycle phases but the same phases iterate for each sub-project... 
> no good.
>
> Any ideas?
>
Maybe making a module "stop" and "start", with packaging pom, with the 
appropriate plugin config entries for stopping and starting, then make 
"start" depend on all other modules, and make all of those other modules 
depend on "stop". Then, the reactor build order will be as you desired.
--
cg

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org