[cvs] / jsr166 / build.xml Repository:
ViewVC logotype

Annotation of /jsr166/build.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.199 - (view) (download) (as text)

1 : jsr166 1.177 <project name="jsr166" default="usage"
2 :     xmlns:if="ant:if" xmlns:unless="ant:unless">
3 : tim 1.1
4 :     <description>
5 : tim 1.29 ------------------------------------------------------------------------------
6 :     Build file for JSR-166
7 : tim 1.18
8 : tim 1.29 Usage: ant [target]
9 :    
10 :     User-specific settings are read from user.properties.
11 : tim 1.32 See user.properties.sample for an explanation of some useful settings.
12 : jsr166 1.98
13 :     The repository contains all dependencies except for ant and the JDK
14 :     itself. Because the JDK version matters and because different
15 :     targets require different JDKs, we assume that users have created a
16 :     hierarchy containing:
17 :     $HOME/jdk/jdk6
18 :     $HOME/jdk/jdk7
19 :     $HOME/jdk/jdk8
20 : jsr166 1.151 $HOME/jdk/jdk9
21 : jsr166 1.99 where each of the above is a JDK or a symlink to same, and
22 :     $HOME/jdk/src/jdk6
23 :     $HOME/jdk/src/jdk7
24 :     $HOME/jdk/src/jdk8
25 : jsr166 1.151 $HOME/jdk/src/jdk9
26 : jsr166 1.99 where each of the above is a complete JDK source tree
27 :     (e.g. mercurial forest) or a symlink to same.
28 : jsr166 1.159
29 :     Alternatively, define ant variables thus:
30 : jsr166 1.199 ant -Djdk$N.home=... -Djdk$N.src.home=...
31 : jsr166 1.159 for $N in 6 7 8 9 ...
32 : jsr166 1.182
33 :     As of 2015-09, there is incomplete hacky support for jigsaw
34 :     Build for jigsaw using something like:
35 : jsr166 1.199 ant -Djdk9.home="$HOME/jdk/jigsaw" -Djdk9.src.home="$HOME/jdk/src/jigsaw" clean test dist
36 : jsr166 1.182 "docs" target is still broken.
37 : tim 1.29 ------------------------------------------------------------------------------
38 : tim 1.18 </description>
39 : tim 1.11
40 : jsr166 1.148 <!-- Display main targets by running 'ant -projecthelp' -->
41 :     <target name="usage">
42 : jsr166 1.129 <java classname="org.apache.tools.ant.Main">
43 :     <arg value="-projecthelp" />
44 :     </java>
45 : tim 1.29 </target>
46 : tim 1.3
47 : jsr166 1.177 <!-- HOWTO printf debug: <echo message="prop=${prop}"/> -->
48 : tim 1.11
49 : tim 1.27 <!-- User-specific settings -->
50 : tim 1.23 <property file="user.properties"/>
51 : tim 1.27
52 : tim 1.1
53 :     <!-- Compilation options -->
54 : jsr166 1.114 <property name="build.sourcelevel" value="6"/>
55 : tim 1.1 <property name="build.debug" value="true"/>
56 :     <property name="build.debuglevel" value="source,lines,vars"/>
57 : tim 1.13 <property name="build.deprecation" value="false"/>
58 : jsr166 1.130 <property name="build.javadoc.access" value="protected"/>
59 : tim 1.1
60 :     <!-- Build locations -->
61 : jsr166 1.79 <property name="build.dir" location="build"/>
62 :     <property name="build.classes.dir" location="${build.dir}/classes"/>
63 :     <property name="build.testcases.dir" location="${build.dir}/testcases"/>
64 :     <property name="build.loops.dir" location="${build.dir}/loops"/>
65 :     <property name="build.reports.dir" location="${build.dir}/reports"/>
66 : jsr166 1.92
67 : jsr166 1.109 <property name="build.4jdk7.dir" location="${build.dir}/jsr166-4jdk7"/>
68 :     <property name="build.4jdk7.classes.dir" location="${build.4jdk7.dir}/classes"/>
69 : jsr166 1.113 <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
70 : jsr166 1.109 <property name="build.4jdk7.docs.dir" location="${build.4jdk7.dir}/docs"/>
71 : jsr166 1.92
72 : jsr166 1.79 <property name="build.jsr166x.dir" location="${build.dir}/jsr166x"/>
73 :     <property name="build.jsr166y.dir" location="${build.dir}/jsr166y"/>
74 : dl 1.90 <property name="build.jsr166e.dir" location="${build.dir}/jsr166e"/>
75 : jsr166 1.79 <property name="build.extra166y.dir" location="${build.dir}/extra166y"/>
76 : dl 1.76
77 : jsr166 1.126 <property name="build.jsr166x.classes.dir" location="${build.jsr166x.dir}/classes"/>
78 :     <property name="build.jsr166y.classes.dir" location="${build.jsr166y.dir}/classes"/>
79 :     <property name="build.jsr166e.classes.dir" location="${build.jsr166e.dir}/classes"/>
80 :     <property name="build.extra166y.classes.dir" location="${build.extra166y.dir}/classes"/>
81 : jsr166 1.114
82 : jsr166 1.118 <!-- JDK locations -->
83 : jsr166 1.92 <property name="jdks.home" location="${user.home}/jdk"/>
84 : jsr166 1.93
85 :     <macrodef name="defjdklocations">
86 :     <attribute name="v"/>
87 :     <sequential>
88 : jsr166 1.199 <property name="jdk@{v}.home" location="${jdks.home}/jdk@{v}"/>
89 :     <property name="java@{v}" location="${jdk@{v}.home}/bin/java"/>
90 :     <property name="javac@{v}" location="${jdk@{v}.home}/bin/javac"/>
91 :     <property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/>
92 :     <property name="jdk@{v}.src.home" location="${jdks.home}/src/jdk@{v}"/>
93 : jsr166 1.181 <local name="have.java.base"/>
94 :     <available property="have.java.base"
95 : jsr166 1.199 file="${jdk@{v}.src.home}/jdk/src/java.base/share/classes" type="dir"/>
96 :     <property name="jdk@{v}.src.dir" location="${jdk@{v}.src.home}/jdk/src/java.base/share/classes"
97 : jsr166 1.181 if:set="have.java.base"/>
98 : jsr166 1.199 <property name="jdk@{v}.src.dir" location="${jdk@{v}.src.home}/jdk/src/share/classes"
99 : jsr166 1.181 unless:set="have.java.base"/>
100 : jsr166 1.182 <local name="modules"/>
101 :     <available property="modules" file="${jdk@{v}.home}/jmods" type="dir"/>
102 : jsr166 1.118 <local name="boot.jar.dir"/>
103 : jsr166 1.182 <property name="boot.jar.dir" location="${jdk@{v}.home}/jre/lib" unless:set="modules"/>
104 :     <path id="bootclasspath@{v}" unless:set="modules">
105 : jsr166 1.118 <pathelement path="${boot.jar.dir}/resources.jar"/>
106 :     <pathelement path="${boot.jar.dir}/rt.jar"/>
107 :     <pathelement path="${boot.jar.dir}/jsse.jar"/>
108 :     <pathelement path="${boot.jar.dir}/jce.jar"/>
109 :     <pathelement path="${boot.jar.dir}/charsets.jar"/>
110 :     </path>
111 : jsr166 1.182 <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}" unless:set="modules"/>
112 : jsr166 1.93 </sequential>
113 :     </macrodef>
114 :    
115 : jsr166 1.125 <macrodef name="mirror-dir">
116 :     <attribute name="src"/>
117 :     <attribute name="dst"/>
118 :     <sequential>
119 :     <delete dir="@{dst}"/>
120 :     <mkdir dir="@{dst}"/>
121 :     <copy todir="@{dst}" preservelastmodified="true">
122 :     <fileset dir="@{src}"/>
123 :     </copy>
124 :     </sequential>
125 :     </macrodef>
126 :    
127 : jsr166 1.93 <defjdklocations v="6"/>
128 :     <defjdklocations v="7"/>
129 :     <defjdklocations v="8"/>
130 : jsr166 1.151 <defjdklocations v="9"/>
131 : jsr166 1.92
132 : tim 1.1 <!-- Source locations -->
133 : tim 1.22 <property name="src.dir" location="${basedir}/src/main"/>
134 :     <property name="test.src.dir" location="${basedir}/src/test"/>
135 : jsr166 1.65 <property name="loops.src.dir" location="${basedir}/src/loops"/>
136 : tim 1.60 <property name="tck.src.dir" location="${test.src.dir}/tck"/>
137 : jsr166 1.173 <property name="jtreg7.src.dir" location="${test.src.dir}/jtreg-jdk7"/>
138 :     <property name="jtreg8.src.dir" location="${test.src.dir}/jtreg"/>
139 :     <property name="jtreg9.src.dir" location="${test.src.dir}/jtreg"/>
140 :     <property name="jtreg.src.dir" location="${jtreg9.src.dir}"/>
141 : tim 1.1 <property name="lib.dir" location="${basedir}/lib"/>
142 : tim 1.9 <property name="dist.dir" location="${basedir}/dist"/>
143 : dl 1.70 <property name="topsrc.dir" location="${basedir}/src"/>
144 : jsr166 1.99 <property name="4jdk7src.dir" location="${topsrc.dir}/jdk7"/>
145 : jsr166 1.92 <property name="jsr166xsrc.dir" location="${topsrc.dir}/jsr166x"/>
146 :     <property name="jsr166ysrc.dir" location="${topsrc.dir}/jsr166y"/>
147 :     <property name="jsr166esrc.dir" location="${topsrc.dir}/jsr166e"/>
148 :     <property name="extra166ysrc.dir" location="${topsrc.dir}/extra166y"/>
149 : jsr166 1.91
150 : jsr166 1.125 <!-- Javadoc locations -->
151 : jsr166 1.127 <property name="docs.dir" location="${build.dir}/docs"/>
152 :     <property name="4jdk7docs.dir" location="${build.4jdk7.dir}/docs"/>
153 :     <property name="jsr166xdocs.dir" location="${build.jsr166x.dir}/docs"/>
154 :     <property name="jsr166ydocs.dir" location="${build.jsr166y.dir}/docs"/>
155 :     <property name="jsr166edocs.dir" location="${build.jsr166e.dir}/docs"/>
156 :     <property name="extra166ydocs.dir" location="${build.extra166y.dir}/docs"/>
157 :    
158 :     <property name="dist.docs.dir" location="${dist.dir}/docs"/>
159 :     <property name="dist.4jdk7docs.dir" location="${dist.dir}/jsr166-4jdk7docs"/>
160 :     <property name="dist.jsr166xdocs.dir" location="${dist.dir}/jsr166xdocs"/>
161 :     <property name="dist.jsr166ydocs.dir" location="${dist.dir}/jsr166ydocs"/>
162 :     <property name="dist.jsr166edocs.dir" location="${dist.dir}/jsr166edocs"/>
163 :     <property name="dist.extra166ydocs.dir" location="${dist.dir}/extra166ydocs"/>
164 : tim 1.1
165 :     <!-- Jar locations -->
166 : jsr166 1.109 <property name="product.jar" location="${build.dir}/jsr166.jar"/>
167 :     <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
168 :     <property name="jsr166x.jar" location="${build.jsr166x.dir}/jsr166x.jar"/>
169 :     <property name="jsr166y.jar" location="${build.jsr166y.dir}/jsr166y.jar"/>
170 :     <property name="jsr166e.jar" location="${build.jsr166e.dir}/jsr166e.jar"/>
171 :     <property name="extra166y.jar" location="${build.extra166y.dir}/extra166y.jar"/>
172 : jsr166 1.106 <property name="junit.jar" location="${lib.dir}/junit.jar"/>
173 : jsr166 1.65
174 : jsr166 1.152 <!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag -->
175 :     <property name="java5.docroot.url" value="http://docs.oracle.com/javase/1.5.0/docs"/>
176 :     <property name="java6.docroot.url" value="http://docs.oracle.com/javase/6/docs"/>
177 :     <property name="java7.docroot.url" value="http://docs.oracle.com/javase/7/docs"/>
178 : jsr166 1.157 <property name="java8.docroot.url" value="http://docs.oracle.com/javase/8/docs"/>
179 : jsr166 1.192 <!-- The expected canonical location does not yet exist as of 2015-11 -->
180 : jsr166 1.152 <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
181 : jsr166 1.157 <property name="java9.docroot.url" value="http://download.java.net/jdk9/docs"/>
182 : jsr166 1.152 <!-- Default jdk doc location (latest stable release seems best) -->
183 : jsr166 1.157 <property name="java.docroot.url" value="${java8.docroot.url}"/>
184 : jsr166 1.151
185 : jsr166 1.152 <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
186 :     <property name="java5.api.url" value="${java5.docroot.url}/api/"/>
187 :     <property name="java6.api.url" value="${java6.docroot.url}/api/"/>
188 :     <property name="java7.api.url" value="${java7.docroot.url}/api/"/>
189 :     <property name="java8.api.url" value="${java8.docroot.url}/api/"/>
190 :     <property name="java9.api.url" value="${java9.docroot.url}/api/"/>
191 :     <property name="java.api.url" value="${java.docroot.url}/api/"/>
192 : jsr166 1.91
193 : jsr166 1.115 <!-- Define the "jtreg" task -->
194 :     <!-- See the docs in "jtreg -onlineHelp" -->
195 :     <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
196 :     classpath="${lib.dir}/jtreg.jar" />
197 :    
198 : jsr166 1.183 <!-- Tck options; see JSR166TestCase.java
199 :     To profile a single tck test class:
200 :     ant -Djsr166.profileTests=true -Djsr166.profileThreshold=10 -Djsr166.tckTestClass=CompletableFutureTest tck
201 :     To stress test a single tck test class:
202 :     ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 tck
203 :     To stress test a single tck test method:
204 :     ant -Djsr166.tckTestClass=RecursiveTaskTest -Djsr166.runsPerTest=1000 -Djsr166.methodFilter=testAbnormalInvokeAll3 tck
205 :     -->
206 :     <property name="jsr166.tckTestClass" value="JSR166TestCase"/>
207 : jsr166 1.118 <macrodef name="run-tck-tests">
208 : jsr166 1.122 <attribute name="tck.src.dir" default="${tck.src.dir}"/>
209 : jsr166 1.118 <attribute name="target"/>
210 : jsr166 1.138 <attribute name="compile-target" default="@{target}"/>
211 : jsr166 1.118 <attribute name="workdir"/>
212 : jsr166 1.122 <attribute name="classes"/>
213 : jsr166 1.155 <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
214 : jsr166 1.132 <element name="javac-elements" optional="true"/>
215 : jsr166 1.182
216 : jsr166 1.118 <sequential>
217 :    
218 : jsr166 1.182 <local name="modules"/>
219 :     <condition property="modules">
220 :     <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>
221 :     </condition>
222 :    
223 : jsr166 1.118 <mkdir dir="@{workdir}/tck-classes"/>
224 :    
225 : jsr166 1.122 <javac srcdir="@{tck.src.dir}"
226 : jsr166 1.118 destdir="@{workdir}/tck-classes"
227 :     debug="${build.debug}"
228 :     debuglevel="${build.debuglevel}"
229 :     deprecation="${build.deprecation}"
230 : jsr166 1.138 source="@{compile-target}"
231 :     target="@{compile-target}"
232 : jsr166 1.118 classpath="${junit.jar}"
233 :     includeAntRuntime="false"
234 :     includeJavaRuntime="false"
235 : jsr166 1.138 executable="${javac@{compile-target}}"
236 : jsr166 1.118 fork="true">
237 :    
238 : jsr166 1.121 <include name="*.java"/>
239 : jsr166 1.118 <compilerarg value="-XDignore.symbol.file=true"/>
240 : jsr166 1.187 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>
241 : jsr166 1.182 <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
242 : jsr166 1.196 <compilerarg value="-Xpatch:${build.classes.dir}" if:set="modules"/>
243 : jsr166 1.118 <compilerarg line="${build.args}"/>
244 : jsr166 1.132 <javac-elements/>
245 : jsr166 1.118
246 :     </javac>
247 :    
248 : jsr166 1.140 <java classname="${jsr166.tckTestClass}"
249 : jsr166 1.118 failonerror="true"
250 :     jvm="${java@{target}}"
251 :     fork="true">
252 : jsr166 1.182 <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
253 : jsr166 1.196 <jvmarg value="-Xpatch:${build.classes.dir}" if:set="modules"/>
254 : jsr166 1.118 <jvmarg line="@{jvmflags}"/>
255 : jsr166 1.160
256 : jsr166 1.174 <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
257 : jsr166 1.183 <syspropertyset id="system-properties-used-by-tck">
258 : jsr166 1.160 <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
259 : jsr166 1.184 <propertyref prefix="jsr166."/>
260 : jsr166 1.197 <propertyref name="test.timeout.factor"/>
261 : jsr166 1.160 </syspropertyset>
262 :    
263 : jsr166 1.118 <classpath>
264 :     <pathelement location="${junit.jar}"/>
265 :     <pathelement location="@{workdir}/tck-classes"/>
266 :     </classpath>
267 :     </java>
268 :    
269 :     </sequential>
270 :     </macrodef>
271 :    
272 : jsr166 1.165 <!-- Define jtreg test sets for different jdk versions -->
273 : jsr166 1.173 <fileset dir="${jtreg9.src.dir}">
274 : jsr166 1.165 <patternset id="jdk9.jtreg.tests">
275 :     <include name="**/*.java"/>
276 :     </patternset>
277 :     </fileset>
278 :    
279 : jsr166 1.173 <fileset dir="${jtreg8.src.dir}">
280 : jsr166 1.165 <patternset id="jdk8.jtreg.tests">
281 :     <include name="**/*.java"/>
282 : jsr166 1.173 <exclude name="**/SpliteratorCharacteristics.java"/>
283 : jsr166 1.168 <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->
284 : jsr166 1.173 <exclude name="**/GCDuringIteration.java"/>
285 : jsr166 1.165 </patternset>
286 :     </fileset>
287 :    
288 : jsr166 1.173 <fileset dir="${jtreg7.src.dir}">
289 : jsr166 1.165 <patternset id="jdk7.jtreg.tests">
290 :     <include name="**/*.java"/>
291 :     </patternset>
292 :     </fileset>
293 :    
294 : jsr166 1.195 <!-- ant -Djtreg.flags=-timeoutFactor:4 -->
295 :     <property name="jtreg.flags" value=""/>
296 :    
297 : jsr166 1.135 <macrodef name="run-jtreg-tests">
298 : jsr166 1.174 <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
299 : jsr166 1.135 <attribute name="source" default="7"/>
300 :     <attribute name="target"/>
301 :     <attribute name="workdir"/>
302 :     <attribute name="classes"/>
303 :     <attribute name="jtregflags" default=""/>
304 : jsr166 1.182
305 : jsr166 1.135 <sequential>
306 : jsr166 1.182
307 : jsr166 1.188 <!-- ant -Djtreg.verbose=time,fail,error jtreg -->
308 :     <property name="jtreg.verbose" value="nopass,fail,error"/>
309 :    
310 : jsr166 1.182 <local name="modules"/>
311 :     <condition property="modules">
312 :     <available file="${jdk@{target}.home}/jmods" type="dir"/>
313 :     </condition>
314 :    
315 : jsr166 1.135 <delete dir="@{workdir}/JTwork" quiet="true"/>
316 :     <delete dir="@{workdir}/JTreport" quiet="true"/>
317 :     <mkdir dir="@{workdir}/JTwork/scratch"/>
318 : jsr166 1.193 <!-- workaround for https://bugs.openjdk.java.net/browse/CODETOOLS-7901571 -->
319 :     <mkdir dir="@{workdir}/JTreport/html"/>
320 :     <mkdir dir="@{workdir}/JTreport/text"/>
321 : jsr166 1.173 <jtreg dir="${jtreg@{target}.src.dir}"
322 : jsr166 1.135 jdk="${jdk@{target}.home}"
323 :     workDir="@{workdir}/JTwork"
324 :     reportDir="@{workdir}/JTreport">
325 : jsr166 1.165 <patternset refid="jdk@{target}.jtreg.tests"/>
326 : jsr166 1.182 <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
327 : jsr166 1.196 <arg value="-Xpatch:${build.classes.dir}" if:set="modules"/>
328 : jsr166 1.135 <arg value="-agentvm"/>
329 : jsr166 1.188 <arg value="-verbose:${jtreg.verbose}"/>
330 : jsr166 1.135 <arg value="-vmoptions:-esa -ea"/>
331 :     <arg value="-automatic"/>
332 :     <arg value="-k:!ignore"/>
333 :     <arg line="@{jtregflags}"/>
334 : jsr166 1.195 <arg line="${jtreg.flags}"/>
335 : jsr166 1.135 </jtreg>
336 :     </sequential>
337 :     </macrodef>
338 :    
339 : jsr166 1.65 <!-- ALoops classpath -->
340 :     <path id="loops.classpath">
341 :     <pathelement location="${build.loops.dir}"/>
342 :     </path>
343 :    
344 : jsr166 1.100 <!-- Support @jls tag, used in jdk8+ javadoc -->
345 : jsr166 1.120 <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
346 : jsr166 1.100 <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
347 : tim 1.28
348 : tim 1.59 <!-- Main targets -->
349 : tim 1.28
350 : jsr166 1.151 <property name="build.main.java.version" value="9"/>
351 :     <property name="build.main.javac" value="${javac9}"/>
352 :    
353 : dl 1.80 <target name="dists"
354 : jsr166 1.107 depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
355 : dl 1.80 description="Builds all public jars and docs"/>
356 : tim 1.11
357 : tim 1.28 <target name="compile"
358 : jsr166 1.100 depends="configure-compiler"
359 : jsr166 1.102 description="Compiles src/main sources to build dir">
360 : tim 1.27
361 : jsr166 1.182 <local name="modules"/>
362 :     <condition property="modules">
363 :     <and>
364 :     <available file="${jdk9.home}/jmods" type="dir"/>
365 :     <equals arg1="9" arg2="${build.main.java.version}"/>
366 :     </and>
367 :     </condition>
368 :    
369 :     <local name="destdir"/>
370 :     <property name="destdir" value="${build.classes.dir}/java.base" if:set="modules"/>
371 :     <property name="destdir" value="${build.classes.dir}" unless:set="modules"/>
372 :    
373 :     <mkdir dir="${destdir}"/>
374 : tim 1.27
375 : tim 1.60 <javac srcdir="${src.dir}"
376 : jsr166 1.182 destdir="${destdir}"
377 : jsr166 1.100 debug="${build.debug}"
378 :     debuglevel="${build.debuglevel}"
379 :     deprecation="${build.deprecation}"
380 :     classpath=""
381 :     includeAntRuntime="false"
382 :     includeJavaRuntime="false"
383 : jsr166 1.151 executable="${build.main.javac}"
384 : jsr166 1.100 fork="true">
385 : tim 1.1
386 : jsr166 1.68 <include name="**/*.java"/>
387 : jsr166 1.182 <compilerarg value="-Xmodule:java.base" if:set="modules"/>
388 : jsr166 1.133 <compilerarg value="-Xprefer:source"/>
389 : dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
390 : jsr166 1.100 <compilerarg value="-Xlint:all"/>
391 : jsr166 1.164 <compilerarg value="-Werror"/>
392 : jsr166 1.146 <compilerarg value="-Xdoclint:all/protected"/>
393 :     <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
394 : dl 1.73 <compilerarg line="${build.args}"/>
395 : tim 1.1
396 :     </javac>
397 : jsr166 1.194
398 :     <!-- We need jdk9's Contended annotation, but at compile time only -->
399 :     <delete file="${destdir}/jdk/internal/vm/annotation/Contended.class"/>
400 : tim 1.1 </target>
401 :    
402 :    
403 : tim 1.28 <target name="jar"
404 : tim 1.59 depends="compile"
405 :     description="Builds library jar from compiled sources">
406 :    
407 :     <jar destfile="${product.jar}">
408 :     <fileset dir="${build.classes.dir}"/>
409 : jsr166 1.178 <manifest>
410 : jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
411 :     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
412 : jsr166 1.178 </manifest>
413 : tim 1.59 </jar>
414 :     </target>
415 :    
416 : tim 1.1
417 : tim 1.59 <target name="docs"
418 : jsr166 1.102 description="Builds javadocs for src/main to dist dir">
419 : tim 1.59
420 : jsr166 1.127 <delete dir="${docs.dir}"/>
421 :     <mkdir dir="${docs.dir}"/>
422 : tim 1.59
423 : jsr166 1.88 <!-- the packagenames="none" hack below prevents scanning the -->
424 :     <!-- sourcepath for packages -->
425 :    
426 : jsr166 1.127 <javadoc destdir="${docs.dir}"
427 : jsr166 1.88 packagenames="none"
428 : jsr166 1.152 link="${java9.api.url}"
429 : jsr166 1.88 overview="${src.dir}/intro.html"
430 : jsr166 1.130 access="${build.javadoc.access}"
431 : jsr166 1.199 sourcepath="${src.dir}:${jdk9.src.dir}"
432 : jsr166 1.100 classpath=""
433 : jsr166 1.151 executable="${javadoc9}">
434 : jsr166 1.119 <fileset dir="${src.dir}" defaultexcludes="yes">
435 :     <include name="**/*.java"/>
436 :     </fileset>
437 : jsr166 1.152 <arg line="-Xdocrootparent ${java9.docroot.url}"/>
438 : jsr166 1.146 <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
439 : jsr166 1.100 <arg value="-XDignore.symbol.file=true"/>
440 : jsr166 1.182 <!-- TODO <arg value="-Xmodule:java.base"/> -->
441 : jsr166 1.100 <arg value="-tag"/>
442 :     <arg value="${javadoc.jls.option}"/>
443 : dl 1.143 <arg value="-tag"/>
444 :     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
445 :     <arg value="-tag"/>
446 :     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
447 :     <arg value="-tag"/>
448 : jsr166 1.144 <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
449 : jsr166 1.198 <!-- tags added in jdk9 -->
450 :     <arg value="-tag"/>
451 :     <arg value="revised:X"/>
452 :     <arg value="-tag"/>
453 :     <arg value="spec:X"/>
454 : tim 1.59 </javadoc>
455 :     </target>
456 :    
457 :    
458 : tim 1.28 <target name="dist"
459 : jsr166 1.125 depends="dist-clean, dist-jar, dist-docs"
460 : tim 1.16 description="Puts all distributable products in single hierarchy"/>
461 : tim 1.1
462 : tim 1.58
463 : tim 1.42 <target name="release"
464 :     depends="dist"
465 :     description="Puts entire CVS tree, plus distribution productions, in a jar">
466 :    
467 :     <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
468 :    
469 :     <jar basedir="${basedir}" destfile="${release.jar}">
470 : tim 1.58 <!-- <exclude name="build/**"/> -->
471 : tim 1.42 <exclude name="${release.jar}"/>
472 :     <exclude name="user.properties"/>
473 :     <exclude name="etc/notes/**"/>
474 : tim 1.58 <exclude name="src/emulation/**"/>
475 : tim 1.44 <exclude name="**/SyntaxTest.java"/>
476 : tim 1.58 <exclude name="**/SuperfluousAbstract.java"/>
477 : jsr166 1.178 <manifest>
478 : jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
479 :     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
480 : jsr166 1.178 </manifest>
481 : tim 1.42 </jar>
482 :     </target>
483 : tim 1.1
484 : tim 1.59
485 : tim 1.11 <target name="clean"
486 :     description="Removes all build products">
487 : tim 1.27
488 : tim 1.11 <delete dir="${build.dir}"/>
489 : tim 1.27
490 : tim 1.1 </target>
491 :    
492 :    
493 : tim 1.11 <target name="dist-clean"
494 :     description="Removes all build and distribution products">
495 : tim 1.27
496 : jsr166 1.148 <delete dir="${build.dir}"/>
497 : tim 1.11 <delete dir="${dist.dir}"/>
498 : tim 1.27
499 : tim 1.9 </target>
500 : tim 1.10
501 :    
502 : tim 1.28 <target name="dist-jar"
503 :     depends="clean, jar">
504 : tim 1.11 <copy file="${product.jar}" todir="${dist.dir}"/>
505 : jsr166 1.125 </target>
506 : tim 1.27
507 : jsr166 1.125 <target name="dist-docs"
508 :     depends="clean, docs">
509 : jsr166 1.127 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
510 : tim 1.11 </target>
511 :    
512 : jsr166 1.174 <target name="tck"
513 : jsr166 1.131 depends="jar"
514 :     description="Runs tck tests for main directly">
515 :    
516 :     <run-tck-tests
517 : jsr166 1.151 target="${build.main.java.version}"
518 : jsr166 1.131 workdir="${build.dir}"
519 :     classes="${product.jar}"/>
520 :     </target>
521 : tim 1.1
522 : jsr166 1.174 <target name="tck-parallelism-1"
523 :     description="Runs tck with given common pool parallelism">
524 :     <antcall target="tck">
525 : jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
526 :     </antcall>
527 :     </target>
528 :    
529 : jsr166 1.174 <target name="tck-parallelism-0"
530 :     description="Runs tck with given common pool parallelism">
531 :     <antcall target="tck">
532 : jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
533 :     </antcall>
534 :     </target>
535 :    
536 : jsr166 1.174 <target name="jtreg"
537 : jsr166 1.135 depends="jar"
538 :     description="Runs jtreg tests for main using the jtreg ant task">
539 :     <run-jtreg-tests
540 : jsr166 1.151 target="${build.main.java.version}"
541 : jsr166 1.135 workdir="${build.dir}"
542 :     classes="${product.jar}"/>
543 :     </target>
544 :    
545 : jsr166 1.142 <target name="test"
546 : jsr166 1.174 depends="tck, tck-parallelism-1, jtreg"
547 : jsr166 1.135 description="Runs tck and jtreg tests for main">
548 :     </target>
549 :    
550 : jsr166 1.168 <target name="jtreg8" description="Runs jtreg tests with jdk8">
551 :    
552 :     <antcall target="jtreg">
553 :     <param name="build.main.java.version" value="8"/>
554 :     <param name="build.main.javac" value="${javac8}"/>
555 :     </antcall>
556 :    
557 :     </target>
558 :    
559 : jsr166 1.151 <target name="test89"
560 :     description="Runs tck and jtreg tests for main for multiple java versions">
561 :    
562 :     <antcall target="clean"/>
563 :     <antcall target="test">
564 :     <param name="build.main.java.version" value="8"/>
565 :     <param name="build.main.javac" value="${javac8}"/>
566 :     </antcall>
567 :    
568 :     <antcall target="clean"/>
569 :     <antcall target="test">
570 :     <param name="build.main.java.version" value="9"/>
571 :     <param name="build.main.javac" value="${javac9}"/>
572 :     </antcall>
573 :    
574 :     </target>
575 :    
576 : tim 1.18
577 :    
578 : tim 1.32 <target name="configure-compiler">
579 : jsr166 1.180 <fail message="ant version too old">
580 :     <condition>
581 :     <not> <antversion atleast="1.9.1"/> </not>
582 :     </condition>
583 :     </fail>
584 : tim 1.54
585 :     <property name="unchecked.option" value="-Xlint:unchecked"/>
586 :    
587 :     <condition property="warnunchecked.arg" value="${unchecked.option}">
588 : tim 1.57 <istrue value="${build.warnunchecked}"/>
589 : tim 1.32 </condition>
590 :    
591 : tim 1.37 <property name="warnunchecked.arg" value=""/>
592 : tim 1.34
593 : tim 1.32
594 :     <!-- Common options in javac invocations -->
595 : tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
596 : tim 1.33
597 :     </target>
598 :    
599 :    
600 : tim 1.28
601 : jsr166 1.65 <!-- Various demos and test programs -->
602 :    
603 :    
604 : jsr166 1.103 <target name="loops" depends="configure-compiler"
605 : jsr166 1.65 description="Benchmark from Doug Lea's AQS paper">
606 :    
607 :     <mkdir dir="${build.loops.dir}"/>
608 :    
609 :     <javac srcdir="${loops.src.dir}"
610 :     destdir="${build.loops.dir}"
611 :     debug="${build.debug}"
612 :     debuglevel="${build.debuglevel}"
613 :     deprecation="${build.deprecation}"
614 :     source="${build.sourcelevel}"
615 : jsr166 1.191 target="${build.sourcelevel}"
616 : jsr166 1.65 fork="true">
617 :    
618 :     <compilerarg line="${build.args}"/>
619 :     <classpath refid="loops.classpath"/>
620 : dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
621 : jsr166 1.65
622 :     </javac>
623 :    
624 :     <java classname="ALoops" fork="true">
625 :     <classpath refid="loops.classpath"/>
626 :     </java>
627 :    
628 :     </target>
629 :    
630 :    
631 : jsr166 1.166 <target name="compile-test-loops" depends="jar"
632 :     description="compile all the perf tests in src/test/loops">
633 :    
634 :     <mkdir dir="${build.dir}/test/loops"/>
635 :    
636 :     <javac srcdir="${basedir}/src/test/loops"
637 :     destdir="${build.dir}/test/loops"
638 :     debug="${build.debug}"
639 :     debuglevel="${build.debuglevel}"
640 :     deprecation="${build.deprecation}"
641 :     includeAntRuntime="false"
642 :     includeJavaRuntime="false"
643 :     executable="${javac9}"
644 :     fork="true">
645 :    
646 :     <include name="*.java"/>
647 :     <compilerarg value="-XDignore.symbol.file=true"/>
648 : jsr166 1.167 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
649 : jsr166 1.166 <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
650 :     <compilerarg line="${build.args}"/>
651 :    
652 :     </javac>
653 :    
654 :     </target>
655 :    
656 :    
657 : jsr166 1.99 <!-- jsr166 4jdk7 -->
658 : jsr166 1.92
659 : jsr166 1.99 <target name="4jdk7compile"
660 : jsr166 1.92 depends="configure-compiler"
661 : jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
662 : jsr166 1.92
663 : jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
664 : jsr166 1.92
665 : jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
666 :     destdir="${build.4jdk7.classes.dir}"
667 : jsr166 1.92 debug="${build.debug}"
668 :     debuglevel="${build.debuglevel}"
669 :     deprecation="${build.deprecation}"
670 : jsr166 1.107 source="6"
671 : jsr166 1.190 target="6"
672 : jsr166 1.92 classpath=""
673 : jsr166 1.119 bootclasspath="${bootclasspath6}"
674 : jsr166 1.92 includeAntRuntime="false"
675 :     includeJavaRuntime="false"
676 : jsr166 1.97 executable="${javac7}"
677 : jsr166 1.92 fork="true">
678 :    
679 :     <include name="**/*.java"/>
680 : jsr166 1.133 <compilerarg value="-Xprefer:source"/>
681 : jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
682 :     <compilerarg value="-Xlint:all"/>
683 : jsr166 1.164 <compilerarg value="-Werror"/>
684 : jsr166 1.118 <compilerarg line="${build.args}"/>
685 : jsr166 1.92
686 :     </javac>
687 : jsr166 1.118 </target>
688 : jsr166 1.92
689 : jsr166 1.149 <target name="4jdk7doclint"
690 :     depends="configure-compiler"
691 :     description="Finds doclint warnings">
692 :    
693 :     <mkdir dir="${build.4jdk7.classes.dir}"/>
694 :    
695 :     <javac srcdir="${4jdk7src.dir}"
696 :     destdir="${build.4jdk7.classes.dir}"
697 :     debug="${build.debug}"
698 :     debuglevel="${build.debuglevel}"
699 :     deprecation="${build.deprecation}"
700 :     source="6"
701 : jsr166 1.190 target="6"
702 : jsr166 1.149 classpath=""
703 : jsr166 1.190 bootclasspath="${bootclasspath6}"
704 : jsr166 1.149 includeAntRuntime="false"
705 :     includeJavaRuntime="false"
706 :     executable="${javac8}"
707 :     fork="true">
708 :    
709 :     <include name="**/*.java"/>
710 :     <compilerarg value="-Xprefer:source"/>
711 :     <compilerarg value="-XDignore.symbol.file=true"/>
712 :     <compilerarg value="-Xlint:all"/>
713 :     <compilerarg value="-Xdoclint:all/protected"/>
714 :     <compilerarg line="${build.args}"/>
715 :    
716 :     </javac>
717 :     </target>
718 :    
719 : jsr166 1.116
720 : jsr166 1.128 <target name="4jdk7jar"
721 : jsr166 1.116 depends="4jdk7compile"
722 :     description="Builds library jar from compiled sources">
723 :    
724 :     <jar destfile="${4jdk7product.jar}">
725 : jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
726 : jsr166 1.178 <manifest>
727 : jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
728 :     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
729 : jsr166 1.178 </manifest>
730 : jsr166 1.97 </jar>
731 :    
732 : jsr166 1.92 </target>
733 :    
734 :    
735 : jsr166 1.174 <target name="4jdk7-tck"
736 : jsr166 1.128 depends="4jdk7jar"
737 : jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
738 : jsr166 1.116
739 : jsr166 1.97 <run-tck-tests
740 : jsr166 1.116 target="7"
741 :     workdir="${build.4jdk7.dir}"
742 : jsr166 1.132 classes="${4jdk7product.jar}">
743 :     <javac-elements>
744 : jsr166 1.134 <!-- JDK8+ test classes -->
745 : jsr166 1.137 <exclude name="*8Test.java"/>
746 : jsr166 1.151 <exclude name="*9Test.java"/>
747 : jsr166 1.176 <exclude name="*10Test.java"/>
748 : jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
749 :     <exclude name="DoubleAdderTest.java"/>
750 :     <exclude name="LongAccumulatorTest.java"/>
751 :     <exclude name="LongAdderTest.java"/>
752 : jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
753 : jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
754 : jsr166 1.132 <exclude name="StampedLockTest.java"/>
755 : jsr166 1.176 <exclude name="SubmissionPublisherTest.java"/>
756 : jsr166 1.132 </javac-elements>
757 :     </run-tck-tests>
758 : jsr166 1.97 </target>
759 :    
760 :    
761 : jsr166 1.174 <target name="4jdk7-tck-junit"
762 : jsr166 1.99 depends="4jdk7compile"
763 :     description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
764 : jsr166 1.97
765 :     <junit printsummary="true"
766 :     showoutput="true"
767 :     errorProperty="junit.failed"
768 :     failureProperty="junit.failed"
769 :     includeantruntime="true"
770 :     jvm="${java7}"
771 :     fork="true">
772 :    
773 : jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
774 : jsr166 1.97 <jvmarg value="-server"/>
775 : jsr166 1.92
776 : jsr166 1.97 <classpath>
777 :     <pathelement location="${junit.jar}"/>
778 : jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
779 : jsr166 1.97 </classpath>
780 : jsr166 1.92
781 : jsr166 1.97 <formatter type="brief"/>
782 : jsr166 1.92
783 : jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
784 : jsr166 1.97 </test>
785 : jsr166 1.92
786 : jsr166 1.97 </junit>
787 : jsr166 1.92 </target>
788 :    
789 : jsr166 1.174 <target name="4jdk7-jtreg"
790 : jsr166 1.135 depends="4jdk7jar"
791 : jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
792 : jsr166 1.135 <run-jtreg-tests
793 :     target="7"
794 :     workdir="${build.4jdk7.dir}"
795 : jsr166 1.165 classes="${4jdk7product.jar}"/>
796 : jsr166 1.115 </target>
797 :    
798 :    
799 :     <target name="4jdk7-test"
800 : jsr166 1.174 depends="4jdk7-tck, 4jdk7-jtreg"
801 : jsr166 1.115 description="Runs tck and jtreg tests for jsr166-4jdk7">
802 :     </target>
803 :    
804 : jsr166 1.92
805 : jsr166 1.99 <target name="4jdk7docs"
806 : jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
807 : jsr166 1.92
808 : jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
809 :     <mkdir dir="${4jdk7docs.dir}"/>
810 : jsr166 1.92
811 : jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
812 : jsr166 1.92 packagenames="none"
813 : jsr166 1.152 link="${java7.api.url}"
814 : jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
815 : jsr166 1.130 access="${build.javadoc.access}"
816 : jsr166 1.199 sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
817 : jsr166 1.92 classpath=""
818 : jsr166 1.99 executable="${javadoc7}">
819 :     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
820 : jsr166 1.92 <include name="**/*.java"/>
821 :     </fileset>
822 : jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
823 : jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
824 : jsr166 1.92 </javadoc>
825 :     </target>
826 :    
827 :    
828 : jsr166 1.99 <target name="4jdk7dist"
829 : jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
830 : jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
831 :    
832 :    
833 : jsr166 1.99 <target name="4jdk7clean"
834 : jsr166 1.109 description="Removes all 4jdk7 build products">
835 : jsr166 1.92
836 : jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
837 : jsr166 1.92
838 :     </target>
839 :    
840 :    
841 : jsr166 1.99 <target name="4jdk7dist-jar"
842 : jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
843 : jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
844 :     </target>
845 : jsr166 1.92
846 :    
847 : jsr166 1.125 <target name="4jdk7dist-docs"
848 :     depends="4jdk7clean, 4jdk7docs">
849 : jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
850 : jsr166 1.92 </target>
851 :    
852 : jsr166 1.109
853 : dl 1.70 <!-- jsr166x -->
854 :    
855 :     <target name="jsr166xcompile"
856 : jsr166 1.103 depends="configure-compiler"
857 : jsr166 1.105 description="Compiles jsr166x sources to build dir">
858 : dl 1.70
859 : jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
860 : dl 1.70
861 : jsr166 1.105 <javac srcdir="${topsrc.dir}"
862 : jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
863 : jsr166 1.105 debug="${build.debug}"
864 :     debuglevel="${build.debuglevel}"
865 :     deprecation="${build.deprecation}"
866 :     classpath=""
867 : jsr166 1.119 bootclasspath="${bootclasspath6}"
868 : jsr166 1.107 source="5"
869 : jsr166 1.190 target="5"
870 : jsr166 1.105 includeAntRuntime="false"
871 :     includeJavaRuntime="false"
872 :     executable="${javac7}"
873 :     fork="true">
874 : dl 1.70
875 : jsr166 1.105 <include name="jsr166x/**/*.java"/>
876 : dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
877 : jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
878 : jsr166 1.164 <compilerarg value="-Werror"/>
879 : jsr166 1.118 <compilerarg line="${build.args}"/>
880 : dl 1.70
881 :     </javac>
882 :     </target>
883 :    
884 :    
885 : jsr166 1.128 <target name="jsr166xjar"
886 : dl 1.70 depends="jsr166xcompile"
887 :     description="Builds library jar from compiled sources">
888 :    
889 : jsr166 1.106 <jar destfile="${jsr166x.jar}">
890 : jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
891 : jsr166 1.178 <manifest>
892 : jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
893 :     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
894 : jsr166 1.178 </manifest>
895 : dl 1.70 </jar>
896 :    
897 :     </target>
898 :    
899 :    
900 :     <target name="jsr166xdocs"
901 : jsr166 1.102 description="Builds javadocs to dist dir">
902 : dl 1.70
903 : jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
904 :     <mkdir dir="${jsr166xdocs.dir}"/>
905 : dl 1.70
906 : jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
907 : jsr166 1.107 packagenames="jsr166x.*"
908 : jsr166 1.152 link="${java.api.url}"
909 : jsr166 1.130 access="${build.javadoc.access}"
910 : jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
911 : jsr166 1.119 bootclasspath="${bootclasspath6}"
912 : jsr166 1.107 source="5"
913 : jsr166 1.118 executable="${javadoc7}">
914 : jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
915 : jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
916 : dl 1.70
917 : jsr166 1.118 </javadoc>
918 : dl 1.70 </target>
919 :    
920 :    
921 :     <target name="jsr166xdist"
922 : jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
923 : dl 1.70 description="Puts all distributable products in single hierarchy"/>
924 :    
925 :    
926 :     <target name="jsr166xclean"
927 : jsr166 1.109 description="Removes all jsr166x build products">
928 : dl 1.70
929 :     <delete dir="${build.jsr166x.dir}"/>
930 :    
931 :     </target>
932 :    
933 :    
934 :     <target name="jsr166xdist-jar"
935 : jsr166 1.128 depends="jsr166xclean, jsr166xjar">
936 : jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
937 : jsr166 1.125 </target>
938 : dl 1.70
939 : jsr166 1.125 <target name="jsr166xdist-docs"
940 :     depends="jsr166xclean, jsr166xdocs">
941 : jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
942 : dl 1.70 </target>
943 :    
944 : dl 1.74 <!-- jsr166y -->
945 :    
946 :    
947 :     <target name="jsr166ycompile"
948 : jsr166 1.103 depends="configure-compiler"
949 : dl 1.74 description="Compiles jsr166y sources">
950 :    
951 : jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
952 : dl 1.74
953 : jsr166 1.103 <javac srcdir="${topsrc.dir}"
954 : jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
955 : jsr166 1.103 debug="${build.debug}"
956 :     debuglevel="${build.debuglevel}"
957 :     deprecation="${build.deprecation}"
958 : jsr166 1.107 source="6"
959 : jsr166 1.189 target="6"
960 : jsr166 1.103 classpath=""
961 : jsr166 1.119 bootclasspath="${bootclasspath6}"
962 : jsr166 1.103 includeAntRuntime="false"
963 :     includeJavaRuntime="false"
964 :     executable="${javac7}"
965 :     fork="true">
966 : dl 1.74
967 : jsr166 1.103 <include name="jsr166y/**/*.java"/>
968 : dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
969 : jsr166 1.103 <compilerarg value="-Xlint:all"/>
970 : jsr166 1.164 <compilerarg value="-Werror"/>
971 : jsr166 1.118 <compilerarg line="${build.args}"/>
972 :    
973 : dl 1.74 </javac>
974 :     </target>
975 :    
976 :    
977 : jsr166 1.128 <target name="jsr166yjar"
978 : dl 1.74 depends="jsr166ycompile"
979 :     description="Builds library jar from compiled sources">
980 :    
981 : jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
982 : jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
983 : jsr166 1.178 <manifest>
984 : jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
985 :     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
986 : jsr166 1.178 </manifest>
987 : dl 1.74 </jar>
988 :    
989 :     </target>
990 :    
991 :    
992 :     <target name="jsr166ydocs"
993 : jsr166 1.102 description="Builds javadocs to dist dir">
994 : dl 1.74
995 : jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
996 :     <mkdir dir="${jsr166ydocs.dir}"/>
997 : dl 1.74
998 : jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
999 : jsr166 1.107 packagenames="jsr166y.*"
1000 : jsr166 1.152 link="${java.api.url}"
1001 : jsr166 1.130 access="${build.javadoc.access}"
1002 : jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1003 : jsr166 1.119 bootclasspath="${bootclasspath6}"
1004 : jsr166 1.107 source="6"
1005 : jsr166 1.118 executable="${javadoc7}">
1006 : jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1007 : jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1008 : dl 1.74
1009 : jsr166 1.118 </javadoc>
1010 : dl 1.74 </target>
1011 :    
1012 :    
1013 :     <target name="jsr166ydist"
1014 : jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
1015 : dl 1.74 description="Puts all distributable products in single hierarchy"/>
1016 :    
1017 :    
1018 :     <target name="jsr166yclean"
1019 : jsr166 1.109 description="Removes all jsr166y build products">
1020 : dl 1.74
1021 :     <delete dir="${build.jsr166y.dir}"/>
1022 :    
1023 :     </target>
1024 :    
1025 :    
1026 :     <target name="jsr166ydist-jar"
1027 : jsr166 1.128 depends="jsr166yclean, jsr166yjar">
1028 : jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1029 : jsr166 1.125 </target>
1030 : dl 1.74
1031 : jsr166 1.125 <target name="jsr166ydist-docs"
1032 :     depends="jsr166yclean, jsr166ydocs">
1033 : jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1034 : dl 1.74 </target>
1035 :    
1036 : dl 1.90
1037 : dl 1.76 <!-- extra166y -->
1038 :    
1039 :    
1040 :     <target name="extra166ycompile"
1041 : jsr166 1.128 depends="configure-compiler, jsr166yjar"
1042 : dl 1.76 description="Compiles extra166y sources">
1043 :    
1044 : jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
1045 : dl 1.76
1046 : jsr166 1.103 <javac srcdir="${topsrc.dir}"
1047 : jsr166 1.114 destdir="${build.extra166y.classes.dir}"
1048 : jsr166 1.103 debug="${build.debug}"
1049 :     debuglevel="${build.debuglevel}"
1050 :     deprecation="${build.deprecation}"
1051 : jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1052 : jsr166 1.105 classpath=""
1053 : jsr166 1.107 source="6"
1054 : jsr166 1.190 target="6"
1055 : jsr166 1.103 includeAntRuntime="false"
1056 :     includeJavaRuntime="false"
1057 :     executable="${javac7}"
1058 :     fork="true">
1059 : dl 1.76
1060 : jsr166 1.103 <include name="extra166y/**/*.java"/>
1061 : dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1062 : jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1063 : jsr166 1.164 <compilerarg value="-Werror"/>
1064 : jsr166 1.118 <compilerarg line="${build.args}"/>
1065 : dl 1.76
1066 :     </javac>
1067 :     </target>
1068 :    
1069 :    
1070 : jsr166 1.128 <target name="extra166yjar"
1071 : dl 1.76 depends="extra166ycompile"
1072 :     description="Builds library jar from compiled sources">
1073 :    
1074 : jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
1075 : jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
1076 : jsr166 1.178 <manifest>
1077 : jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1078 :     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1079 : jsr166 1.178 </manifest>
1080 : dl 1.76 </jar>
1081 :    
1082 :     </target>
1083 :    
1084 :    
1085 :     <target name="extra166ydocs"
1086 : jsr166 1.107 description="Builds javadocs to build dir">
1087 : dl 1.76
1088 : jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1089 :     <mkdir dir="${extra166ydocs.dir}"/>
1090 : dl 1.76
1091 : jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1092 : jsr166 1.107 packagenames="extra166y.*"
1093 : jsr166 1.152 link="${java.api.url}"
1094 : jsr166 1.130 access="${build.javadoc.access}"
1095 : jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1096 : jsr166 1.119 bootclasspath="${bootclasspath6}"
1097 : jsr166 1.107 source="6"
1098 : jsr166 1.118 executable="${javadoc7}">
1099 : jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1100 : jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1101 : dl 1.76
1102 : jsr166 1.118 </javadoc>
1103 : dl 1.76 </target>
1104 :    
1105 :    
1106 :     <target name="extra166ydist"
1107 : jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1108 : dl 1.76 description="Puts all distributable products in single hierarchy"/>
1109 :    
1110 :    
1111 :     <target name="extra166yclean"
1112 : jsr166 1.109 description="Removes all extra166y build products">
1113 : dl 1.76
1114 :     <delete dir="${build.extra166y.dir}"/>
1115 :    
1116 :     </target>
1117 :    
1118 :    
1119 :     <target name="extra166ydist-jar"
1120 : jsr166 1.128 depends="extra166yclean, extra166yjar">
1121 : jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1122 : jsr166 1.125 </target>
1123 : dl 1.76
1124 : jsr166 1.125 <target name="extra166ydist-docs"
1125 :     depends="extra166yclean, extra166ydocs">
1126 : jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1127 : dl 1.76 </target>
1128 :    
1129 : dl 1.90 <!-- jsr166e -->
1130 :    
1131 : jsr166 1.144 <property name="build.jsr166e.java.version" value="6"/>
1132 :     <property name="build.jsr166e.javac" value="${javac6}"/>
1133 :    
1134 : dl 1.90 <target name="jsr166ecompile"
1135 : jsr166 1.94 depends="configure-compiler"
1136 : dl 1.90 description="Compiles jsr166e sources">
1137 :    
1138 : jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1139 : dl 1.90
1140 : jsr166 1.95 <javac srcdir="${topsrc.dir}"
1141 : jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1142 : jsr166 1.94 debug="${build.debug}"
1143 :     debuglevel="${build.debuglevel}"
1144 :     deprecation="${build.deprecation}"
1145 : jsr166 1.144 source="${build.jsr166e.java.version}"
1146 : jsr166 1.190 target="${build.jsr166e.java.version}"
1147 : jsr166 1.94 classpath=""
1148 :     includeAntRuntime="false"
1149 :     includeJavaRuntime="false"
1150 : jsr166 1.144 executable="${build.jsr166e.javac}"
1151 : jsr166 1.94 fork="true">
1152 : dl 1.90
1153 : jsr166 1.95 <include name="jsr166e/**/*.java"/>
1154 : dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1155 : jsr166 1.94 <compilerarg value="-Xlint:all"/>
1156 : jsr166 1.164 <compilerarg value="-Werror"/>
1157 : jsr166 1.118 <compilerarg line="${build.args}"/>
1158 : dl 1.90
1159 :     </javac>
1160 :     </target>
1161 :    
1162 : jsr166 1.150 <!-- jsr166e: find doclint errors -->
1163 :     <target name="jsr166edoclint">
1164 :    
1165 :     <mkdir dir="${build.jsr166e.classes.dir}"/>
1166 :    
1167 :     <javac srcdir="${topsrc.dir}"
1168 :     destdir="${build.jsr166e.classes.dir}"
1169 :     debug="${build.debug}"
1170 :     debuglevel="${build.debuglevel}"
1171 :     deprecation="${build.deprecation}"
1172 :     source="${build.jsr166e.java.version}"
1173 : jsr166 1.190 target="${build.jsr166e.java.version}"
1174 : jsr166 1.150 classpath=""
1175 : jsr166 1.190 bootclasspath="${bootclasspath6}"
1176 : jsr166 1.150 includeAntRuntime="false"
1177 :     includeJavaRuntime="false"
1178 :     executable="${javac8}"
1179 :     fork="true">
1180 :    
1181 :     <include name="jsr166e/**/*.java"/>
1182 :     <compilerarg value="-XDignore.symbol.file=true"/>
1183 :     <compilerarg value="-Xlint:all"/>
1184 : jsr166 1.164 <compilerarg value="-Werror"/>
1185 : jsr166 1.150 <compilerarg value="-Xdoclint:all/protected"/>
1186 :    
1187 :     </javac>
1188 :     </target>
1189 :    
1190 : dl 1.90
1191 : jsr166 1.128 <target name="jsr166ejar"
1192 : dl 1.90 depends="jsr166ecompile"
1193 :     description="Builds library jar from compiled sources">
1194 :    
1195 : jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1196 : jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1197 : jsr166 1.178 <manifest>
1198 : jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1199 :     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1200 : jsr166 1.178 </manifest>
1201 : dl 1.90 </jar>
1202 :    
1203 :     </target>
1204 :    
1205 :    
1206 :     <target name="jsr166edocs"
1207 : jsr166 1.107 description="Builds javadocs to build dir">
1208 : dl 1.90
1209 : jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1210 :     <mkdir dir="${jsr166edocs.dir}"/>
1211 : dl 1.90
1212 : jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1213 : jsr166 1.107 packagenames="jsr166e.*"
1214 : jsr166 1.152 link="${java.api.url}"
1215 : jsr166 1.130 access="${build.javadoc.access}"
1216 : jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1217 : jsr166 1.144 source="${build.jsr166e.java.version}"
1218 : jsr166 1.118 executable="${javadoc7}">
1219 : jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1220 : jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1221 :    
1222 : jsr166 1.96 </javadoc>
1223 : dl 1.90 </target>
1224 :    
1225 :    
1226 : jsr166 1.174 <target name="jsr166e-tck-one-java-version"
1227 : jsr166 1.148 depends="jsr166ejar">
1228 : jsr166 1.122
1229 : jsr166 1.144 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1230 :    
1231 : jsr166 1.122 <run-tck-tests
1232 :     tck.src.dir="${test.src.dir}/tck-jsr166e"
1233 : jsr166 1.144 target="${build.jsr166e.java.version}"
1234 : jsr166 1.122 workdir="${build.jsr166e.dir}"
1235 :     classes="${jsr166e.jar}"/>
1236 :     </target>
1237 :    
1238 : jsr166 1.174 <target name="jsr166e-tck"
1239 : jsr166 1.144 description="Runs tck tests for jsr166e for multiple java versions">
1240 :    
1241 :     <!-- <antcall target="clean"/> -->
1242 : jsr166 1.174 <!-- <antcall target="jsr166e-tck-one-java-version"> -->
1243 : jsr166 1.144 <!-- <param name="build.jsr166e.java.version" value="8"/> -->
1244 :     <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
1245 :     <!-- </antcall> -->
1246 :    
1247 :     <antcall target="clean"/>
1248 : jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1249 : jsr166 1.144 <param name="build.jsr166e.java.version" value="7"/>
1250 :     <param name="build.jsr166e.javac" value="${javac7}"/>
1251 :     </antcall>
1252 :    
1253 :     <antcall target="clean"/>
1254 : jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1255 : jsr166 1.144 <param name="build.jsr166e.java.version" value="6"/>
1256 :     <param name="build.jsr166e.javac" value="${javac6}"/>
1257 :     </antcall>
1258 :     </target>
1259 :    
1260 : jsr166 1.122
1261 : jsr166 1.147 <target name="jsr166e-test"
1262 : jsr166 1.174 depends="jsr166e-tck"
1263 : jsr166 1.147 description="Runs all tests for jsr166e">
1264 :     </target>
1265 :    
1266 : dl 1.90 <target name="jsr166edist"
1267 : jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1268 : dl 1.90 description="Puts all distributable products in single hierarchy"/>
1269 :    
1270 :    
1271 :     <target name="jsr166eclean"
1272 : jsr166 1.109 description="Removes all jsr166e build products">
1273 : dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1274 :     </target>
1275 :    
1276 :    
1277 :     <target name="jsr166edist-jar"
1278 : jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1279 : jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1280 : jsr166 1.125 </target>
1281 : dl 1.90
1282 : jsr166 1.125 <target name="jsr166edist-docs"
1283 :     depends="jsr166eclean, jsr166edocs">
1284 : jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1285 : dl 1.90 </target>
1286 :    
1287 : jsr166 1.130
1288 :     <!-- Find buglets that can be detected by static build tools -->
1289 :    
1290 :     <target name="lint">
1291 :     <antcall target="dists">
1292 : jsr166 1.161 <param name="build.javadoc.access" value="public"/>
1293 :     </antcall>
1294 :     </target>
1295 :    
1296 :     <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1297 :     <target name="lint-private">
1298 :     <antcall target="dist">
1299 : jsr166 1.130 <param name="build.javadoc.access" value="private"/>
1300 :     </antcall>
1301 :     </target>
1302 :    
1303 :    
1304 : tim 1.1 </project>

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8