ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.182
Committed: Sun Sep 13 17:46:07 2015 UTC (8 years, 7 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.181: +45 -8 lines
Log Message:
preliminary incomplete support for jigsaw

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