|
1
by Arnaud Vandyck
Import upstream version 2.0.1.dfsg.1 |
1 |
<project name="Trove4j" default="jar" basedir="."> |
2 |
<description>
|
|
3 |
Builds the Trove4j library |
|
4 |
</description>
|
|
5 |
||
6 |
<property name="Name" value="GNU Trove for Java"/> |
|
7 |
<property name="name" value="trove"/> |
|
|
1.1.3
by Michael Koch
Import upstream version 2.1.0 |
8 |
<property name="version" value="2.1.0"/> |
9 |
<property name="year" value="2001-2009"/> |
|
|
1
by Arnaud Vandyck
Import upstream version 2.0.1.dfsg.1 |
10 |
|
11 |
<property name="debug" value="on"/> |
|
12 |
<property name="deprecation" value="on"/> |
|
13 |
||
14 |
||
15 |
<property name="jar_name" value="trove.jar"/> |
|
16 |
||
17 |
<property name="generator_subtree" value="gnu/trove/generate"/> |
|
18 |
||
19 |
<property name="output.dir" value="output"/> |
|
20 |
<property name="output.dest" value="${output.dir}/classes"/> |
|
21 |
<property name="output.tests" value="${output.dir}/test_classes"/> |
|
22 |
<property name="output.generator_classes" value="${output.dir}/generator_classes"/> |
|
23 |
<property name="output.generated" value="${output.dir}/gen_src"/> |
|
24 |
<property name="output.lib" value="${output.dir}/lib"/> |
|
25 |
<property name="output.tests" value="${output.dir}/tests"/> |
|
26 |
<property name="output.javadocs" value="${output.dir}/javadocs"/> |
|
27 |
<property name="output.tmp" value="${output.dir}/tmp"/> |
|
28 |
||
29 |
<property name="dist.root" value="${output.dir}/dist"/> |
|
30 |
<property name="dist.dir" value="${dist.root}/${name}-${version}"/> |
|
31 |
||
32 |
<property name="src" value="src"/> |
|
33 |
<property name="test_src" value="test"/> |
|
34 |
<property name="lib" value="lib"/> |
|
35 |
||
36 |
||
37 |
<!-- =============================================================== -->
|
|
38 |
<!-- The main target for building a release. This will perform a -->
|
|
39 |
<!-- "clean" followed by a "dist". -->
|
|
40 |
<!-- =============================================================== -->
|
|
41 |
<target name="release" |
|
42 |
description="Do everything for a release: clean, build everything and test"> |
|
43 |
<antcall target="clean"/> |
|
44 |
<antcall target="dist"/> |
|
45 |
<antcall target="test"/> |
|
46 |
||
47 |
<tar tarfile="${name}-${version}.tar" basedir="${dist.root}"/> |
|
48 |
<gzip src="${name}-${version}.tar" |
|
49 |
zipfile="${dist.root}/${name}-${version}.tar.gz" /> |
|
50 |
<delete file="${name}-${version}.tar" /> |
|
51 |
</target>
|
|
52 |
||
53 |
||
54 |
<!-- =============================================================== -->
|
|
55 |
<!-- Clean all output -->
|
|
56 |
<!-- =============================================================== -->
|
|
57 |
<target name="clean" description="Remove all generated/compiled files"> |
|
58 |
<delete dir="${output.dir}"/> |
|
59 |
</target>
|
|
60 |
||
61 |
||
62 |
<!-- =============================================================== -->
|
|
63 |
<!-- Generate classes based on templates. -->
|
|
64 |
<!-- =============================================================== -->
|
|
65 |
<target name="generate" depends="-build_generator" |
|
66 |
description="Generate classes from templates"> |
|
67 |
<java classname="gnu.trove.generate.Generate"> |
|
|
1.1.3
by Michael Koch
Import upstream version 2.1.0 |
68 |
<arg value="${src}/${generator_subtree}"/> |
|
1
by Arnaud Vandyck
Import upstream version 2.0.1.dfsg.1 |
69 |
<arg value="${output.generated}/gnu/trove/"/> |
70 |
<classpath>
|
|
71 |
<pathelement path="${output.generator_classes}"/> |
|
72 |
</classpath>
|
|
73 |
</java>
|
|
74 |
</target>
|
|
75 |
||
76 |
||
77 |
<!-- =============================================================== -->
|
|
78 |
<!-- Compile the source directory. -->
|
|
79 |
<!-- =============================================================== -->
|
|
80 |
<target name="compile" depends="generate"> |
|
81 |
<javac destdir="${output.dest}" |
|
82 |
classpath="${lib}/junit.jar" |
|
83 |
debug="${debug}" target="1.5"> |
|
84 |
<src path="${src}"/> |
|
85 |
<src path="${output.generated}"/> |
|
86 |
</javac>
|
|
87 |
</target>
|
|
88 |
||
89 |
||
90 |
<!-- =============================================================== -->
|
|
91 |
<!-- Build the main jar. -->
|
|
92 |
<!-- =============================================================== -->
|
|
93 |
<target name="jar" depends="compile"> |
|
94 |
<jar destfile="${output.lib}/${name}-${version}.jar"> |
|
95 |
<fileset dir="${output.dest}"> |
|
96 |
<exclude name="gnu/trove/benchmark/**"/> |
|
97 |
<exclude name="gnu/trove/test/**"/> |
|
98 |
<exclude name="gnu/trove/generate/**"/> |
|
99 |
</fileset>
|
|
100 |
<manifest>
|
|
101 |
<attribute name="Built-By" value="${user.name}"/> |
|
102 |
<attribute name="Implementation-Title" value="${Name}"/> |
|
103 |
<attribute name="Implementation-Version" value="${version}"/> |
|
104 |
<attribute name="Implementation-URL" value="http://trove4j.sourceforge.net/"/> |
|
105 |
<attribute name="Sealed" value="false"/> |
|
106 |
</manifest>
|
|
107 |
</jar>
|
|
108 |
</target>
|
|
109 |
||
110 |
||
111 |
<!-- =============================================================== -->
|
|
112 |
<!-- Build the source jar. -->
|
|
113 |
<!-- =============================================================== -->
|
|
114 |
<target name="jarsrc" depends="compile"> |
|
115 |
<jar destfile="${output.lib}/${name}-src-${version}.jar"> |
|
116 |
<fileset dir="${src}"> |
|
117 |
<exclude name="gnu/trove/generate/**"/> |
|
118 |
<exclude name="gnu/trove/benchmark/**"/> |
|
119 |
</fileset>
|
|
120 |
<fileset dir="${output.generated}"/> |
|
121 |
<manifest>
|
|
122 |
<attribute name="Built-By" value="${user.name}"/> |
|
123 |
<attribute name="Implementation-Title" value="${Name}"/> |
|
124 |
<attribute name="Implementation-Version" value="${version}"/> |
|
125 |
<attribute name="Implementation-URL" value="http://trove4j.sourceforge.net/"/> |
|
126 |
<attribute name="Sealed" value="false"/> |
|
127 |
</manifest>
|
|
128 |
</jar>
|
|
129 |
</target>
|
|
130 |
||
131 |
||
132 |
<!-- =============================================================== -->
|
|
133 |
<!-- Places files to prepare for a release. -->
|
|
134 |
<!-- This build javadocs and copies misc. files. -->
|
|
135 |
<!-- =============================================================== -->
|
|
136 |
<target name="dist" depends="jar,jarsrc,javadoc" |
|
137 |
description="Build all files for distribution"> |
|
138 |
||
139 |
<mkdir dir="${dist.root}"/> |
|
140 |
<mkdir dir="${dist.dir}"/> |
|
141 |
<mkdir dir="${dist.dir}/src"/> |
|
142 |
||
143 |
<!-- Copy source -->
|
|
144 |
<copy todir="${dist.dir}/src"> |
|
145 |
<fileset dir="${src}"/> |
|
146 |
</copy>
|
|
147 |
<copy todir="${dist.dir}/test"> |
|
148 |
<fileset dir="${test_src}"/> |
|
149 |
</copy>
|
|
150 |
||
151 |
<!-- Copy javadocs & libs -->
|
|
152 |
<copy todir="${dist.dir}"> |
|
153 |
<fileset dir="${output.dir}" includes="lib/**,javadocs/**" /> |
|
154 |
</copy>
|
|
155 |
<copy todir="${dist.dir}/lib" file="${lib}/junit.jar"/> |
|
156 |
||
157 |
<!-- Misc. Files -->
|
|
158 |
<copy todir="${dist.dir}" file="AUTHORS"/> |
|
159 |
<copy todir="${dist.dir}" file="ChangeLog"/> |
|
160 |
<copy todir="${dist.dir}" file="LICENSE.txt"/> |
|
161 |
<copy todir="${dist.dir}" file="README-license.txt"/> |
|
162 |
<copy todir="${dist.dir}" file="README.txt"/> |
|
163 |
<copy todir="${dist.dir}" file="build.xml"/> |
|
164 |
</target>
|
|
165 |
||
166 |
||
167 |
<!-- =============================================================== -->
|
|
168 |
<!-- Create the javadocs. -->
|
|
169 |
<!-- =============================================================== -->
|
|
170 |
<target name="javadoc" depends="compile"> |
|
171 |
<mkdir dir="${output.javadocs}"/> |
|
172 |
||
173 |
<copy file="${src}/gnu/trove/decorator/package.html" |
|
174 |
tofile="${output.generated}/gnu/trove/decorator/package.html"/> |
|
175 |
||
176 |
<javadoc destdir="${output.javadocs}" |
|
177 |
packagenames="gnu.trove.*" |
|
178 |
author="true" |
|
179 |
version="true" |
|
180 |
use="true" |
|
181 |
splitindex="true" |
|
182 |
noindex="false" |
|
183 |
windowtitle="${Name} API v${version}" |
|
184 |
doctitle="${Name} API v${version}" |
|
185 |
header="<a href="http://trove4j.sourceforge.net/">GNU Trove</a>" |
|
186 |
bottom="GNU Trove is copyright © ${year} Eric D. Friedman. All Rights Reserved."> |
|
187 |
<fileset dir="${src}"> |
|
188 |
<exclude name="**/*.html"/> |
|
189 |
<exclude name="gnu/trove/benchmark/**"/> |
|
190 |
<exclude name="gnu/trove/generate/**"/> |
|
191 |
<exclude name="gnu/trove/test/**"/> |
|
192 |
</fileset>
|
|
193 |
<fileset dir="${output.generated}"> |
|
194 |
<exclude name="**/*.html"/> |
|
195 |
<exclude name="gnu/trove/benchmark/**"/> |
|
196 |
<exclude name="gnu/trove/test/**"/> |
|
197 |
</fileset>
|
|
198 |
</javadoc>
|
|
199 |
</target>
|
|
200 |
||
201 |
||
202 |
<!-- =============================================================== -->
|
|
203 |
<!-- Compile and run the unit tests. -->
|
|
204 |
<!-- =============================================================== -->
|
|
205 |
<target name="test" depends="compile" |
|
206 |
description="Compile unit tests and run them using JUnit."> |
|
207 |
||
208 |
<echo message="output.dest = ${output.dest}"/> |
|
209 |
||
210 |
<javac destdir="${output.tests}" debug="${debug}" target="1.5"> |
|
211 |
<src path="${test_src}"/> |
|
212 |
<classpath>
|
|
213 |
<pathelement location="${lib}/junit.jar"/> |
|
214 |
<pathelement location="${output.dest}"/> |
|
215 |
</classpath>
|
|
216 |
</javac>
|
|
|
1.1.2
by Torsten Werner
Import upstream version 2.0.4 |
217 |
|
218 |
<copy todir="${output.tests}"> |
|
219 |
<fileset dir="${test_src}"> |
|
220 |
<include name="**/*.obj"/> |
|
221 |
</fileset>
|
|
222 |
</copy>
|
|
|
1
by Arnaud Vandyck
Import upstream version 2.0.1.dfsg.1 |
223 |
|
224 |
<!-- Verify that JUnit is available on the classpath -->
|
|
225 |
<available classname="junit.framework.TestCase" property="junit.present"/> |
|
226 |
<fail unless="junit.present" message="To run this task, install junit.jar and optional.jar into ${ant.home}/lib/ JUnit is available free at http://www.junit.org"/> |
|
227 |
<!-- Execute JUnit tests -->
|
|
228 |
<junit printsummary="true" showoutput="false" fork="on" |
|
229 |
errorProperty="test.failed" failureProperty="test.failed"> |
|
230 |
<assertions>
|
|
231 |
<enable/>
|
|
232 |
</assertions>
|
|
233 |
<classpath path="${output.tests}:${output.dest}:${lib}/junit.jar"/> |
|
234 |
<formatter type="brief" usefile="false"/> |
|
235 |
<batchtest fork="no" todir="${output.dir}"> |
|
236 |
<fileset dir="${output.tests}/" includes="**/**Test.class"/> |
|
237 |
</batchtest>
|
|
238 |
</junit>
|
|
239 |
<fail message="Tests failed. Check test output." if="test.failed"/> |
|
240 |
</target>
|
|
241 |
||
242 |
||
243 |
<!-- =============================================================== -->
|
|
244 |
<!-- Build generator classes. -->
|
|
245 |
<!-- =============================================================== -->
|
|
246 |
<target name="-build_generator" depends="-init"> |
|
247 |
<javac srcdir="${src}/${generator_subtree}" |
|
248 |
destdir="${output.generator_classes}" |
|
249 |
defaultexcludes="yes" |
|
250 |
debug="${debug}" |
|
251 |
source="1.5" target="1.5"/> |
|
252 |
||
253 |
<copy todir="${output.generator_classes}"> |
|
254 |
<fileset dir="${src}"> |
|
255 |
<include name="${generator_subtree}/*.template"/> |
|
256 |
</fileset>
|
|
257 |
</copy>
|
|
258 |
</target>
|
|
259 |
||
260 |
<!-- =================================================================== -->
|
|
261 |
<!-- Initialization target -->
|
|
262 |
<!-- =================================================================== -->
|
|
263 |
<target name="-init"> |
|
264 |
<tstamp/>
|
|
265 |
||
266 |
<mkdir dir="${output.dir}"/> |
|
267 |
<mkdir dir="${output.generator_classes}"/> |
|
268 |
<mkdir dir="${output.dest}"/> |
|
269 |
<mkdir dir="${output.tests}"/> |
|
270 |
<mkdir dir="${output.generated}"/> |
|
271 |
<mkdir dir="${output.generated}/gnu"/> |
|
272 |
<mkdir dir="${output.generated}/gnu/trove"/> |
|
273 |
<mkdir dir="${output.lib}"/> |
|
274 |
<mkdir dir="${dist.root}"/> |
|
275 |
||
276 |
<echo message="----------- ${Name} ${version} [${year}] ------------"/> |
|
277 |
</target>
|
|
278 |
</project>
|