/[cvs]/jsr166/build.xml
ViewVC logotype

Contents of /jsr166/build.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.190 - (show annotations)
Thu Nov 5 17:18:53 2015 UTC (3 years, 11 months ago) by jsr166
Branch: MAIN
Changes since 1.189: +8 -2 lines
File MIME type: text/xml
always pair javac ant task source= with target=

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

dl@cs.oswego.edu
ViewVC Help
Powered by ViewVC 1.1.27