Added multiproject 'install', 'install-snapshot', 'deploy' and 'deploy-snapshot' facility

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@113577 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
michal committed 2003-07-03 20:41:36 +00:00
1 parent e25dab5bd6
commit cf267b6c71
6 files changed
+198 -8

No files matched your search

+104
View File
@@ -41,5 +41,109 @@ maven -Dgoal=clean multiproject:goal
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>
+3 -1
View File
@@ -6,4 +6,6 @@
maven.multiproject.basedir=${basedir}
maven.multiproject.includes=*/project.xml
maven.multiproject.excludes=
maven.multiproject.ignoreFailures=false
maven.multiproject.ignoreFailures=false
maven.multiproject.type=jar
+9
View File
@@ -23,5 +23,14 @@
<role>Java Developer</role>
</roles>
</developer>
<developer>
<name>Michal Maczka</name>
<id>dion</id>
<email>michal.maczka@dimatics.com</email>
<organization>Dimatics</organization>
<roles>
<role>Java Developer</role>
</roles>
</developer>
</developers>
</project>
+4
View File
@@ -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>
+54 -7
View File
@@ -4,6 +4,7 @@
<properties>
<title>Maven Multi-Project Plug-in Goals</title>
<author email="dion@apache.org">dIon Gillard</author>
<author email="michal.maczka@dimatics.com">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:goal</name>
<description>
<goal>
<name>multiproject:install-snapshot</name>
<description>
Run <code>'artifact':install-snapshot</code> goal for all projects.
</description>
</goal>
<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>
+24
View File
@@ -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>