<?xml version=”1.0″ encoding=”UTF-8″?>
<project name=”Forth” default=”compile” basedir=”.”>
<property name=”build.dir” value=”build” />
<property name=”build.dist.dir” value=”${build.dir}/dist” />
<property name=”build.main.dir” value=”${build.dir}/main” />
<property name=”build.test.dir” value=”${build.dir}/test” />
<property name=”build.test.output.dir” value=”${build.dir}/test-output” />
<property name=”build.test.report.dir” value=”${build.dir}/test-report” />
<property name=”src.dir” value=”src” />
<property name=”test.dir” value=”test” />
<property name=”lib.dir” value=”lib” />
<property name=”ext.dir” value=”ext” />
<property name=”web.dir” value=”web” />
<path id=”classpath”>
<pathelement location=”${build.main.dir}” />
<pathelement location=”${build.test.dir}” />
<fileset dir=”${lib.dir}” includes=”*.jar” />
<fileset dir=”${ext.dir}” includes=”*.jar” />
</path>
<target name=”prepare”>
<mkdir dir=”${build.dist.dir}” />
<mkdir dir=”${build.main.dir}” />
<mkdir dir=”${build.test.dir}” />
<mkdir dir=”${build.test.output.dir}” />
<mkdir dir=”${build.test.report.dir}” />
</target>
<target name=”clean” depends=”prepare”>
<delete dir=”${build.dir}” />
</target>
<target name=”compile” depends=”prepare”>
<javac srcdir=”${src.dir}” destdir=”${build.main.dir}” encoding=”UTF-8″>
<classpath refid=”classpath” />
</javac>
</target>
<target name=”compile-test” depends=”compile”>
<javac srcdir=”${test.dir}” destdir=”${build.test.dir}” encoding=”UTF-8″>
<classpath refid=”classpath” />
</javac>
</target>
<target name=”test” depends=”compile-test”>
<taskdef name=”testng”
classname=”org.testng.TestNGAntTask”
classpath=”${ext.dir}/testng-5.1.jar” />
<testng classpathref=”classpath”
outputdir=”${build.test.output.dir}”
haltOnfailure=”true”>
<xmlfileset dir=”test” includes=”testng.xml” />
</testng>
</target>
<target name=”test-report” depends=”test”>
<junitreport todir=”${build.test.report.dir}”>
<fileset dir=”${build.test.output.dir}” includes=”**/*.xml” />
<report format=”noframes” todir=”${build.test.report.dir}” />
</junitreport>
</target>
<target name=”pack-main” depends=”compile”>
<jar destfile=”${build.dist.dir}/setup.jar”>
<manifest>
<attribute name=”Main-Class” value=”Installer” />
<attribute name=”Class-Path” value=”. server.jar” />
</manifest>
</jar>
<jar destfile=”${build.dist.dir}/server.jar”>
<fileset dir=”${build.main.dir}” />
</jar>
<jar destfile=”${build.dist.dir}/web.war”>
<fileset dir=”${web.dir}” />
</jar>
</target>
<target name=”pack-test” depends=”compile-test”>
<jar destfile=”${build.dist.dir}/test.jar”>
<fileset dir=”${build.test.dir}” />
</jar>
</target>
<target name=”dist” depends=”pack-main, pack-test”>
<copy todir=”${build.dist.dir}”>
<fileset dir=”.” includes=”resource/*” />
<fileset dir=”.” includes=”config/*” />
</copy>
</target>
</project>