<?xml version="1.0" encoding="UTF-8"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You 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>commons-build:all</title>
  </properties>
  <body>
    <section name="commons-build:all">
      <p><strong>Full name</strong>:</p>
      <p>org.apache.commons:commons-build-plugin:1.10:all</p>
      <p><strong>Description</strong>:</p>
      <div>Apache Commons Build Mojo: Generate all pages</div>
      <p><strong>Attributes</strong>:</p>
      <ul>
        <li>Requires a Maven 2.0 project to be executed.</li>
        <li>Is NOT inherited by default in multi-project builds.</li>
      </ul>
      <subsection name="Required Parameters">
        <p>This is the union of all parameters for all goals in this plugin.</p>
      </subsection>
      <subsection name="Optional Parameters">
        <p>This is the union of all parameters for all goals in this plugin.</p>
      </subsection>
      <subsection name="Parameter Details">
        <p>This is the union of all parameters for all goals in this plugin.</p>
      </subsection>
    </section>
  </body>
</document>
