-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.xml
More file actions
179 lines (158 loc) · 8.19 KB
/
build.xml
File metadata and controls
179 lines (158 loc) · 8.19 KB
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
<?xml version="1.0"?>
<!-- ANT script to build JSI -->
<project name="jsi" default="all" basedir=".">
<!-- version number -->
<property name="version" value="1.0b8"/>
<!-- library includes -->
<property name="lib.dir" value="${basedir}/jsi/lib"/>
<path id="classpath">
<fileset dir="${lib.dir}">
<include name="log4j-1.2.6.jar"/>
<include name="junit-3.7.0.jar"/>
<include name="trove-2.0.2.jar"/>
<include name="sil-0.44.2b.jar"/>
</fileset>
</path>
<path id="test-classpath">
<fileset dir="${lib.dir}">
<include name="log4j-1.2.6.jar"/>
<include name="junit-3.7.0.jar"/>
<include name="trove-2.0.2.jar"/>
<include name="sil-0.44.2b.jar"/>
</fileset>
<pathelement location="${basedir}/jsi/bin"/>
<pathelement location="${basedir}/jsi/tests"/>
</path>
<!-- targets -->
<target name="help">
<echo message="JSI build.xml: Help on buildfile usage and targets."/>
<echo message=""/>
<echo message="This buildfile is used to generate a release of the JSI (Java Spatial Index) RTree library"/>
<echo message=""/>
<echo message="Targets:"/>
<echo message=""/>
<echo message=" o help Display this message."/>
<echo message=" o clean Remove all classes and generated test results"/>
<echo message=" o clean-all As for clean, but also remove javadoc, jars, zips and reference test results"/>
<echo message=" o prepare Create build folders and other preparation"/>
<echo message=" o compile Generate classes"/>
<echo message=" o test Run unit tests (all manual tests, plus reference comparisons up to 1000 entries)"/>
<echo message=" o comparison-test Run unit tests plus reference comparisons up to 10,000 entries"/>
<echo message=" o overnight-comparison-test Run unit tests plus reference comparisons up to 100,000 entries"/>
<echo message=" o javadoc Generate javadoc documentation"/>
<echo message=" o jar Create jsi.jar from compiled classes and resources"/>
<echo message=" o zip Create zip file containing the release (as uploaded to sourceforge)"/>
<echo message=" o all Run the following: clean,compile,test,javadoc,jar,zip"/>
<echo message=""/>
<echo message="Key properties:"/>
<echo message=""/>
<echo message=" o basedir Location of JSI project root."/>
<echo message=""/>
</target>
<target name="clean" description="Remove all generated files.">
<delete dir="${basedir}/jsi/bin"/>
<delete dir="${basedir}/jsi/jar"/>
<delete dir="${basedir}/jsi-website/javadoc/${version}"/>
<delete file="${basedir}/jsi-release/${version}.zip"/>
<delete dir="${basedir}/jsi-junit-reports"/>
<delete dir="${basedir}/zip-rebuild"/>
</target>
<target name="clean-all" depends="clean" description="Remove all generated test results.">
<delete>
<fileset dir="${basedir}/jsi/test-results" excludes="*reference"/>
</delete>
</target>
<target name="prepare" description="Create dirs.">
<mkdir dir="${basedir}/jsi/bin"/>
<mkdir dir="${basedir}/jsi/jar"/>
<mkdir dir="${basedir}/jsi/test-results"/>
<mkdir dir="${basedir}/jsi/doc/javadoc"/>
<mkdir dir="${basedir}/jsi-junit-reports"/>
<mkdir dir="${basedir}/jsi-website/javadoc/${version}"/>
<mkdir dir="${basedir}/jsi-release"/>
</target>
<target name="compile" depends="prepare" description="Generate classes.">
<javac srcdir="${basedir}/jsi/src" destdir="${basedir}/jsi/bin" compiler="javac1.5" target="1.2" source="1.2" debug="true" debuglevel="lines,var,source">
<classpath refid="classpath"/>
</javac>
<copy todir="${basedir}/jsi/bin" file="${basedir}/jsi/src/log4j.properties"/>
</target>
<target name="test" depends="compile" description="Unit tests.">
<junit fork="yes" showoutput="yes" printsummary="yes" dir="${basedir}/jsi">
<jvmarg value="-Duser.dir=${basedir}/jsi"/>
<classpath refid="test-classpath"/>
<batchtest fork="yes" todir="${basedir}/jsi-junit-reports">
<formatter type="xml"/>
<fileset dir="${basedir}/jsi/src" includes="**/ReferenceGenerateTest.java"/>
<fileset dir="${basedir}/jsi/src" includes="**/ReferenceCompareTest.java"/>
<fileset dir="${basedir}/jsi/src" includes="**/DeleteAllEntriesTest.java"/>
<fileset dir="${basedir}/jsi/src" includes="**/RectangleMaxValueTest.java"/>
<fileset dir="${basedir}/jsi/src" includes="**/MoveEntriesTest.java"/>
</batchtest>
</junit>
</target>
<target name="comparison-test" depends="compile" description="Comparison tests.">
<junit fork="yes" showoutput="yes" printsummary="yes" dir="${basedir}/jsi">
<jvmarg value="-Duser.dir=${basedir}/jsi"/>
<classpath refid="test-classpath"/>
<batchtest fork="yes" todir="${basedir}/jsi-junit-reports">
<formatter type="xml"/>
<fileset dir="${basedir}/jsi/src" includes="**/ReferenceGenerateTest_10000.java"/>
<fileset dir="${basedir}/jsi/src" includes="**/ReferenceCompareTest_10000.java"/>
</batchtest>
</junit>
</target>
<target name="overnight-comparison-test" depends="compile" description="Comparison tests.">
<junit fork="yes" showoutput="yes" printsummary="yes" dir="${basedir}/jsi">
<jvmarg value="-Duser.dir=${basedir}/jsi"/>
<classpath refid="test-classpath"/>
<batchtest fork="yes" todir="${basedir}/jsi-junit-reports">
<formatter type="xml"/>
<fileset dir="${basedir}/jsi/src" includes="**/ReferenceGenerateTest_100000.java"/>
<fileset dir="${basedir}/jsi/src" includes="**/ReferenceCompareTest_100000.java"/>
</batchtest>
</junit>
</target>
<target name="jar" depends="compile" description="Create jsi.jar from compiled classes and resources.">
<!-- main jar -->
<jar jarfile="${basedir}/jsi/jar/jsi-${version}.jar" basedir="${basedir}/jsi/bin">
<exclude name="**/com/infomatiq/jsi/test/**"/>
<exclude name="log4j.properties"/>
</jar>
<!-- test jar -->
<jar jarfile="${basedir}/jsi/jar/jsi-test-${version}.jar" basedir="${basedir}/jsi/bin">
<include name="**/com/infomatiq/jsi/test/**"/>
<include name="log4j.properties"/>
</jar>
</target>
<target name="javadoc">
<javadoc destdir="${basedir}/jsi/doc/javadoc"
access="public" use="true" notree="false" nonavbar="false"
noindex="false" splitindex="false" author="true"
version="true" nodeprecatedlist="false" nodeprecated="false"
packagenames="com.infomatiq.jsi,com.infomatiq.jsi.rtree"
sourcepath="${basedir}/jsi/src"
classpathref="classpath"/>
<copy todir="${basedir}/jsi-website/javadoc/${version}">
<fileset dir="${basedir}/jsi/doc/javadoc"/>
</copy>
</target>
<target name="zip" depends="compile,test,jar,javadoc" description="Create zip file containing the JSI release">
<zip zipfile="${basedir}/jsi-release/jsi-${version}.zip">
<zipfileset prefix="jsi-${version}" dir="${basedir}" includes="jsi/src/"/>
<zipfileset prefix="jsi-${version}" dir="${basedir}" includes="jsi/bin/"/>
<zipfileset prefix="jsi-${version}" dir="${basedir}" includes="jsi/jar/"/>
<zipfileset prefix="jsi-${version}" dir="${basedir}" includes="jsi/doc/"/>
<zipfileset prefix="jsi-${version}" dir="${basedir}" includes="jsi/tests/"/>
<zipfileset prefix="jsi-${version}" dir="${basedir}" includes="jsi/lib/"/>
<zipfileset prefix="jsi-${version}" dir="${basedir}" includes="build.xml"/>
<zipfileset prefix="jsi-${version}" dir="${basedir}" includes="jsi/test-results/test-allfunctions-100-reference"/>
</zip>
</target>
<target name="zip-rebuild" depends="zip">
<unzip src="${basedir}/jsi-release/jsi-${version}.zip" dest="${basedir}/zip-rebuild"/>
<ant antfile="${basedir}/zip-rebuild/jsi-${version}/build.xml" dir="${basedir}/zip-rebuild/jsi-${version}" target="zip"/>
</target>
<target name="all" depends="clean,prepare,compile,test,jar,javadoc,zip,zip-rebuild">
</target>
</project>