-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.xml
107 lines (83 loc) · 5.96 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
100
101
102
103
104
105
106
107
<project default="compile">
<!-- build.xml for Monopoly Game, W12, CS48
name: Nicholas Marks 02/13/12 -->
<property environment="env"/> <!-- load the environment variables -->
<property name="webRoot" value="${env.HOME}/public_html/cs48" />
<property name="webBaseURL" value="http://www.cs.ucsb.edu/~${env.USER}/cs48" />
<property name="projectName" value="MonopolyGame" />
<property name="javadocDest" value="${webRoot}/${projectName}/javadoc" />
<property name="javadocURL" value="${webBaseURL}/${projectName}/javadoc" />
<property name="mainClass" value="GameRunner" />
<target name="compile" >
<mkdir dir="build" />
<javac srcdir="src" destdir="build" debug="true" debuglevel="lines,source" includeantruntime="false">
<classpath>
<pathelement location="build"/>
<pathelement location="/cs/faculty/pconrad/public_html/cs56/lib/junit-4.8.2.jar"/>
</classpath>
</javac>
</target>
<target name="run" depends="compile" description="run the MonopolyGame program">
<java classname="${mainClass}" classpath="build" />
</target>
<target name="clean" description="delete unnecessary files and directories">
<delete dir="build" quiet="true" />
<delete dir="javadoc" quiet="true" />
<delete dir="dist" quiet="true" />
</target>
<target name="javadoc" depends="compile">
<delete dir="javadoc" quiet="true" />
<javadoc destdir="javadoc" author="true" version="true" use="true" >
<fileset dir="src" includes="**/*.java"/>
<classpath>
<pathelement location="/cs/faculty/pconrad/public_html/cs56/lib/junit-4.8.2.jar"/>
</classpath>
</javadoc>
<!-- delete the old javadoc -->
<delete quiet="true" dir="${javadocDest}" />
<!-- copy everything you just made to the javadoc destination, and then make it readable -->
<copy todir="${javadocDest}" >
<fileset dir="javadoc"/>
</copy>
<!-- Note: this only does the chmod command on the
javadoc subdirectory and its contents. You MIGHT have to
MANUALLY do the chmod on the parent directories. However,
you should only need to do that once. -->
<chmod dir="${javadocDest}" perm="755" type="dir" includes="**" />
<chmod dir="${javadocDest}" perm="755" type="file" includes="**/*" />
<echo>Javadoc deployed to ${javadocURL}</echo>
</target>
<target name="test" depends="compile">
<junit haltonerror="no" haltonfailure="no">
<classpath>
<pathelement location="/cs/faculty/pconrad/public_html/cs56/lib/junit-4.8.2.jar"/>
<pathelement location="build"/>
</classpath>
<batchtest fork="yes">
<fileset dir="src">
<!-- this will pick up every class with a name ending in Test -->
<include name="*Test.java"/>
</fileset>
</batchtest>
<formatter type="plain" usefile="false" />
</junit>
</target>
<target name="jar" depends="compile">
<mkdir dir="dist" />
<jar destfile="dist/${projectName}.jar" basedir="build">
<manifest>
<attribute name="Main-Class" value="GameRunner"/>
</manifest>
</jar>
</target>
<target name="publish" depends="jar,javadoc">
<mkdir dir="${webRoot}/${projectName}" />
<copy file="html/index.html" todir="${webRoot}/${projectName}"/>
<copy todir="${webRoot}/${projectName}/download" >
<fileset dir="dist" />
</copy>
<chmod dir="${webRoot}/${projectName}"
perm="755" type="both" includes="**/*"/>
<echo>Project published to ${webBaseURL}/${projectName}</echo>
</target>
</project>