ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.195
Committed: Thu Dec 17 23:55:06 2015 UTC (8 years, 4 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.194: +4 -0 lines
Log Message:
allow support for ant -Djtreg.flags=xxxx

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