Only run sub projects site goal if nav type is aggregate. Otherwise it's not necessary

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@114168 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
dion committed 2003-10-08 15:34:40 +00:00
1 parent 2d2e9d47cb
commit 3f983c4c20
11 files changed
+75 -420

No files matched your search

+12 -12
View File
@@ -56,23 +56,23 @@
<attainGoal name="multiproject:create-nav"/>
<attainGoal name="multiproject:create-overview-page"/>
<!-- FIXME: This can't use multiproject:goal as it throws away the projects -->
<!-- generate site docs -->
<maven:reactor
basedir="${maven.multiproject.basedir}"
banner="Generating site for "
includes="${maven.multiproject.includes}"
excludes="${maven.multiproject.excludes}"
postProcessing="true"
goals="site"
ignoreFailures="${maven.multiproject.ignoreFailures}"
/>
<attainGoal name="site" />
<!-- copy or not? -->
<j:set var="navType" value="${maven.multiproject.navigation}"/>
<j:if test="${navType == 'aggregate'}">
<!-- FIXME: This can't use multiproject:goal as it throws away the projects -->
<!-- generate site docs -->
<maven:reactor
basedir="${maven.multiproject.basedir}"
banner="Generating site for "
includes="${maven.multiproject.includes}"
excludes="${maven.multiproject.excludes}"
postProcessing="true"
goals="site"
ignoreFailures="${maven.multiproject.ignoreFailures}"
/>
<!-- copy each project over into ${maven.docs.dest} -->
<j:forEach var="reactorProject" items="${reactorProjects}">
<!-- note this is the same name as is generated in the navigation-aggregate.xml -->
+5
View File
@@ -22,6 +22,11 @@
<version>
<id>1.1</id>
<name>1.1</name>
<tag>MAVEN_1_0_RC1</tag>
</version>
<version>
<id>1.2</id>
<name>1.2</name>
<tag>HEAD</tag>
</version>
</versions>
+9 -6
View File
@@ -6,16 +6,19 @@
</properties>
<body>
<release version="1.2" date="In CVS">
<action dev="evenisse" type="fix">
Fix MAVEN-866. Fix encoding.
<release version="1.2" date="in CVS">
<action dev="dion" type="fix">
Only run all sub projects 'site' goal on multiproject site if navigation type is aggregate.
Otherwise the info is not needed (i.e. independent).
</action>
</release>
<release version="1.1" date="2003-09-29">
<action dev="evenisse" type="fix" due-to="Andy Jefferson">
Fix MAVEN-782.
</action>
<action dev="dion" type="update">Update docs on overview page</action>
<action dev="dion" type="update">set maven.xdoc.version to 1.0 for the site</action>
<action dev="dion" type="update">update to use maven.docs.*/maven.gen.docs</action>
</release>
<release version="1.0" date="2003-08-28">
<action dev="dion" type="update">
update to velocity 1.4-dev
-45
View File
@@ -1,45 +0,0 @@
<?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="2003-09-29">
<action dev="dion" type="update">Update docs on overview page</action>
<action dev="dion" type="update">set maven.xdoc.version to 1.0 for the site</action>
<action dev="dion" type="update">update to use maven.docs.*/maven.gen.docs</action>
</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>
-29
View File
@@ -1,29 +0,0 @@
<?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>
-111
View File
@@ -1,111 +0,0 @@
<?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>
-26
View File
@@ -1,26 +0,0 @@
<?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>
-188
View File
@@ -1,188 +0,0 @@
<?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>
<!-- overview page properties -->
<tr>
<td>maven.multiproject.overviewPage.create</td>
<td>Yes</td>
<td>
Whether a summary of the projects processed should be created.
Defaults to true
</td>
</tr>
<tr>
<td>maven.multiproject.overviewPage.title</td>
<td>Yes</td>
<td>
Title of the overview page.
Defaults to <code>Overview of projects</code>.
</td>
</tr>
<tr>
<td>maven.multiproject.overviewPage.link</td>
<td>Yes</td>
<td>
Name of the .xml file to be created for the overview page.
Defaults to <code>project-overview</code>.
</td>
</tr>
<tr>
<td>maven.multiproject.overviewPage.linkTitle</td>
<td>Yes</td>
<td>
Title of the link to the overview page.
Defaults to <code>Overview of project</code>.
</td>
</tr>
<tr>
<td>maven.multiproject.overviewPage.text</td>
<td>Yes</td>
<td>
Text to go at the start of the overview page
Defaults to blank.
</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>
+2 -2
View File
@@ -24,14 +24,14 @@
<goal>
<name>multiproject:deploy</name>
<description>
Run <code>'artifact':deploy</code> goal for all projects.
Run <code>'artifact':install-snapshot</code> goal for all projects.
</description>
</goal>
<goal>
<name>multiproject:deploy-snapshot</name>
<description>
Run <code>'artifact':deploy-snapshot</code> goal for all projects.
Run <code>'artifact':install-snapshot</code> goal for all projects.
</description>
</goal>
-1
View File
@@ -17,7 +17,6 @@
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>
+47
View File
@@ -112,6 +112,53 @@
</p>
</td>
</tr>
<!-- overview page properties -->
<tr>
<td>maven.multiproject.overviewPage.create</td>
<td>Yes</td>
<td>
Whether a summary of the projects processed should be created.
Defaults to true
</td>
</tr>
<tr>
<td>maven.multiproject.overviewPage.title</td>
<td>Yes</td>
<td>
Title of the overview page.
Defaults to <code>Overview of projects</code>.
</td>
</tr>
<tr>
<td>maven.multiproject.overviewPage.link</td>
<td>Yes</td>
<td>
Name of the .xml file to be created for the overview page.
Defaults to <code>project-overview</code>.
</td>
</tr>
<tr>
<td>maven.multiproject.overviewPage.linkTitle</td>
<td>Yes</td>
<td>
Title of the link to the overview page.
Defaults to <code>Overview of project</code>.
</td>
</tr>
<tr>
<td>maven.multiproject.overviewPage.text</td>
<td>Yes</td>
<td>
Text to go at the start of the overview page
Defaults to blank.
</td>
</tr>
<tr>
<td>maven.multiproject.type</td>
<td>No</td>