Update for continuing work

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@113891 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
dion
2003-08-28 07:30:05 +00:00
parent c968476041
commit 8241fd335a
13 changed files with 720 additions and 1 deletions

View File

@@ -4,7 +4,7 @@
<extend>${basedir}/../project.xml</extend>
<id>maven-multiproject-plugin</id>
<name>Maven Multi-Project Plug-in</name>
<currentVersion>1.0</currentVersion>
<currentVersion>1.1-SNAPSHOT</currentVersion>
<description>A plugin to handle the building of multiple projects within maven</description>
<shortDescription>Multi-Project Plugin for Maven</shortDescription>
<url>http://maven.apache.org/reference/plugins/multiproject/</url>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0"?>
<document>
<properties>
<title>Changes</title>
<author email="dion@multitask.com.au">dIon Gillard</author>
</properties>
<body>
<release version="1.1" date="in CVS">
</release>
<release version="1.0" date="2003-08-28">
<action dev="dion" type="update">
update to velocity 1.4-dev
</action>
<action dev="dion" type="update">
Change from ${basedir}/multiproject/navigation.xml to ${maven.docs.src}/navigation.xml
as the nav source for user supplied nav templates
</action>
<action dev="dion" type="fix">
Bad j:set tags fixed
</action>
<action dev="rafal" type="update">
Made aggregation directory configurable, use artifactId instead of
name for creating site directories / URLs.
</action>
<action dev="dion" type="update">
Updated multiproject:site to automate navigation generation for all projects
</action>
<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>
<action dev="dion" type="add">
Initial creation during 1.0-beta 10 dev phase
</action>
</release>
</body>
</document>

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<faqs title="Frequently Asked Questions">
<part id="using">
<title>Using Multiproject</title>
<faq id="resources-not-included-in-artifacts">
<question>When using multiproject to build subprojects, resources are not included in my artifacts. Why?</question>
<answer>
Use ${basedir} in your subproject's POM resource section:
<p>
<source>
<![CDATA[
<resources>
<resource>
<directory>${basedir}/src/java</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
]]>
</source>
</p>
<p>
The resources won't be included if you just specify "src/java" as directory unless maven is started from within the subproject directory.
</p>
</answer>
</faq>
</part>
</faqs>

View File

@@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<document>
<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>
<goal>
<name>multiproject</name>
<description>Executes multiproject:site</description>
</goal>
<goal>
<name>multiproject:artifact</name>
<description>
Run <code>'artifact':'artifact'</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:goal</name>
<description>
Run the comma separated list of goals provided by the variable <code>goal</code> for all projects
e.g.
<source>
maven -Dgoal=java:compile multiproject:goal
</source>
or
<source>
maven -Dgoal=clean,java:compile,test multiproject:goal
</source>
</description>
</goal>
<goal>
<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:site</name>
<description>
<p>
Run the site goal of all projects, generating navigation for projects processed according to the
<a href="properties.html">maven.multiproject.navigation</a> property.
</p>
<p>
If a navigation.xml is found in <code>${maven.docs.src}/navigation.xml</code>, it will
take precedence over the generated multiproject navigation.
</p>
</description>
</goal>
<goal>
<name>multiproject:clean</name>
<description>
<p>
Run goal <code>clean:clean</code> for all projects
</p>
</description>
</goal>
</goals>
</body>
</document>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0"?>
<document>
<properties>
<title>Maven Multi-Project Plugin</title>
<author email="dion@apache.org">dIon Gillard</author>
</properties>
<body>
<section name="Maven Multi-Project Plugin">
<p>
This plug-in provides the ability to work with many projects via the same interface
as a single project.
</p>
<p>
For more information on the functionality provided by this plugin,
please see the <a href="goals.html">Goals</a> document.
</p>
<p>
For more information on how to customise the functionality provided
by this plugin, please see the <a href="properties.html">properties</a>
document.
</p>
</section>
</body>
</document>

View File

@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8"?>
<document>
<properties>
<title>Maven Multi-Project Plug-in Properties</title>
<author email="dion@apache.org">dIon Gillard</author>
</properties>
<body>
<section name="Maven Multi-Project Plug-in Settings">
<table>
<tr>
<th>Property</th>
<th>Optional?</th>
<th>Description</th>
</tr>
<tr>
<td>maven.multiproject.aggregateDir</td>
<td>Yes</td>
<td>
<p>
This property tells the plugin where the aggreagate sites should be copied to.
</p>
<p>
The value is "multiproject/" by default, but you can change it to "projects/"
or "modules/" if you like. Please notice the required trailing slash.
Another option is to set this property to an empty string, which will tell
the plugin to place the sites in the root directory of the aggregating site.
</p>
</td>
</tr>
<tr>
<td>maven.multiproject.basedir</td>
<td>Yes</td>
<td>
<p>
This is the base directory that the plugin will use when searching for
projects to be processed. It is also the 'current directory' for relative paths
</p>
<p>
Default value is <code>${basedir}</code>.
</p>
</td>
</tr>
<tr>
<td>maven.multiproject.excludes</td>
<td>Yes</td>
<td>
<p>
This is the list of file specifications to be excluded when searching for
projects to be processed by the plugin
</p>
<p>Default value is the empty string.</p>
</td>
</tr>
<tr>
<td>maven.multiproject.ignoreFailures</td>
<td>Yes</td>
<td>
<p>
Set this to true to allow the plugin to continue
when any project fails during processing.
</p>
<p>
Default value is <code>false</code>. That means that if a project fails,
other projects will not be processed.
</p>
</td>
</tr>
<tr>
<td>maven.multiproject.includes</td>
<td>Yes</td>
<td>
<p>
This is the list of file specifications to be included when searching for
projects to be processed by the plugin.
</p>
<strong>
The 'top-level' project that you use to run <code>maven multiproject</code>
must not be included in the set of projects to be processed.
</strong>
<p>
Default value is <code>*/project.xml</code>, that is all project.xml files one
directory below the base directory
</p>
</td>
</tr>
<tr>
<td>maven.multiproject.navigation</td>
<td>Yes</td>
<td>
<p>
This property tells the plugin how to generate navigation for the set of sites being managed.
</p>
<p>
If the property is set to <code>independent</code> a navigation menu is generated with each
project's name linking to the project's URL, as specified in that project's descriptor, project.xml.
</p>
<p>
If the property is set to <code>aggregate</code> a navigation menu is generated with each
project's name linking to <code>/${maven.multiproject.aggregateDir}${project.name}/index.html</code>.
At the completion of the <a href="goals.html">multiproject:site</a> goal, each project's generated site is copied into
the appropriate directory. e.g. if WebProject1 and JarProject2 are the names of projects
processed via <code>multiproject:site</code>, the project that is executing
<code>multiproject:site</code> will have the generated sites from
<code>WebProject1/target/docs</code> and <code>JarProject2/target/docs</code> copied into
<code>target/docs/multiproject/WebProject1</code> and
<code>target/docs/multiproject/JarProject2</code> respectively.
</p>
<p>
Default value is <code>aggregate</code>.
</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>
</document>

View File

@@ -16,5 +16,9 @@
<item name="Multi-project 1.0"
href="http://www.ibiblio.org/maven/maven/plugins/maven-multiproject-plugin-1.0.jar"/>
</menu>
<menu name="Versions">
<item name="Current" href="current/index.html"/>
<item name="Release 1.0" href="releases/v1.0/index.html"/>
</menu>
</body>
</project>

View File

@@ -0,0 +1,39 @@
<?xml version="1.0"?>
<document>
<properties>
<title>Changes</title>
<author email="dion@multitask.com.au">dIon Gillard</author>
</properties>
<body>
<release version="1.0" date="2003-08-28">
<action dev="dion" type="update">
update to velocity 1.4-dev
</action>
<action dev="dion" type="update">
Change from ${basedir}/multiproject/navigation.xml to ${maven.docs.src}/navigation.xml
as the nav source for user supplied nav templates
</action>
<action dev="dion" type="fix">
Bad j:set tags fixed
</action>
<action dev="rafal" type="update">
Made aggregation directory configurable, use artifactId instead of
name for creating site directories / URLs.
</action>
<action dev="dion" type="update">
Updated multiproject:site to automate navigation generation for all projects
</action>
<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>
<action dev="dion" type="add">
Initial creation during 1.0-beta 10 dev phase
</action>
</release>
</body>
</document>

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<faqs title="Frequently Asked Questions">
<part id="using">
<title>Using Multiproject</title>
<faq id="resources-not-included-in-artifacts">
<question>When using multiproject to build subprojects, resources are not included in my artifacts. Why?</question>
<answer>
Use ${basedir} in your subproject's POM resource section:
<p>
<source>
<![CDATA[
<resources>
<resource>
<directory>${basedir}/src/java</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
]]>
</source>
</p>
<p>
The resources won't be included if you just specify "src/java" as directory unless maven is started from within the subproject directory.
</p>
</answer>
</faq>
</part>
</faqs>

View File

@@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<document>
<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>
<goal>
<name>multiproject</name>
<description>Executes multiproject:site</description>
</goal>
<goal>
<name>multiproject:artifact</name>
<description>
Run <code>'artifact':'artifact'</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:goal</name>
<description>
Run the comma separated list of goals provided by the variable <code>goal</code> for all projects
e.g.
<source>
maven -Dgoal=java:compile multiproject:goal
</source>
or
<source>
maven -Dgoal=clean,java:compile,test multiproject:goal
</source>
</description>
</goal>
<goal>
<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:site</name>
<description>
<p>
Run the site goal of all projects, generating navigation for projects processed according to the
<a href="properties.html">maven.multiproject.navigation</a> property.
</p>
<p>
If a navigation.xml is found in <code>${maven.docs.src}/navigation.xml</code>, it will
take precedence over the generated multiproject navigation.
</p>
</description>
</goal>
<goal>
<name>multiproject:clean</name>
<description>
<p>
Run goal <code>clean:clean</code> for all projects
</p>
</description>
</goal>
</goals>
</body>
</document>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0"?>
<document>
<properties>
<title>Maven Multi-Project Plugin</title>
<author email="dion@apache.org">dIon Gillard</author>
</properties>
<body>
<section name="Maven Multi-Project Plugin">
<p>
This plug-in provides the ability to work with many projects via the same interface
as a single project.
</p>
<p>
For more information on the functionality provided by this plugin,
please see the <a href="goals.html">Goals</a> document.
</p>
<p>
For more information on how to customise the functionality provided
by this plugin, please see the <a href="properties.html">properties</a>
document.
</p>
</section>
</body>
</document>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="Maven Multi-Project Plugin">
<title>Maven Multi-Project Plugin</title>
<body>
<links>
<item name="Maven" href="http://maven.apache.org/"/>
</links>
<menu name="Overview">
<item name="Goals" href="/goals.html" />
<item name="Properties" href="/properties.html" />
<item name="FAQ" href="/faq.html" />
</menu>
<menu name="Downloads">
<item name="Multi-project 1.0"
href="http://www.ibiblio.org/maven/maven/plugins/maven-multiproject-plugin-1.0.jar"/>
</menu>
</body>
</project>

View File

@@ -0,0 +1,141 @@
<?xml version="1.0" encoding="UTF-8"?>
<document>
<properties>
<title>Maven Multi-Project Plug-in Properties</title>
<author email="dion@apache.org">dIon Gillard</author>
</properties>
<body>
<section name="Maven Multi-Project Plug-in Settings">
<table>
<tr>
<th>Property</th>
<th>Optional?</th>
<th>Description</th>
</tr>
<tr>
<td>maven.multiproject.aggregateDir</td>
<td>Yes</td>
<td>
<p>
This property tells the plugin where the aggreagate sites should be copied to.
</p>
<p>
The value is "multiproject/" by default, but you can change it to "projects/"
or "modules/" if you like. Please notice the required trailing slash.
Another option is to set this property to an empty string, which will tell
the plugin to place the sites in the root directory of the aggregating site.
</p>
</td>
</tr>
<tr>
<td>maven.multiproject.basedir</td>
<td>Yes</td>
<td>
<p>
This is the base directory that the plugin will use when searching for
projects to be processed. It is also the 'current directory' for relative paths
</p>
<p>
Default value is <code>${basedir}</code>.
</p>
</td>
</tr>
<tr>
<td>maven.multiproject.excludes</td>
<td>Yes</td>
<td>
<p>
This is the list of file specifications to be excluded when searching for
projects to be processed by the plugin
</p>
<p>Default value is the empty string.</p>
</td>
</tr>
<tr>
<td>maven.multiproject.ignoreFailures</td>
<td>Yes</td>
<td>
<p>
Set this to true to allow the plugin to continue
when any project fails during processing.
</p>
<p>
Default value is <code>false</code>. That means that if a project fails,
other projects will not be processed.
</p>
</td>
</tr>
<tr>
<td>maven.multiproject.includes</td>
<td>Yes</td>
<td>
<p>
This is the list of file specifications to be included when searching for
projects to be processed by the plugin.
</p>
<strong>
The 'top-level' project that you use to run <code>maven multiproject</code>
must not be included in the set of projects to be processed.
</strong>
<p>
Default value is <code>*/project.xml</code>, that is all project.xml files one
directory below the base directory
</p>
</td>
</tr>
<tr>
<td>maven.multiproject.navigation</td>
<td>Yes</td>
<td>
<p>
This property tells the plugin how to generate navigation for the set of sites being managed.
</p>
<p>
If the property is set to <code>independent</code> a navigation menu is generated with each
project's name linking to the project's URL, as specified in that project's descriptor, project.xml.
</p>
<p>
If the property is set to <code>aggregate</code> a navigation menu is generated with each
project's name linking to <code>/${maven.multiproject.aggregateDir}${project.name}/index.html</code>.
At the completion of the <a href="goals.html">multiproject:site</a> goal, each project's generated site is copied into
the appropriate directory. e.g. if WebProject1 and JarProject2 are the names of projects
processed via <code>multiproject:site</code>, the project that is executing
<code>multiproject:site</code> will have the generated sites from
<code>WebProject1/target/docs</code> and <code>JarProject2/target/docs</code> copied into
<code>target/docs/multiproject/WebProject1</code> and
<code>target/docs/multiproject/JarProject2</code> respectively.
</p>
<p>
Default value is <code>aggregate</code>.
</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>
</document>