<?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>Generating All Sandbox Pages</title>
        <author email="dev@commons.apache.org">Apache Commons Documentation Team</author>
    </properties>

    <body>


        <section name="commons-build:all-sandbox" href="all-sandbox">

            <subsection name="Overview">
                <p>
                The <code>commons-build:all-sandbox</code> goal generates all pages for a <strong>Sandbox</strong> component
                (for  <strong>Proper</strong> components use the <a href="all.html">commons-build:all</a> goal).
                Execute the goal using the following command: <source>mvn commons-build:all-sandbox</source>
                </p>
                <p>
                This goal uses the following:
                <ul>
                    <li>The goal is mapped to the ant script/target using the <code>all-sandbox</code> Mojo defintion in the 
                        <a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.mojos.xml">generate-xdocs.mojos.xml</a> mapping document</li>
                    <li>Executes the <code>all-sandbox</code> target in
                        <a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/generate-xdocs.build.xml">generate-xdocs.build.xml</a>
                        ant script</li>
                </ul>
                </p>
            </subsection>

            <subsection name="Configuration">
                <p>
                To generate all pages, the union of other goal's properties are configured in the component's <code>pom.xml</code>
                </p>
            </subsection>

        </section>

    </body>
</document>
