forked from ucsb-cs56-projects/cs56-tutorials-image-zoom
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
125 lines (103 loc) · 4.51 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
118
119
120
121
122
123
124
125
<?xml version="1.0" encoding="utf-8"?>
<project default="compile">
<!-- build.xml for github.com/UCSB-CS56-Projects/cs56-tutorials-image-zoom
Original author: Spencer Pao, Bohan Lin CS56, S13
-->
<property environment="env"/> <!-- load the environment variables -->
<property name="webRoot" value="${env.HOME}/public_html/" />
<property name="webBaseUrl" value="http://www.cs.ucsb.edu/~${env.USER}" />
<property name="course" value="cs56" />
<property name="categoryName" value="tutorials" />
<property name="repoName" value="image_zoom" />
<property name="mainClass" value="edu.ucsb.cs56.projects.${categoryName}.${repoName}.Run" />
<property name="RobotTestClass" value="edu.ucsb.cs56.projects.${categoryName}.${repoName}.RobotTest" />
<property name="projectName" value="${course}_projects__${categoryName}_${repoName}" />
<property name="projectPath" value="${course}/projects/${categoryName}/${repoName}" />
<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>
<!-- **************** COMPILE **************** -->
<target name="compile" description="compile the code">
<mkdir dir="build" />
<javac srcdir="src" destdir="build" debug="true" debuglevel="lines,source" includeantruntime="false">
<classpath refid="project.class.path" />
</javac>
<copy todir="build/images">
<fileset dir="images" includes="*.jpg"/>
</copy>
</target>
<!-- **************** RUN **************** -->
<target name="run" depends="compile" description="run the GUI">
<java classname="${mainClass}" classpath="build" fork="true" >
<jvmarg value="-Xmx1024m"/> <!-- heap space -->
</java>
</target>
<!-- **************** RUN **************** -->
<target name="RobotTest" depends="compile" description="RobotTest the GUI">
<java classname="${RobotTestClass}" classpath="build" fork="true" >
<jvmarg value="-Xmx1024m"/> <!-- heap space -->
</java>
</target>
<!-- **************** RobotTest **************** -->
<target name="RobotTest2" depends="compile" description="RobotTest the GUI in 2 separate processes">
<parallel>
<sequential>
<java classname="${mainClass}" classpath="build" fork="true" >
<jvmarg value="-Xmx1024m"/> <!-- heap space -->
</java>
</sequential>
<sequential>
<java classname="${RobotTestClass}" classpath="build" fork="true" >
<jvmarg value="-Xmx1024m"/> <!-- heap space -->
</java>
</sequential>
</parallel>
</target>
<!-- **************** CLEAN **************** -->
<target name="clean">
<delete dir="build" quiet="true" />
<delete dir="javadoc" quiet="true" />
</target>
<!-- **************** JUNIT **************** -->
<target name="test" depends="compile" description="run the junit tests">
<junit haltonerror="no" haltonfailure="no">
<classpath>
<pathelement location="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>
<!-- **************** JAVADOC **************** -->
<target name="javadoc" depends="compile" description="create the javadoc">
<delete dir="javadoc" quiet="true" />
<javadoc destdir="javadoc" author="true" version="true" use="true" >
<fileset dir="src" includes="**/*.java"/>
<classpath>
<pathelement location="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>
</project>