ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.197
Committed: Fri Mar 4 21:00:45 2016 UTC (8 years, 1 month ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.196: +1 -0 lines
Log Message:
improve handling of timeouts/delays; give fastdebug VMs more time by default

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