-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.xml
99 lines (86 loc) · 3.35 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
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project name="ZeroJudge" default="build">
<property environment="env"/>
<!-- Set up the properties -->
<target name="setProperties" description="set up properties">
<property name="project-name" value="ZeroJudge"/>
<property name="yee-demo-class" value="yee.YeeDemo"/>
<property name="base-dir" value="bin"/>
<property name="deploy-dir" value="deploy"/>
<property name="javadoc-dir" value="doc"/>
<property name="lib-dir" value="lib"/>
<property name="ref-dir" value="ref"/>
<property name="resource-dir" value="resource"/>
<property name="src-dir" value="src"/>
<property name="junit.jar" value="${env.MYJUNIT4_JAR}"/>
</target>
<!-- Necessary checking -->
<target name="check" unless="env.JAVA_HOME" depends="setProperties">
<fail message="JAVA_HOME must be set!"/>
</target>
<!-- Clean up the project -->
<target name="clean" depends="setProperties">
<delete>
<fileset dir="${base-dir}" includes="**/*.class"/>
</delete>
<delete>
<fileset dir="${deploy-dir}" includes="**/*.jar"/>
</delete>
<delete>
<fileset dir="${javadoc-dir}" includes="**/*.*"/>
</delete>
</target>
<!-- Generate java document -->
<target name="doc" depends="check">
<javadoc destdir="${javadoc-dir}" encoding="utf-8" charset="utf-8" classpath="${junit.jar}">
<fileset dir="${src-dir}" casesensitive="yes">
<include name="**/*.java"/>
</fileset>
</javadoc>
</target>
<!-- Create necessary directory -->
<target name="prepare" depends="setProperties">
<mkdir dir="${base-dir}"/>
<mkdir dir="${deploy-dir}"/>
<mkdir dir="${javadoc-dir}"/>
<mkdir dir="${lib-dir}"/>
<mkdir dir="${ref-dir}"/>
<mkdir dir="${resource-dir}"/>
</target>
<!-- Compile source files -->
<target name="compile" depends="prepare">
<javac srcdir="${src-dir}" destdir="${base-dir}" includeantruntime="false">
<classpath>
<pathelement location="${junit.jar}"/>
</classpath>
</javac>
</target>
<!-- create the jar -->
<target name="build" depends="compile">
<jar jarfile="deploy/${project-name}.jar" basedir="${base-dir}">
<manifest>
<attribute name="Manifest-Version" value="1.0" />
<attribute name="Created-By" value="Chris Wong" />
</manifest>
</jar>
</target>
<!-- Run ${main-class} independently -->
<target name="run yeedemo" depends="compile">
<java classname="${yee-demo-class}" classpath="${base-dir}" >
</java>
</target>
<!-- Run by jar -->
<target name="jar yeedemo" depends="build">
<java fork="true" failonerror="true" classname="${yee-demo-class}" classpath="deploy/${project-name}.jar" >
</java>
</target>
<!-- Help main menu -->
<target name="help" description="help information" depends="check">
<echo>ant "help yee"</echo>
</target>
<!--Help sub menus -->
<target name="help yee" description="help information" depends="check">
<echo>Sample cmd: ant "run yee"</echo>
<echo> alias to java -cp bin ${yee-demo-class}</echo>
</target>
</project>