ANT’s best practices - III

10 May 2008

Do read the first two parts of this post for better understanding. This post continues to list ANT’s best practices.

In the last post, I was talking about clean target. Do remember not to automatically invoke clean, unless you really have a special target for generating a full release. When programmers are compiling or performing normal tasks, they do not want the buildfile to perform a full cleanup before proceeding. This is both slow and annoying. So, ANT script developers have to trust programmers to decide when they are ready to clean all files.

A sample build file is presented below:

<project name="MyProject" default="dist" basedir=".">
    <description>
        simple example build file
    </description>
  <!-- set global properties for this build -->
  <property name="src" location="src"/>
  <property name="build" location="build"/>
  <property name="dist"  location="dist"/>
 
  <target name="init">
    <!-- Create the time stamp -->
    <tstamp/>
    <!-- Create the build directory structure used by compile -->
    <mkdir dir="${build}"/>
  </target>
 
  <target name="compile" depends="init"
        description="compile the source " >
    <!-- Compile the java code from ${src} into ${build} -->
    <javac srcdir="${src}" destdir="${build}"/>
  </target>
 
  <target name="dist" depends="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>
 
  <target name="clean"
        description="clean up" >
    <!-- Delete the ${build} and ${dist} directory trees -->
    <delete dir="${build}"/>
    <delete dir="${dist}"/>
  </target>
</project>

del.icio.us:ANT's best practices - III  digg:ANT's best practices - III  spurl:ANT's best practices - III  wists:ANT's best practices - III  simpy:ANT's best practices - III  newsvine:ANT's best practices - III  blinklist:ANT's best practices - III  furl:ANT's best practices - III  reddit:ANT's best practices - III  fark:ANT's best practices - III  blogmarks:ANT's best practices - III  Y!:ANT's best practices - III  smarking:ANT's best practices - III  magnolia:ANT's best practices - III  segnalo:ANT's best practices - III  gifttagging:ANT's best practices - III

Top Of Page | Trackback

If you found this page useful, consider linking to it. Simply copy and paste the code below into your web site.

It will look like this: ANT's best practices - III

Leave a Reply