ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.199
Committed: Fri Mar 25 03:36:15 2016 UTC (8 years, 1 month ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.198: +16 -15 lines
Log Message:
fix up properties for source forest locations

File Contents

# Content
1 <project name="jsr166" default="usage"
2 xmlns:if="ant:if" xmlns:unless="ant:unless">
3
4 <description>
5 ------------------------------------------------------------------------------
6 Build file for JSR-166
7
8 Usage: ant [target]
9
10 User-specific settings are read from user.properties.
11 See user.properties.sample for an explanation of some useful settings.
12
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 $HOME/jdk/jdk9
21 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 $HOME/jdk/src/jdk9
26 where each of the above is a complete JDK source tree
27 (e.g. mercurial forest) or a symlink to same.
28
29 Alternatively, define ant variables thus:
30 ant -Djdk$N.home=... -Djdk$N.src.home=...
31 for $N in 6 7 8 9 ...
32
33 As of 2015-09, there is incomplete hacky support for jigsaw
34 Build for jigsaw using something like:
35 ant -Djdk9.home="$HOME/jdk/jigsaw" -Djdk9.src.home="$HOME/jdk/src/jigsaw" clean test dist
36 "docs" target is still broken.
37 ------------------------------------------------------------------------------
38 </description>
39
40 <!-- Display main targets by running 'ant -projecthelp' -->
41 <target name="usage">
42 <java classname="org.apache.tools.ant.Main">
43 <arg value="-projecthelp" />
44 </java>
45 </target>
46
47 <!-- HOWTO printf debug: <echo message="prop=${prop}"/> -->
48
49 <!-- User-specific settings -->
50 <property file="user.properties"/>
51
52
53 <!-- Compilation options -->
54 <property name="build.sourcelevel" value="6"/>
55 <property name="build.debug" value="true"/>
56 <property name="build.debuglevel" value="source,lines,vars"/>
57 <property name="build.deprecation" value="false"/>
58 <property name="build.javadoc.access" value="protected"/>
59
60 <!-- Build locations -->
61 <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
67 <property name="build.4jdk7.dir" location="${build.dir}/jsr166-4jdk7"/>
68 <property name="build.4jdk7.classes.dir" location="${build.4jdk7.dir}/classes"/>
69 <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
70 <property name="build.4jdk7.docs.dir" location="${build.4jdk7.dir}/docs"/>
71
72 <property name="build.jsr166x.dir" location="${build.dir}/jsr166x"/>
73 <property name="build.jsr166y.dir" location="${build.dir}/jsr166y"/>
74 <property name="build.jsr166e.dir" location="${build.dir}/jsr166e"/>
75 <property name="build.extra166y.dir" location="${build.dir}/extra166y"/>
76
77 <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
82 <!-- JDK locations -->
83 <property name="jdks.home" location="${user.home}/jdk"/>
84
85 <macrodef name="defjdklocations">
86 <attribute name="v"/>
87 <sequential>
88 <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 <local name="have.java.base"/>
94 <available property="have.java.base"
95 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 if:set="have.java.base"/>
98 <property name="jdk@{v}.src.dir" location="${jdk@{v}.src.home}/jdk/src/share/classes"
99 unless:set="have.java.base"/>
100 <local name="modules"/>
101 <available property="modules" file="${jdk@{v}.home}/jmods" type="dir"/>
102 <local name="boot.jar.dir"/>
103 <property name="boot.jar.dir" location="${jdk@{v}.home}/jre/lib" unless:set="modules"/>
104 <path id="bootclasspath@{v}" unless:set="modules">
105 <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 <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}" unless:set="modules"/>
112 </sequential>
113 </macrodef>
114
115 <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 <defjdklocations v="6"/>
128 <defjdklocations v="7"/>
129 <defjdklocations v="8"/>
130 <defjdklocations v="9"/>
131
132 <!-- Source locations -->
133 <property name="src.dir" location="${basedir}/src/main"/>
134 <property name="test.src.dir" location="${basedir}/src/test"/>
135 <property name="loops.src.dir" location="${basedir}/src/loops"/>
136 <property name="tck.src.dir" location="${test.src.dir}/tck"/>
137 <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 <property name="lib.dir" location="${basedir}/lib"/>
142 <property name="dist.dir" location="${basedir}/dist"/>
143 <property name="topsrc.dir" location="${basedir}/src"/>
144 <property name="4jdk7src.dir" location="${topsrc.dir}/jdk7"/>
145 <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
150 <!-- Javadoc locations -->
151 <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
165 <!-- Jar locations -->
166 <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 <property name="junit.jar" location="${lib.dir}/junit.jar"/>
173
174 <!-- 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 <property name="java8.docroot.url" value="http://docs.oracle.com/javase/8/docs"/>
179 <!-- The expected canonical location does not yet exist as of 2015-11 -->
180 <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
181 <property name="java9.docroot.url" value="http://download.java.net/jdk9/docs"/>
182 <!-- Default jdk doc location (latest stable release seems best) -->
183 <property name="java.docroot.url" value="${java8.docroot.url}"/>
184
185 <!-- 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
193 <!-- 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 <!-- 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 <macrodef name="run-tck-tests">
208 <attribute name="tck.src.dir" default="${tck.src.dir}"/>
209 <attribute name="target"/>
210 <attribute name="compile-target" default="@{target}"/>
211 <attribute name="workdir"/>
212 <attribute name="classes"/>
213 <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
214 <element name="javac-elements" optional="true"/>
215
216 <sequential>
217
218 <local name="modules"/>
219 <condition property="modules">
220 <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>
221 </condition>
222
223 <mkdir dir="@{workdir}/tck-classes"/>
224
225 <javac srcdir="@{tck.src.dir}"
226 destdir="@{workdir}/tck-classes"
227 debug="${build.debug}"
228 debuglevel="${build.debuglevel}"
229 deprecation="${build.deprecation}"
230 source="@{compile-target}"
231 target="@{compile-target}"
232 classpath="${junit.jar}"
233 includeAntRuntime="false"
234 includeJavaRuntime="false"
235 executable="${javac@{compile-target}}"
236 fork="true">
237
238 <include name="*.java"/>
239 <compilerarg value="-XDignore.symbol.file=true"/>
240 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>
241 <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
242 <compilerarg value="-Xpatch:${build.classes.dir}" if:set="modules"/>
243 <compilerarg line="${build.args}"/>
244 <javac-elements/>
245
246 </javac>
247
248 <java classname="${jsr166.tckTestClass}"
249 failonerror="true"
250 jvm="${java@{target}}"
251 fork="true">
252 <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
253 <jvmarg value="-Xpatch:${build.classes.dir}" if:set="modules"/>
254 <jvmarg line="@{jvmflags}"/>
255
256 <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
257 <syspropertyset id="system-properties-used-by-tck">
258 <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
259 <propertyref prefix="jsr166."/>
260 <propertyref name="test.timeout.factor"/>
261 </syspropertyset>
262
263 <classpath>
264 <pathelement location="${junit.jar}"/>
265 <pathelement location="@{workdir}/tck-classes"/>
266 </classpath>
267 </java>
268
269 </sequential>
270 </macrodef>
271
272 <!-- Define jtreg test sets for different jdk versions -->
273 <fileset dir="${jtreg9.src.dir}">
274 <patternset id="jdk9.jtreg.tests">
275 <include name="**/*.java"/>
276 </patternset>
277 </fileset>
278
279 <fileset dir="${jtreg8.src.dir}">
280 <patternset id="jdk8.jtreg.tests">
281 <include name="**/*.java"/>
282 <exclude name="**/SpliteratorCharacteristics.java"/>
283 <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->
284 <exclude name="**/GCDuringIteration.java"/>
285 </patternset>
286 </fileset>
287
288 <fileset dir="${jtreg7.src.dir}">
289 <patternset id="jdk7.jtreg.tests">
290 <include name="**/*.java"/>
291 </patternset>
292 </fileset>
293
294 <!-- ant -Djtreg.flags=-timeoutFactor:4 -->
295 <property name="jtreg.flags" value=""/>
296
297 <macrodef name="run-jtreg-tests">
298 <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
299 <attribute name="source" default="7"/>
300 <attribute name="target"/>
301 <attribute name="workdir"/>
302 <attribute name="classes"/>
303 <attribute name="jtregflags" default=""/>
304
305 <sequential>
306
307 <!-- ant -Djtreg.verbose=time,fail,error jtreg -->
308 <property name="jtreg.verbose" value="nopass,fail,error"/>
309
310 <local name="modules"/>
311 <condition property="modules">
312 <available file="${jdk@{target}.home}/jmods" type="dir"/>
313 </condition>
314
315 <delete dir="@{workdir}/JTwork" quiet="true"/>
316 <delete dir="@{workdir}/JTreport" quiet="true"/>
317 <mkdir dir="@{workdir}/JTwork/scratch"/>
318 <!-- workaround for https://bugs.openjdk.java.net/browse/CODETOOLS-7901571 -->
319 <mkdir dir="@{workdir}/JTreport/html"/>
320 <mkdir dir="@{workdir}/JTreport/text"/>
321 <jtreg dir="${jtreg@{target}.src.dir}"
322 jdk="${jdk@{target}.home}"
323 workDir="@{workdir}/JTwork"
324 reportDir="@{workdir}/JTreport">
325 <patternset refid="jdk@{target}.jtreg.tests"/>
326 <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
327 <arg value="-Xpatch:${build.classes.dir}" if:set="modules"/>
328 <arg value="-agentvm"/>
329 <arg value="-verbose:${jtreg.verbose}"/>
330 <arg value="-vmoptions:-esa -ea"/>
331 <arg value="-automatic"/>
332 <arg value="-k:!ignore"/>
333 <arg line="@{jtregflags}"/>
334 <arg line="${jtreg.flags}"/>
335 </jtreg>
336 </sequential>
337 </macrodef>
338
339 <!-- ALoops classpath -->
340 <path id="loops.classpath">
341 <pathelement location="${build.loops.dir}"/>
342 </path>
343
344 <!-- Support @jls tag, used in jdk8+ javadoc -->
345 <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
346 <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
347
348 <!-- Main targets -->
349
350 <property name="build.main.java.version" value="9"/>
351 <property name="build.main.javac" value="${javac9}"/>
352
353 <target name="dists"
354 depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
355 description="Builds all public jars and docs"/>
356
357 <target name="compile"
358 depends="configure-compiler"
359 description="Compiles src/main sources to build dir">
360
361 <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
375 <javac srcdir="${src.dir}"
376 destdir="${destdir}"
377 debug="${build.debug}"
378 debuglevel="${build.debuglevel}"
379 deprecation="${build.deprecation}"
380 classpath=""
381 includeAntRuntime="false"
382 includeJavaRuntime="false"
383 executable="${build.main.javac}"
384 fork="true">
385
386 <include name="**/*.java"/>
387 <compilerarg value="-Xmodule:java.base" if:set="modules"/>
388 <compilerarg value="-Xprefer:source"/>
389 <compilerarg value="-XDignore.symbol.file=true"/>
390 <compilerarg value="-Xlint:all"/>
391 <compilerarg value="-Werror"/>
392 <compilerarg value="-Xdoclint:all/protected"/>
393 <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
394 <compilerarg line="${build.args}"/>
395
396 </javac>
397
398 <!-- We need jdk9's Contended annotation, but at compile time only -->
399 <delete file="${destdir}/jdk/internal/vm/annotation/Contended.class"/>
400 </target>
401
402
403 <target name="jar"
404 depends="compile"
405 description="Builds library jar from compiled sources">
406
407 <jar destfile="${product.jar}">
408 <fileset dir="${build.classes.dir}"/>
409 <manifest>
410 <attribute name="Built-By" value="${user.name}"/>
411 <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
412 </manifest>
413 </jar>
414 </target>
415
416
417 <target name="docs"
418 description="Builds javadocs for src/main to dist dir">
419
420 <delete dir="${docs.dir}"/>
421 <mkdir dir="${docs.dir}"/>
422
423 <!-- the packagenames="none" hack below prevents scanning the -->
424 <!-- sourcepath for packages -->
425
426 <javadoc destdir="${docs.dir}"
427 packagenames="none"
428 link="${java9.api.url}"
429 overview="${src.dir}/intro.html"
430 access="${build.javadoc.access}"
431 sourcepath="${src.dir}:${jdk9.src.dir}"
432 classpath=""
433 executable="${javadoc9}">
434 <fileset dir="${src.dir}" defaultexcludes="yes">
435 <include name="**/*.java"/>
436 </fileset>
437 <arg line="-Xdocrootparent ${java9.docroot.url}"/>
438 <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
439 <arg value="-XDignore.symbol.file=true"/>
440 <!-- TODO <arg value="-Xmodule:java.base"/> -->
441 <arg value="-tag"/>
442 <arg value="${javadoc.jls.option}"/>
443 <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 <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
449 <!-- tags added in jdk9 -->
450 <arg value="-tag"/>
451 <arg value="revised:X"/>
452 <arg value="-tag"/>
453 <arg value="spec:X"/>
454 </javadoc>
455 </target>
456
457
458 <target name="dist"
459 depends="dist-clean, dist-jar, dist-docs"
460 description="Puts all distributable products in single hierarchy"/>
461
462
463 <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 <!-- <exclude name="build/**"/> -->
471 <exclude name="${release.jar}"/>
472 <exclude name="user.properties"/>
473 <exclude name="etc/notes/**"/>
474 <exclude name="src/emulation/**"/>
475 <exclude name="**/SyntaxTest.java"/>
476 <exclude name="**/SuperfluousAbstract.java"/>
477 <manifest>
478 <attribute name="Built-By" value="${user.name}"/>
479 <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
480 </manifest>
481 </jar>
482 </target>
483
484
485 <target name="clean"
486 description="Removes all build products">
487
488 <delete dir="${build.dir}"/>
489
490 </target>
491
492
493 <target name="dist-clean"
494 description="Removes all build and distribution products">
495
496 <delete dir="${build.dir}"/>
497 <delete dir="${dist.dir}"/>
498
499 </target>
500
501
502 <target name="dist-jar"
503 depends="clean, jar">
504 <copy file="${product.jar}" todir="${dist.dir}"/>
505 </target>
506
507 <target name="dist-docs"
508 depends="clean, docs">
509 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
510 </target>
511
512 <target name="tck"
513 depends="jar"
514 description="Runs tck tests for main directly">
515
516 <run-tck-tests
517 target="${build.main.java.version}"
518 workdir="${build.dir}"
519 classes="${product.jar}"/>
520 </target>
521
522 <target name="tck-parallelism-1"
523 description="Runs tck with given common pool parallelism">
524 <antcall target="tck">
525 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
526 </antcall>
527 </target>
528
529 <target name="tck-parallelism-0"
530 description="Runs tck with given common pool parallelism">
531 <antcall target="tck">
532 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
533 </antcall>
534 </target>
535
536 <target name="jtreg"
537 depends="jar"
538 description="Runs jtreg tests for main using the jtreg ant task">
539 <run-jtreg-tests
540 target="${build.main.java.version}"
541 workdir="${build.dir}"
542 classes="${product.jar}"/>
543 </target>
544
545 <target name="test"
546 depends="tck, tck-parallelism-1, jtreg"
547 description="Runs tck and jtreg tests for main">
548 </target>
549
550 <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 <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
577
578 <target name="configure-compiler">
579 <fail message="ant version too old">
580 <condition>
581 <not> <antversion atleast="1.9.1"/> </not>
582 </condition>
583 </fail>
584
585 <property name="unchecked.option" value="-Xlint:unchecked"/>
586
587 <condition property="warnunchecked.arg" value="${unchecked.option}">
588 <istrue value="${build.warnunchecked}"/>
589 </condition>
590
591 <property name="warnunchecked.arg" value=""/>
592
593
594 <!-- Common options in javac invocations -->
595 <property name="build.args" value="${warnunchecked.arg}"/>
596
597 </target>
598
599
600
601 <!-- Various demos and test programs -->
602
603
604 <target name="loops" depends="configure-compiler"
605 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 target="${build.sourcelevel}"
616 fork="true">
617
618 <compilerarg line="${build.args}"/>
619 <classpath refid="loops.classpath"/>
620 <compilerarg value="-XDignore.symbol.file=true"/>
621
622 </javac>
623
624 <java classname="ALoops" fork="true">
625 <classpath refid="loops.classpath"/>
626 </java>
627
628 </target>
629
630
631 <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 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
649 <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
650 <compilerarg line="${build.args}"/>
651
652 </javac>
653
654 </target>
655
656
657 <!-- jsr166 4jdk7 -->
658
659 <target name="4jdk7compile"
660 depends="configure-compiler"
661 description="Compiles src/jdk7 sources, targeting jdk7">
662
663 <mkdir dir="${build.4jdk7.classes.dir}"/>
664
665 <javac srcdir="${4jdk7src.dir}"
666 destdir="${build.4jdk7.classes.dir}"
667 debug="${build.debug}"
668 debuglevel="${build.debuglevel}"
669 deprecation="${build.deprecation}"
670 source="6"
671 target="6"
672 classpath=""
673 bootclasspath="${bootclasspath6}"
674 includeAntRuntime="false"
675 includeJavaRuntime="false"
676 executable="${javac7}"
677 fork="true">
678
679 <include name="**/*.java"/>
680 <compilerarg value="-Xprefer:source"/>
681 <compilerarg value="-XDignore.symbol.file=true"/>
682 <compilerarg value="-Xlint:all"/>
683 <compilerarg value="-Werror"/>
684 <compilerarg line="${build.args}"/>
685
686 </javac>
687 </target>
688
689 <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 target="6"
702 classpath=""
703 bootclasspath="${bootclasspath6}"
704 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
720 <target name="4jdk7jar"
721 depends="4jdk7compile"
722 description="Builds library jar from compiled sources">
723
724 <jar destfile="${4jdk7product.jar}">
725 <fileset dir="${build.4jdk7.classes.dir}"/>
726 <manifest>
727 <attribute name="Built-By" value="${user.name}"/>
728 <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
729 </manifest>
730 </jar>
731
732 </target>
733
734
735 <target name="4jdk7-tck"
736 depends="4jdk7jar"
737 description="Runs tck tests for jsr166-4jdk7 directly">
738
739 <run-tck-tests
740 target="7"
741 workdir="${build.4jdk7.dir}"
742 classes="${4jdk7product.jar}">
743 <javac-elements>
744 <!-- JDK8+ test classes -->
745 <exclude name="*8Test.java"/>
746 <exclude name="*9Test.java"/>
747 <exclude name="*10Test.java"/>
748 <exclude name="DoubleAccumulatorTest.java"/>
749 <exclude name="DoubleAdderTest.java"/>
750 <exclude name="LongAccumulatorTest.java"/>
751 <exclude name="LongAdderTest.java"/>
752 <exclude name="CompletableFutureTest.java"/>
753 <exclude name="SplittableRandomTest.java"/>
754 <exclude name="StampedLockTest.java"/>
755 <exclude name="SubmissionPublisherTest.java"/>
756 </javac-elements>
757 </run-tck-tests>
758 </target>
759
760
761 <target name="4jdk7-tck-junit"
762 depends="4jdk7compile"
763 description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
764
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 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
774 <jvmarg value="-server"/>
775
776 <classpath>
777 <pathelement location="${junit.jar}"/>
778 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
779 </classpath>
780
781 <formatter type="brief"/>
782
783 <test name="${jsr166.tckTestClass}" haltonfailure="no">
784 </test>
785
786 </junit>
787 </target>
788
789 <target name="4jdk7-jtreg"
790 depends="4jdk7jar"
791 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
792 <run-jtreg-tests
793 target="7"
794 workdir="${build.4jdk7.dir}"
795 classes="${4jdk7product.jar}"/>
796 </target>
797
798
799 <target name="4jdk7-test"
800 depends="4jdk7-tck, 4jdk7-jtreg"
801 description="Runs tck and jtreg tests for jsr166-4jdk7">
802 </target>
803
804
805 <target name="4jdk7docs"
806 description="Builds javadocs for src/jdk7 to dist dir">
807
808 <delete dir="${4jdk7docs.dir}"/>
809 <mkdir dir="${4jdk7docs.dir}"/>
810
811 <javadoc destdir="${4jdk7docs.dir}"
812 packagenames="none"
813 link="${java7.api.url}"
814 overview="${4jdk7src.dir}/intro.html"
815 access="${build.javadoc.access}"
816 sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
817 classpath=""
818 executable="${javadoc7}">
819 <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
820 <include name="**/*.java"/>
821 </fileset>
822 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
823 <arg value="-XDignore.symbol.file=true"/>
824 </javadoc>
825 </target>
826
827
828 <target name="4jdk7dist"
829 depends="4jdk7dist-jar, 4jdk7dist-docs"
830 description="Puts all distributable products in single hierarchy"/>
831
832
833 <target name="4jdk7clean"
834 description="Removes all 4jdk7 build products">
835
836 <delete dir="${build.4jdk7.dir}"/>
837
838 </target>
839
840
841 <target name="4jdk7dist-jar"
842 depends="4jdk7clean, 4jdk7jar">
843 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
844 </target>
845
846
847 <target name="4jdk7dist-docs"
848 depends="4jdk7clean, 4jdk7docs">
849 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
850 </target>
851
852
853 <!-- jsr166x -->
854
855 <target name="jsr166xcompile"
856 depends="configure-compiler"
857 description="Compiles jsr166x sources to build dir">
858
859 <mkdir dir="${build.jsr166x.classes.dir}"/>
860
861 <javac srcdir="${topsrc.dir}"
862 destdir="${build.jsr166x.classes.dir}"
863 debug="${build.debug}"
864 debuglevel="${build.debuglevel}"
865 deprecation="${build.deprecation}"
866 classpath=""
867 bootclasspath="${bootclasspath6}"
868 source="5"
869 target="5"
870 includeAntRuntime="false"
871 includeJavaRuntime="false"
872 executable="${javac7}"
873 fork="true">
874
875 <include name="jsr166x/**/*.java"/>
876 <compilerarg value="-XDignore.symbol.file=true"/>
877 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
878 <compilerarg value="-Werror"/>
879 <compilerarg line="${build.args}"/>
880
881 </javac>
882 </target>
883
884
885 <target name="jsr166xjar"
886 depends="jsr166xcompile"
887 description="Builds library jar from compiled sources">
888
889 <jar destfile="${jsr166x.jar}">
890 <fileset dir="${build.jsr166x.classes.dir}"/>
891 <manifest>
892 <attribute name="Built-By" value="${user.name}"/>
893 <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
894 </manifest>
895 </jar>
896
897 </target>
898
899
900 <target name="jsr166xdocs"
901 description="Builds javadocs to dist dir">
902
903 <delete dir="${jsr166xdocs.dir}"/>
904 <mkdir dir="${jsr166xdocs.dir}"/>
905
906 <javadoc destdir="${jsr166xdocs.dir}"
907 packagenames="jsr166x.*"
908 link="${java.api.url}"
909 access="${build.javadoc.access}"
910 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
911 bootclasspath="${bootclasspath6}"
912 source="5"
913 executable="${javadoc7}">
914 <arg line="-Xdocrootparent ${java.docroot.url}"/>
915 <arg value="-XDignore.symbol.file=true"/>
916
917 </javadoc>
918 </target>
919
920
921 <target name="jsr166xdist"
922 depends="jsr166xdist-jar, jsr166xdist-docs"
923 description="Puts all distributable products in single hierarchy"/>
924
925
926 <target name="jsr166xclean"
927 description="Removes all jsr166x build products">
928
929 <delete dir="${build.jsr166x.dir}"/>
930
931 </target>
932
933
934 <target name="jsr166xdist-jar"
935 depends="jsr166xclean, jsr166xjar">
936 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
937 </target>
938
939 <target name="jsr166xdist-docs"
940 depends="jsr166xclean, jsr166xdocs">
941 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
942 </target>
943
944 <!-- jsr166y -->
945
946
947 <target name="jsr166ycompile"
948 depends="configure-compiler"
949 description="Compiles jsr166y sources">
950
951 <mkdir dir="${build.jsr166y.classes.dir}"/>
952
953 <javac srcdir="${topsrc.dir}"
954 destdir="${build.jsr166y.classes.dir}"
955 debug="${build.debug}"
956 debuglevel="${build.debuglevel}"
957 deprecation="${build.deprecation}"
958 source="6"
959 target="6"
960 classpath=""
961 bootclasspath="${bootclasspath6}"
962 includeAntRuntime="false"
963 includeJavaRuntime="false"
964 executable="${javac7}"
965 fork="true">
966
967 <include name="jsr166y/**/*.java"/>
968 <compilerarg value="-XDignore.symbol.file=true"/>
969 <compilerarg value="-Xlint:all"/>
970 <compilerarg value="-Werror"/>
971 <compilerarg line="${build.args}"/>
972
973 </javac>
974 </target>
975
976
977 <target name="jsr166yjar"
978 depends="jsr166ycompile"
979 description="Builds library jar from compiled sources">
980
981 <jar destfile="${jsr166y.jar}" index="true">
982 <fileset dir="${build.jsr166y.classes.dir}"/>
983 <manifest>
984 <attribute name="Built-By" value="${user.name}"/>
985 <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
986 </manifest>
987 </jar>
988
989 </target>
990
991
992 <target name="jsr166ydocs"
993 description="Builds javadocs to dist dir">
994
995 <delete dir="${jsr166ydocs.dir}"/>
996 <mkdir dir="${jsr166ydocs.dir}"/>
997
998 <javadoc destdir="${jsr166ydocs.dir}"
999 packagenames="jsr166y.*"
1000 link="${java.api.url}"
1001 access="${build.javadoc.access}"
1002 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1003 bootclasspath="${bootclasspath6}"
1004 source="6"
1005 executable="${javadoc7}">
1006 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1007 <arg value="-XDignore.symbol.file=true"/>
1008
1009 </javadoc>
1010 </target>
1011
1012
1013 <target name="jsr166ydist"
1014 depends="jsr166ydist-jar, jsr166ydist-docs"
1015 description="Puts all distributable products in single hierarchy"/>
1016
1017
1018 <target name="jsr166yclean"
1019 description="Removes all jsr166y build products">
1020
1021 <delete dir="${build.jsr166y.dir}"/>
1022
1023 </target>
1024
1025
1026 <target name="jsr166ydist-jar"
1027 depends="jsr166yclean, jsr166yjar">
1028 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1029 </target>
1030
1031 <target name="jsr166ydist-docs"
1032 depends="jsr166yclean, jsr166ydocs">
1033 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1034 </target>
1035
1036
1037 <!-- extra166y -->
1038
1039
1040 <target name="extra166ycompile"
1041 depends="configure-compiler, jsr166yjar"
1042 description="Compiles extra166y sources">
1043
1044 <mkdir dir="${build.extra166y.classes.dir}"/>
1045
1046 <javac srcdir="${topsrc.dir}"
1047 destdir="${build.extra166y.classes.dir}"
1048 debug="${build.debug}"
1049 debuglevel="${build.debuglevel}"
1050 deprecation="${build.deprecation}"
1051 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1052 classpath=""
1053 source="6"
1054 target="6"
1055 includeAntRuntime="false"
1056 includeJavaRuntime="false"
1057 executable="${javac7}"
1058 fork="true">
1059
1060 <include name="extra166y/**/*.java"/>
1061 <compilerarg value="-XDignore.symbol.file=true"/>
1062 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1063 <compilerarg value="-Werror"/>
1064 <compilerarg line="${build.args}"/>
1065
1066 </javac>
1067 </target>
1068
1069
1070 <target name="extra166yjar"
1071 depends="extra166ycompile"
1072 description="Builds library jar from compiled sources">
1073
1074 <jar destfile="${extra166y.jar}" index="true">
1075 <fileset dir="${build.extra166y.classes.dir}"/>
1076 <manifest>
1077 <attribute name="Built-By" value="${user.name}"/>
1078 <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1079 </manifest>
1080 </jar>
1081
1082 </target>
1083
1084
1085 <target name="extra166ydocs"
1086 description="Builds javadocs to build dir">
1087
1088 <delete dir="${extra166ydocs.dir}"/>
1089 <mkdir dir="${extra166ydocs.dir}"/>
1090
1091 <javadoc destdir="${extra166ydocs.dir}"
1092 packagenames="extra166y.*"
1093 link="${java.api.url}"
1094 access="${build.javadoc.access}"
1095 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1096 bootclasspath="${bootclasspath6}"
1097 source="6"
1098 executable="${javadoc7}">
1099 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1100 <arg value="-XDignore.symbol.file=true"/>
1101
1102 </javadoc>
1103 </target>
1104
1105
1106 <target name="extra166ydist"
1107 depends="extra166ydist-jar, extra166ydist-docs"
1108 description="Puts all distributable products in single hierarchy"/>
1109
1110
1111 <target name="extra166yclean"
1112 description="Removes all extra166y build products">
1113
1114 <delete dir="${build.extra166y.dir}"/>
1115
1116 </target>
1117
1118
1119 <target name="extra166ydist-jar"
1120 depends="extra166yclean, extra166yjar">
1121 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1122 </target>
1123
1124 <target name="extra166ydist-docs"
1125 depends="extra166yclean, extra166ydocs">
1126 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1127 </target>
1128
1129 <!-- jsr166e -->
1130
1131 <property name="build.jsr166e.java.version" value="6"/>
1132 <property name="build.jsr166e.javac" value="${javac6}"/>
1133
1134 <target name="jsr166ecompile"
1135 depends="configure-compiler"
1136 description="Compiles jsr166e sources">
1137
1138 <mkdir dir="${build.jsr166e.classes.dir}"/>
1139
1140 <javac srcdir="${topsrc.dir}"
1141 destdir="${build.jsr166e.classes.dir}"
1142 debug="${build.debug}"
1143 debuglevel="${build.debuglevel}"
1144 deprecation="${build.deprecation}"
1145 source="${build.jsr166e.java.version}"
1146 target="${build.jsr166e.java.version}"
1147 classpath=""
1148 includeAntRuntime="false"
1149 includeJavaRuntime="false"
1150 executable="${build.jsr166e.javac}"
1151 fork="true">
1152
1153 <include name="jsr166e/**/*.java"/>
1154 <compilerarg value="-XDignore.symbol.file=true"/>
1155 <compilerarg value="-Xlint:all"/>
1156 <compilerarg value="-Werror"/>
1157 <compilerarg line="${build.args}"/>
1158
1159 </javac>
1160 </target>
1161
1162 <!-- 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 target="${build.jsr166e.java.version}"
1174 classpath=""
1175 bootclasspath="${bootclasspath6}"
1176 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 <compilerarg value="-Werror"/>
1185 <compilerarg value="-Xdoclint:all/protected"/>
1186
1187 </javac>
1188 </target>
1189
1190
1191 <target name="jsr166ejar"
1192 depends="jsr166ecompile"
1193 description="Builds library jar from compiled sources">
1194
1195 <jar destfile="${jsr166e.jar}" index="true">
1196 <fileset dir="${build.jsr166e.classes.dir}"/>
1197 <manifest>
1198 <attribute name="Built-By" value="${user.name}"/>
1199 <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1200 </manifest>
1201 </jar>
1202
1203 </target>
1204
1205
1206 <target name="jsr166edocs"
1207 description="Builds javadocs to build dir">
1208
1209 <delete dir="${jsr166edocs.dir}"/>
1210 <mkdir dir="${jsr166edocs.dir}"/>
1211
1212 <javadoc destdir="${jsr166edocs.dir}"
1213 packagenames="jsr166e.*"
1214 link="${java.api.url}"
1215 access="${build.javadoc.access}"
1216 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1217 source="${build.jsr166e.java.version}"
1218 executable="${javadoc7}">
1219 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1220 <arg value="-XDignore.symbol.file=true"/>
1221
1222 </javadoc>
1223 </target>
1224
1225
1226 <target name="jsr166e-tck-one-java-version"
1227 depends="jsr166ejar">
1228
1229 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1230
1231 <run-tck-tests
1232 tck.src.dir="${test.src.dir}/tck-jsr166e"
1233 target="${build.jsr166e.java.version}"
1234 workdir="${build.jsr166e.dir}"
1235 classes="${jsr166e.jar}"/>
1236 </target>
1237
1238 <target name="jsr166e-tck"
1239 description="Runs tck tests for jsr166e for multiple java versions">
1240
1241 <!-- <antcall target="clean"/> -->
1242 <!-- <antcall target="jsr166e-tck-one-java-version"> -->
1243 <!-- <param name="build.jsr166e.java.version" value="8"/> -->
1244 <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
1245 <!-- </antcall> -->
1246
1247 <antcall target="clean"/>
1248 <antcall target="jsr166e-tck-one-java-version">
1249 <param name="build.jsr166e.java.version" value="7"/>
1250 <param name="build.jsr166e.javac" value="${javac7}"/>
1251 </antcall>
1252
1253 <antcall target="clean"/>
1254 <antcall target="jsr166e-tck-one-java-version">
1255 <param name="build.jsr166e.java.version" value="6"/>
1256 <param name="build.jsr166e.javac" value="${javac6}"/>
1257 </antcall>
1258 </target>
1259
1260
1261 <target name="jsr166e-test"
1262 depends="jsr166e-tck"
1263 description="Runs all tests for jsr166e">
1264 </target>
1265
1266 <target name="jsr166edist"
1267 depends="jsr166edist-jar, jsr166edist-docs"
1268 description="Puts all distributable products in single hierarchy"/>
1269
1270
1271 <target name="jsr166eclean"
1272 description="Removes all jsr166e build products">
1273 <delete dir="${build.jsr166e.dir}"/>
1274 </target>
1275
1276
1277 <target name="jsr166edist-jar"
1278 depends="jsr166eclean, jsr166ejar">
1279 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1280 </target>
1281
1282 <target name="jsr166edist-docs"
1283 depends="jsr166eclean, jsr166edocs">
1284 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1285 </target>
1286
1287
1288 <!-- Find buglets that can be detected by static build tools -->
1289
1290 <target name="lint">
1291 <antcall target="dists">
1292 <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 <param name="build.javadoc.access" value="private"/>
1300 </antcall>
1301 </target>
1302
1303
1304 </project>