<?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>Copy NOTICE and LICENSE files to javadoc jar</title>
        <author email="dev@commons.apache.org">Apache Commons Documentation Team</author>
    </properties>

    <body>

        <section name="Copy NOTICE and LICENSE files to javadoc jar">

            <p>
            This <i>mojo</i> (or <i>ant build script</i>) currently copies
            the NOTICE and LICENSE files to target/apidocs so that they are included in the
            generated -javadoc.jar. This is currently done in the commons-parent pom.xml
            using the antrun plugin. Doing it here removes the need to have ant script in
            commons-parent.
            </p>

            <p>
            See:
            </p>
            <ul>
                <li><a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/copy-javadoc-files.build.xml">copy-javadoc-files.build.xml</a> - Ant build script</li>
                <li><a href="http://svn.apache.org/repos/asf/commons/proper/commons-build-plugin/trunk/src/main/scripts/copy-javadoc-files.mojos.xml">copy-javadoc-files.mojos.xml</a> - mapping document</li>
                <li><a href="copy-javadoc-files-mojo.html">Parameters</a></li>
            </ul>

        </section>


    </body>
</document>
