<?xml version="1.0" encoding="UTF-8"?>
<!-- 
/*
 * Copyright 2001-2004 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
 -->


<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>
