ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.193
Committed: Fri Dec 11 23:58:52 2015 UTC (8 years, 4 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.192: +3 -1 lines
Log Message:
workaround for CODETOOLS-7901571

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