ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.194
Committed: Wed Dec 16 02:29:06 2015 UTC (8 years, 4 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.193: +3 -0 lines
Log Message:
handle jdk9 move: sun.misc.Contended -> jdk.internal.vm.annotation.Contended

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