ANT Component Build Script
<?xml version="1.0" ?>
<project name="iwfoobar" default="iwfoobar" basedir=".">
   <!-- =============================================== -->
   <!-- Macros used in the build                        -->
   <!-- =============================================== -->
   <property environment="env"/>
   <property file="../../../build.properties"/>
   <property file="../../components.properties"/>
   <property file="${ant.project.name}.properties"/>
   <property name="build.sysclasspath" value="ignore"/>
   <property name="level" value="development"/>
   <property name="label" value="none"/>
   <property name="build.dir" value="classes" />
   <property name="test.dir" value="testclasses" />
   <property name="out.dir" value="../../lib" />
   <!-- Synchronize this with xte release name  -->
   <property name="engine" value="ibi-foobar" />
   <!-- ============================================= -->
   <!-- The path below is becomes the compile classpath -->
   <!-- This MUST appear below the macro definitions    -->
   <!-- ============================================= -->
   <path id="project.classpath">
      <fileset dir="${out.dir}">
         <include name="**/*.jar"/>
         <include name="**/*.zip"/>
      </fileset>
   </path>
   <!-- =============================================== -->
   <!-- compile                                         -->
   <!-- =============================================== -->
   <target name="compile">
      <mkdir dir="${build.dir}"/>
      <javac
         classpathref="project.classpath"
         srcdir="${basedir}/src"
         destdir="${build.dir}"
         failonerror="${javac.failonerror}"
         debug="on"
         optimize="on"
         fork="yes"
         memorymaximumsize="256m" 
         deprecation="off"
      >
         <include name="**/*.java"/>
      </javac>
      <copy todir="${build.dir}/com/ibi/language" >
         <fileset dir="${basedir}/src/com/ibi/language" >
            <include name="XD*.properties" />
            <include name="*.html" />
         </fileset>
      </copy>
  </target>
   <!-- ====================================================== -->
   <!-- jar                                                    -->
   <!-- ====================================================== -->
   <target name="jar" depends="compile" >
      <mkdir dir="${build.dir}/meta-inf"/>
      <tstamp/>
      <manifest file="${build.dir}/meta-inf/Manifest.mf">
         <attribute name="Built-On" value="${env.COMPUTERNAME} ${TODAY} ${TSTAMP}"/>
         <attribute name="Version"  value="${version}"/>
         <attribute name="Level"    value="${level}"/>
         <attribute name="Label"    value="${label}"/>
         <attribute name="Build"    value="${build.num}"/>
         <attribute name="Root"     value="${build.root}"/>
         <section name="IXTEComponent">
             <attribute name="Register" value="com.ibi.edaqm.Register"/>
         </section>
      </manifest>
      <echo message="Building ${engine}.jar"/>
      <jar
         jarfile="${out.dir}/${engine}.jar"
         basedir="${build.dir}"
         manifest="${build.dir}/meta-inf/Manifest.mf"
      />
   </target>
   <!-- ==================================================== -->
   <!-- testcompile                                          -->
   <!-- ==================================================== -->
   <target name="testcompile" unless="notest">
      <mkdir dir="${test.dir}"/>
      <javac
         classpathref="project.classpath"
         srcdir="${basedir}/test"
         destdir="${test.dir}"
         debug="on"
         failonerror="${javac.failonerror}"
         deprecation="off"
         optimize="on"
      >
         <include name="**/*.java"/>
      </javac>
   </target>
   <!-- ===================================================== -->
   <!-- testjar                                               -->
   <!-- ===================================================== -->
   <target name="testjar" depends="testcompile" unless="notest">
      <jar jarfile="${out.dir}/${engine}test.jar" basedir="${test.dir}"/>
   </target>
   <!-- ==================================================== -->
   <!-- test                                                 -->
   <!-- ==================================================== -->
   <target name="test" depends="testjar" description="TEST" unless="notest">
      <junit printsummary="yes" fork="yes" haltonfailure="no">
         <sysproperty key="basedir" value="${basedir}"/>
         <sysproperty key="engine" value="${engine}.jar"/>
            <test name="${ant.project.name}TestSuite"
                  outfile="TEST-${ant.project.name}"/>
         <formatter type="plain"/>
         <classpath refid="project.classpath" />
      </junit>
   </target>
   <!-- ===================================================== -->
   <!-- cleantest                                             -->
   <!-- ===================================================== -->
   <target name="cleantest">
      <echo>Clean ${ant.project.name} test target</echo>
      <delete file="${out.dir}/${engine}test.jar"/>
      <delete file="TEST-${ant.project.name}.txt"/>
      <delete dir="${test.dir}"/>
   </target>
   <!-- =====================================================  -->
   <!-- clean                                                  -->
   <!-- ====================================================== -->
   <target name="clean" depends="cleantest">
      <echo>Clean ${ant.project.name}</echo>
      <delete file="${out.dir}/${engine}.jar"/>
      <delete dir="${build.dir}"/>
   </target>
   <!-- ==================================================== -->
   <!-- *** I W E D A Q M  ***                               -->
   <!-- ==================================================== -->
   <target name="iwfoobar" depends="jar,test" description="BUILD"/>
</project>

iWay Software