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>