Very cool Michal. I have a need for that. We did the same for our project at work.
Thanks -Vincent > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: 03 July 2003 22:42 > To: [EMAIL PROTECTED] > Subject: cvs commit: maven/src/plugins-build/multiproject project.xml > plugin.jelly plugin.properties > > michal 2003/07/03 13:41:36 > > Modified: src/plugins-build/multiproject/xdocs changes.xml goals.xml > properties.xml > src/plugins-build/multiproject project.xml plugin.jelly > plugin.properties > Log: > Added multiproject 'install', 'install-snapshot', 'deploy' and 'deploy- > snapshot' facility > > Revision Changes Path > 1.2 +4 -0 maven/src/plugins- > build/multiproject/xdocs/changes.xml > > Index: changes.xml > =================================================================== > RCS file: /home/cvs/maven/src/plugins- > build/multiproject/xdocs/changes.xml,v > retrieving revision 1.1 > retrieving revision 1.2 > diff -u -r1.1 -r1.2 > --- changes.xml 30 Jun 2003 03:18:49 -0000 1.1 > +++ changes.xml 3 Jul 2003 20:41:36 -0000 1.2 > @@ -7,6 +7,10 @@ > > <body> > <release version="1.0" date="in CVS"> > + <action dev="michal" type="add"> > + Added multiproject 'install', 'install-snapshot', 'deploy' and > 'deploy-snapshot' > + facility > + </action> > <action dev="dion" type="update"> > Rename plugin from reactor to multiproject to reduce confusion > </action> > > > > 1.2 +54 -7 maven/src/plugins- > build/multiproject/xdocs/goals.xml > > Index: goals.xml > =================================================================== > RCS file: /home/cvs/maven/src/plugins- > build/multiproject/xdocs/goals.xml,v > retrieving revision 1.1 > retrieving revision 1.2 > diff -u -r1.1 -r1.2 > --- goals.xml 30 Jun 2003 03:18:49 -0000 1.1 > +++ goals.xml 3 Jul 2003 20:41:36 -0000 1.2 > @@ -4,6 +4,7 @@ > <properties> > <title>Maven Multi-Project Plug-in Goals</title> > <author email="[EMAIL PROTECTED]">dIon Gillard</author> > + <author email="[EMAIL PROTECTED]">Michal Maczka</author> > </properties> > <body> > <goals> > @@ -12,12 +13,58 @@ > <description>Run the site goal of all projects</description> > </goal> > <goal> > - <name>multiproject:site</name> > - <description>Run the site goal of all projects</description> > + <name>multiproject:install</name> > + <description> > + Run <code>'artifact':install</code> goal for all project. > + <br/> > + <code>'artifact'</code> is replaced by the value of property > + <code>maven.multiproject.type</code> which should be set > + individualy for each project. > + </br> > + E.g. if we have projects <i>A</i>, <i>B</i> and <i>C<i> > + with following settiing: > + <ol> > + <li><i>A</i>: <code>maven.multiproject.type=war</code></li> > + <li><i>B</i>: <code>maven.multiproject.type=ejb</code></li> > + <li><i>C</i>: <code>maven.multiproject.type=jar</code></li> > + </ol> > + <br/> > + Following goals will be run: > + <ol> > + <li><i>A</i>: <code>war:install</code></li> > + <li><i>B</i>: <code>ejb:install</code></li> > + <li><i>C</i>: <code>jar:install</code></li> > + </ol> > + </description> > + </goal> > + <goal> > + <name>multiproject:install-snapshot</name> > + <description> > + Run <code>'artifact':install-snapshot</code> goal for all > projects. > + </description> > </goal> > - <goal> > - <name>multiproject:goal</name> > - <description> > + <goal> > + <name>multiproject:deploy</name> > + <description> > + Run <code>'artifact':install-snapshot</code> goal for all > projects. > + </description> > + </goal> > + <goal> > + <name>multiproject:deploy-snapshot</name> > + <description> > + Run <code>'artifact':install-snapshot</code> goal for all > projects. > + </description> > + </goal> > + <goal> > + <name>multiproject:artifact</name> > + <description> > + Run <code>'artifact':'artifact'</code> goal for all projects. > + </description> > + </goal > + > + <goal> > + <name>multiproject:goal</name> > + <description> > Run the comma separated list of goals provided by the > variable <code>goal</code> for all projects > e.g. > <source> > @@ -27,8 +74,8 @@ > <source> > maven -Dgoal=clean,java:compile,test > multiproject:goal > </source> > - </description> > - </goal> > + </description> > + </goal> > </goals> > </body> > </document> > > > > 1.2 +24 -0 maven/src/plugins- > build/multiproject/xdocs/properties.xml > > Index: properties.xml > =================================================================== > RCS file: /home/cvs/maven/src/plugins- > build/multiproject/xdocs/properties.xml,v > retrieving revision 1.1 > retrieving revision 1.2 > diff -u -r1.1 -r1.2 > --- properties.xml 30 Jun 2003 03:18:49 -0000 1.1 > +++ properties.xml 3 Jul 2003 20:41:36 -0000 1.2 > @@ -65,6 +65,30 @@ > </p> > </td> > </tr> > + > + <tr> > + <td>maven.multiproject.type</td> > + <td>No</td> > + <td> > + <p> > + This property should be set for > + each subproject separately. > + It allows to control the type of > + artifact (deliverable) which will > + be built, installed or deployed by the reactor. > + <br/> > + E.g. this property is set to <code>war</code> > + when multiproject will build the project > + it will try to create artifact to attain a goal: > + <code>war:war</code>. If it is set to <code>ear</code> > + the goal which will deliver an artifact will be > + <code>ear:ear</code> > + </p> > + <p> > + Default value is <code>jar</code>. > + </p> > + </td> > + </tr> > </table> > </section> > </body> > > > > 1.2 +9 -0 maven/src/plugins-build/multiproject/project.xml > > Index: project.xml > =================================================================== > RCS file: /home/cvs/maven/src/plugins-build/multiproject/project.xml,v > retrieving revision 1.1 > retrieving revision 1.2 > diff -u -r1.1 -r1.2 > --- project.xml 30 Jun 2003 03:18:48 -0000 1.1 > +++ project.xml 3 Jul 2003 20:41:36 -0000 1.2 > @@ -23,5 +23,14 @@ > <role>Java Developer</role> > </roles> > </developer> > + <developer> > + <name>Michal Maczka</name> > + <id>dion</id> > + <email>[EMAIL PROTECTED]</email> > + <organization>Dimatics</organization> > + <roles> > + <role>Java Developer</role> > + </roles> > + </developer> > </developers> > </project> > > > > 1.2 +104 -0 maven/src/plugins-build/multiproject/plugin.jelly > > Index: plugin.jelly > =================================================================== > RCS file: /home/cvs/maven/src/plugins-build/multiproject/plugin.jelly,v > retrieving revision 1.1 > retrieving revision 1.2 > diff -u -r1.1 -r1.2 > --- plugin.jelly 30 Jun 2003 03:18:48 -0000 1.1 > +++ plugin.jelly 3 Jul 2003 20:41:36 -0000 1.2 > @@ -41,5 +41,109 @@ > ignoreFailures="${maven.multiproject.ignoreFailures}" > > /> > > </goal> > > + > > + > > + <!-- > ==================================================================--> > > + <!-- Builds all artifacts for all subproject > --> > > + <!-- > ==================================================================--> > > + <goal name="multiproject:artifact" > > + description=" Builds all artifacts for all subproject"> > > > > + <maven:reactor > > + basedir="${maven.multiproject.basedir}" > > + includes="${maven.multiproject.includes}" > > + excludes="${maven.multiproject.excludes}" > > + postProcessing="false" > > + goals="multiproject:artifact-callback" > > + ignoreFailures="${maven.multiproject.ignoreFailures}" > > + /> > > + </goal> > > + > > + <goal name="multiproject:artifact-callback"> > > + <attainGoal > name="${maven.multiproject.type}:${maven.multiproject.type}"/> > > + </goal> > > + > > + > > + <!-- > ==================================================================--> > > + <!-- Run 'artifact':install for all subprojects > --> > > + <!-- > ==================================================================--> > > + <goal name="multiproject:install" > > + description="Run 'artifact':install for all subprojects"> > > + > > + <maven:reactor > > + basedir="${maven.multiproject.basedir}" > > + includes="${maven.multiproject.includes}" > > + excludes="${maven.multiproject.excludes}" > > + postProcessing="false" > > + goals="multiproject:install-callback" > > + ignoreFailures="${maven.multiproject.ignoreFailures}" > > + /> > > + </goal> > > + > > + <goal name="multiproject:install-callback"> > > + <attainGoal name="${maven.multiproject.type}:install"/> > > + </goal> > > + > > + <!-- > ==================================================================--> > > + <!-- Run 'artifact':install-snapshot for all subprojects > --> > > + <!-- > ==================================================================--> > > + <goal name="multiproject:install-snapshot" > > + description="Run the site goal of all subprojects"> > > + > > + <maven:reactor > > + basedir="${maven.multiproject.basedir}" > > + includes="${maven.multiproject.includes}" > > + excludes="${maven.multiproject.excludes}" > > + postProcessing="false" > > + goals="multiproject:install-snapshot-callback" > > + ignoreFailures="${maven.multiproject.ignoreFailures}" > > + /> > > + </goal> > > + > > + <goal name="multiproject:install-snapshot-callback"> > > + <attainGoal name="${maven.multiproject.type}:install-snapshot"/> > > + </goal> > > + > > + <!-- > ==================================================================--> > > + <!-- Run 'artifact':deploy for all subprojects > --> > > + <!-- > ==================================================================--> > > + <goal name="multiproject:deploy" > > + description="Run 'artifact':deploy for all subprojects"> > > + > > + <maven:reactor > > + basedir="${maven.multiproject.basedir}" > > + includes="${maven.multiproject.includes}" > > + excludes="${maven.multiproject.excludes}" > > + postProcessing="false" > > + goals="multiproject:deploy-callback" > > + ignoreFailures="${maven.multiproject.ignoreFailures}" > > + /> > > + </goal> > > + > > + <goal name="multiproject:deploy-callback"> > > + <attainGoal name="${maven.multiproject.type}:deploy"/> > > + </goal> > > + > > + > > + <!-- > ==================================================================--> > > + <!-- Run 'artifact':deploy-snapshot for all subprojects > --> > > + <!-- > ==================================================================--> > > + <goal name="multiproject:deploy-snapshot" > > + description="Run 'artifact':deploy-snapshot for all subprojects"> > > + <maven:reactor > > + basedir="${maven.multiproject.basedir}" > > + includes="${maven.multiproject.includes}" > > + excludes="${maven.multiproject.excludes}" > > + postProcessing="false" > > + goals="multiproject:deploy-snapshot-callback" > > + ignoreFailures="${maven.multiproject.ignoreFailures}" > > + /> > > + </goal> > > + > > + <goal name="multiproject:deploy-snapshot-callback"> > > + <attainGoal name="${maven.multiproject.type}:deploy-snapshot"/> > > + </goal> > > + > > + > > + > > </project> > > > > > 1.2 +3 -1 maven/src/plugins- > build/multiproject/plugin.properties > > Index: plugin.properties > =================================================================== > RCS file: /home/cvs/maven/src/plugins- > build/multiproject/plugin.properties,v > retrieving revision 1.1 > retrieving revision 1.2 > diff -u -r1.1 -r1.2 > --- plugin.properties 30 Jun 2003 03:18:48 -0000 1.1 > +++ plugin.properties 3 Jul 2003 20:41:36 -0000 1.2 > @@ -6,4 +6,6 @@ > maven.multiproject.basedir=${basedir} > maven.multiproject.includes=*/project.xml > maven.multiproject.excludes= > -maven.multiproject.ignoreFailures=false > \ No newline at end of file > +maven.multiproject.ignoreFailures=false > + > +maven.multiproject.type=jar > \ No newline at end of file > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
