-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.xml
99 lines (91 loc) · 4.2 KB
/
build.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<project name="AssetTradingPlatform" basedir="." default="jar">
<property name="base" value="build/artifacts" />
<property name="testBase" value="build/testClasses" />
<property name="testResults" value="build/testResults" />
<property name="javadocDir" value="build/doc" />
<property name="outputServer" value="build/AssetTradingPlatformServer.jar" />
<property name="outputClient" value="build/AssetTradingPlatformClient.jar" />
<property name="sourceZip" value="build/assetTradingPlatformSrc.zip" />
<path id="junit.classpath">
<fileset dir="lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="prepare" description="Create target directories">
<mkdir dir="${base}" />
<mkdir dir="${testResults}" />
<mkdir dir="${javadocDir}" />
<mkdir dir="${testBase}" />
</target>
<target name="compile" depends="prepare" description="Compile Java code">
<javac srcdir="src" classpath="${base}" destdir="${base}" includeantruntime="false">
<include name="Client/" />
<include name="Client/gui/" />
<include name="Client/gui/images" />
<include name="common/*.java"/>
<include name="Server/*.java" />
</javac>
</target>
<target name="test" depends="compile" description="Compile unit tests">
<javac srcdir="test" destdir="${testBase}" includeantruntime="false">
<classpath path="${base}"/>
<classpath refid="junit.classpath"/>
<include name="Client/*.java" />
<include name="Server/*.java" />
</javac>
<junitlauncher printSummary="true" failureProperty="junit.failure">
<classpath path="${testBase}:${base}"/>
<testclasses outputDir="${testResults}">
<fileset dir="${testBase}" includes="**/*Test.class"/>
<listener type="legacy-xml"/>
</testclasses>
</junitlauncher>
<fail if="junit.failure" message="junit tests failed - aborting" />
</target>
<target name="jar" depends="test" description="Creating jar archive">
<jar destfile="${outputServer}" basedir="${base}">
<manifest>
<attribute name="Built-By" value="$Group 60" />
<attribute name="Implementation-Vendor" value="Group 60" />
<attribute name="Implementation-Title" value="Asset Trading Platform Server" />
<attribute name="Implementation-Version" value="1.0.0" />
<attribute name="Main-Class" value="Server.RunServer"/>
</manifest>
</jar>
<jar destfile="${outputClient}" basedir="${base}">
<manifest>
<attribute name="Built-By" value="$Group 60" />
<attribute name="Implementation-Vendor" value="Group 60" />
<attribute name="Implementation-Title" value="Asset Trading Platform Client" />
<attribute name="Implementation-Version" value="1.0.0" />
<attribute name="Main-Class" value="Client.gui.AssetTradingGUI"/>
</manifest>
</jar>
</target>
<target name="doc" description="Create Javadoc">
<javadoc packagenames="Client, common, Server"
sourcepath="src"
destdir="${javadocDir}"
author="true"
version="true"
use="true"
windowtitle="Warehouse Ledger Project API">
<doctitle><![CDATA[<h1>Warehouse Ledger Simulation</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright © QUT. All Rights Reserved.</i>]]></bottom>
</javadoc>
</target>
<target name="clean" description="Cleanup build files">
<delete file="${outputServer}" />
<delete file="${outputClient}" />
<delete file="${sourceZip}" />
<delete dir="${base}" />
<delete dir="${testResults}" />
<delete dir="${javadocDir}" />
<delete dir="${testBase}" />
</target>
<target name="zipSource" depends="compile" description="Creating source zip file">
<zip destfile="${sourceZip}"
basedir="src"
update="true" />
</target>
</project>