<project name="" default="" basedir=".">
<property file="environment.properties" prefix="env" />
<property file="build.properties" prefix="build" />
<property name="root" location="${basedir}/WebContent" />
<path id="classpath">
<fileset dir="${env.web-inf.lib.dir}" includes="*.jar"/>
<fileset dir="${env.build.lib.dir}" includes="*.jar"/>
<fileset dir="${env.web-inf.lib.dir}" includes="*.zip"/>
<pathelement path="${env.classes.dir}"/>
</path>
<target name="clean-war-directory">
<delete dir="${env.war.base.dir}"/>
</target>
<target name="create-war-directory" depends="clean-war-directory">
<mkdir dir="${env.war.web-inf.dir}"/>
<mkdir dir="${env.war.jsp.dir}"/>
<mkdir dir="${env.war.tag.dir}"/>
<mkdir dir="${env.war.classes.dir}"/>
<mkdir dir="${env.war.lib.dir}"/>
<mkdir dir="${env.war.conf.dir}"/>
<mkdir dir="${env.war.css.dir}"/>
<mkdir dir="${env.war.images.dir}"/>
<mkdir dir="${env.war.javascript.dir}"/>
<mkdir dir="${env.war.src.dir}"/>
<mkdir dir="${env.war.meta-inf.dir}"/>
<mkdir dir="${env.war.flows.dir}"/>
</target>
<target name="create-bin-directory">
<mkdir dir="${env.classes.dir}"/>
</target>
<target name="copy-war-files-into-directory" depends="">
<copy todir="${env.war.jsp.dir}" preservelastmodified="true" overwrite="true">
<fileset dir="${env.jsp.dir}" includes="**/*.jsp"/>
<fileset dir="${env.jsp.dir}" includes="**/*.inc"/>
</copy>
<copy todir="${env.war.tag.dir}" preservelastmodified="true" overwrite="true">
<fileset dir="${env.tag.dir}" includes="**/*.tag"/>
</copy>
<copy todir="${env.war.images.dir}" overwrite="true">
<fileset dir="${env.images.dir}" includes="**/*"/>
</copy>
<copy todir="${env.war.css.dir}" overwrite="true">
<fileset dir="${env.css.dir}" includes="**/*.css"/>
</copy>
<copy todir="${env.war.javascript.dir}" overwrite="true">
<fileset dir="${env.javascript.dir}" includes="**/*"/>
</copy>
<copy todir="${env.war.web-inf.dir}" overwrite="true">
<fileset dir="${env.web-inf.dir}" includes="*.*"/>
</copy>
<copy todir="${env.war.meta-inf.dir}" overwrite="true">
<fileset dir="${env.meta-inf.dir}" includes="**/*"/>
</copy>
<copy todir="${env.war.lib.dir}" overwrite="true">
<fileset dir="${env.web-inf.lib.dir}" includes="**/*.class"/>
</copy>
<copy todir="${env.war.conf.dir}" overwrite="true">
<fileset dir="${env.conf.dir}" includes="**/*.xml"/>
</copy>
<copy todir="${env.war.flows.dir}" overwrite="true">
<fileset dir="${env.flows.dir}" includes="**/*"/>
</copy>
<copy todir="${env.war.classes.dir}" overwrite="true">
<fileset dir="${env.classes.dir}" includes="**/*.class"/>
<fileset dir="${env.source.dir}" includes="**/*.properties"/>
</copy>
<copy todir="${env.war.src.dir}" overwrite="true">
<fileset dir="${env.source.dir}" includes="**/*.java"/>
</copy>
<copy todir="${env.war.lib.dir}">
<fileset dir="${env.web-inf.lib.dir}">
<include name="*.jar"/>
</fileset>
</copy>
<copy todir="${env.war.base.dir}" preservelastmodified="true" overwrite="true">
<fileset dir="${env.welcomefile.dir}" includes="*.jsp"/>
</copy>
</target>
<target name="compile" depends="create-war-directory,create-bin-directory">
<javac source="1.6" destdir="${env.classes.dir}" classpathref="classpath" debug="true" optimize="false">
<src path="${env.source.dir}"/>
</javac>
</target>
<target name="create-manifest">
<tstamp>
<format property="TODAY" pattern="yyyy-MM-dd HH:mm:ss" />
</tstamp>
<manifest file="${root}/META-INF/MANIFEST.MF">
<attribute name="App-Name" value="${env.app.name}"/>
<attribute name="Built-Timestamp" value="${TODAY}"/>
<attribute name="Built-Date" value="${env.build.date}"/>
<attribute name="Built-By" value="${env.user.name}"/>
<attribute name="Implementation-Version" value="${env.build.version}"/>
<attribute name="Issue-fixed" value="${env.issue.fixed}"/>
</manifest>
<echo message= "Manifest Updated" />
</target>
<target name="create-war" depends="compile,create-manifest,copy-war-files-into-directory,test,delete-test-class">
<war basedir="${env.war.base.dir}" webxml="${env.web-inf.dir}/web.xml" destfile="${build.war.file}" manifest="${env.war.meta-inf.dir}/MANIFEST.MF">
<exclude name="WEB-INF/lib/servlet-api-2.3.jar"/>
<exclude name="WEB-INF/lib/jaxb-api-2.1.jar"/>
<exclude name="WEB-INF/lib/jaxb-impl-2.1.7.jar"/>
<exclude name="WEB-INF/lib/xercesImpl.jar"/>
</war>
</target>
<target name="create--war" depends="create-war">
<delete dir="${env.war.base.dir}"/>
<delete dir="${env.classes.dir}"/>
</target>
<property name="testdir" location="test" />
<property name="full-compile" value="true" />
<path id="classpath.test">
<fileset dir="${env.web-inf.lib.dir}" includes="*.jar"/>
<fileset dir="${env.build.lib.dir}" includes="*.jar"/>
<pathelement location="${env.test.classes.dir}" />
<pathelement location="${env.classes.dir}" />
</path>
<target name="clean-test" >
<delete verbose="${full-compile}">
<fileset dir="${testdir}" includes="**/*.class" />
</delete>
</target>
<target name="compile-junit" depends="clean-test">
<javac source="1.6" srcdir="${testdir}" destdir="${env.test.classes.dir}" >
<classpath refid="classpath.test"/>
</javac>
</target>
<target name="test" depends="compile-junit">
<junit haltonfailure="yes" >
<classpath refid="classpath.test" />
<formatter type="brief" usefile="false" />
<batchtest>
<fileset dir="${testdir}">
<include name="**/*Test*.java"/>
</fileset>
</batchtest>
</junit>
</target>
<target name="delete-test-class">
<delete verbose="${full-compile}">
<fileset dir="${testdir}" includes="**/*.class" />
</delete>
</target>
</project>
