<!-- ant build file for getopt -->

<project name="gnu.getopt" default="all" basedir=".">

    <!-- Properties -->

    <property name="name" value="alterrs.gnu.getopt"/>
    <property name="src" value="src"/>
    <property name="build" value="build"/>
    <property name="build.classes" value="${build}/classes"/>
    <property name="build.doc" value="${build}/api"/>
    <property name="build.lib" value="${build}/lib"/>
    <property name="packagenames" value="alterrs.gnu.getopt.*"/>

    <!-- Targets -->

    <!-- Prepare build directories -->
    <target name="prepare">
        <mkdir dir="${src}"/>
        <mkdir dir="${build}"/>
        <mkdir dir="${build.classes}"/>
        <mkdir dir="${build.lib}"/>
        <mkdir dir="${build.doc}"/>
        <copy todir="${src}/gnu">
            <fileset dir="gnu"/>
        </copy>
    </target>

    <!-- Kill all the created directories -->
    <target name="clean">
        <delete dir="${build}"/>
        <delete dir="${src}"/>
    </target>

    <!-- Build classes -->
    <target name="classes" depends="prepare">
        <javac srcdir="${src}" destdir="${build.classes}" debug="off"
               optimize="on"/>
        <copy todir="${build.classes}">
            <fileset dir="${src}">
                <include name="**/*.properties"/>
            </fileset>
        </copy>
    </target>

    <!-- Build jar archives -->
    <target name="jar" depends="classes">
        <jar jarfile="${build.lib}/${name}.jar" basedir="${build.classes}"/>
    </target>

    <!-- Build the full JavaDocs -->
    <target name="javadoc" depends="prepare">
        <javadoc sourcepath="${src}"
                 destdir="${build.doc}"
                 doctitle="${name} JavaDoc"
                 windowtitle="${name} JavaDoc"
                 package="true"
                 author="true"
                 version="true"
                 packagenames="${packagenames}"
                />
    </target>

    <!-- Build everything -->
    <target name="all" depends="jar,javadoc"/>

</project>

