Chapter 9. Example Build File
Prev | Ant Coding Style Guidelines | Next

## Chapter 9. Example Build File

The following example build file follows these guidelines. This build file would be stored on disk as "MyProject.xml".

    <project name="MyProject" default="dist" basedir=".">
        <description>
            simple example build file
        </description>

        <!-- set global properties for this build -->

        <!-- where the source files are -->
        <property name="src" location="src"/>

        <!-- where the compiled classes go -->
        <property name="build" location="build"/>

        <!-- where to place the finished jar file -->
        <property name="dist"  location="dist"/>

        <!-- ========== Dist Target ===================================
            The dist target compiles all the source code and creates
            a jar file for distribution.
        -->
        <target name="dist" depends="clean, compile"
            description="generate the distribution" >
            <!-- Create the distribution directory -->
            <mkdir dir="${dist}/lib"/>

            <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar
                file -->
            <jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar"
                basedir="${build}"/>
        </target>

        <!-- ========== Init Target ====================================
            This target initializes the build by creating a time stamp
            for use in the jar file name and creating the directory
            to hold the compiled classes.
        -->
        <target name="-init">
            <!-- Create the time stamp -->
            <tstamp/>

            <!-- Create the build directory structure used by compile -->
            <mkdir dir="${build}"/>
        </target>

        <!-- ========== Compile Target =================================
            The compile target compiles all files in the source directory
            into the build directory.
        -->
        <target name="compile" depends="-init"
            description="compile the source " >

            <!-- Compile the java code from ${src} into ${build} -->
            <javac srcdir="${src}" destdir="${build}"/>

        </target>

        <!-- ========== Clean Target ====================================
            The clean target deletes all files from the build directory
            and the dist directory.
        -->
        <target name="clean" description="clean up" >
            <!-- Delete the ${build} and ${dist} directory trees -->
            <delete dir="${build}"/>
            <delete dir="${dist}"/>
        </target>
    </project>

Prev | Up | Next
Chapter 8. Comments | Home | Additional Ant Tasks