-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild.xml
117 lines (89 loc) · 3.97 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
108
109
110
111
112
113
114
115
116
117
<?xml version="1.0" encoding="utf-8"?>
<project default="compile">
<!-- build.xml for Mantis issue 466 Checkers GUI
name: Ryan Kroner for CS56, W12 -->
<property environment="env"/> <!-- load the environment variables -->
<property name="course" value="cs56" />
<property name="quarter" value="W18" />
<property name="issueNum" value="0000466" />
<property name="fullPkg" value="edu.ucsb.cs56.projects.games.checkers" />
<property name="mainClass" value="TextCheckers" />
<property name="guiMainClass" value="CheckersGUI" />
<property name="aiMainClass" value="AICheckers"/>
<property name="projectName" value="${course}/${quarter}/${issueNum}" />
<property name="projectPath" value="${course}/${quarter}/issues/${issueNum}" />
<property name="javadocDest" value="${webRoot}/${projectPath}/javadoc" />
<property name="javadocURL" value="${webBaseUrl}/${projectPath}/javadoc" />
<path id="project.class.path">
<pathelement location="build"/>
<pathelement location="lib/junit-4.8.2.jar"/>
</path>
<target name="compile" >
<mkdir dir="build" />
<javac srcdir="src" destdir="build" debug="true" debuglevel="lines,source">
<classpath refid="project.class.path" />
</javac>
</target>
<target name="AI" depends="compile" description="runs the class ${aiMainClass}, so that you can play with the command line version of the AI checkers game.">
<java classname="${fullPkg}.${aiMainClass}">
<classpath refid="project.class.path"/>
</java>
</target>
<target name="run" depends="compile" description="runs the class ${mainClass}, so that you can play with the command line version of the checkers game.">
<java classname="${fullPkg}.${mainClass}" >
<classpath refid="project.class.path" />
</java>
</target>
<target name="gui" depends="compile" description="runs the class ${guiMainClass}, so that you can play the gui version.">
<java fork="true" classname="${fullPkg}.${guiMainClass}" classpath="build" />
</target>
<target name="clean" description="to delete all .classes">
<delete failonerror="false" verbose="true">
<fileset dir="build" includes="**/*.class"/>
</delete>
<delete dir="javadoc" quiet="true" />
<delete dir="dist" quiet="true" />
<delete dir="download" quiet="true" />
<delete dir="temp" quiet="true" />
</target>
<target name="test" depends="compile">
<junit haltonerror="no" haltonfailure="no">
<classpath refid="project.class.path" />
<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="javadoc" depends="compile">
<delete dir="javadoc" quiet="true" />
<javadoc destdir="javadoc" author="true" version="true" use="true" >
<fileset dir="src" includes="**/*.java"/>
<classpath refid="project.class.path" />
</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="jar" depends="compile">
<mkdir dir="dist" />
<jar destfile="dist/${projectName}.jar" basedir="build" >
<manifest>
<attribute name="Main-Class" value="${mainClass}"/>
</manifest>
</jar>
</target>
</project>