<?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 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':deploy</code> goal for all projects.
        </description>
      </goal>      

      <goal>
        <name>multiproject:deploy-snapshot</name>
        <description>
          Run <code>'artifact':deploy-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>