1 |
< |
<project name="jsr166" default="usage"> |
1 |
> |
<project name="jsr166" default="usage" |
2 |
> |
xmlns:if="ant:if" xmlns:unless="ant:unless"> |
3 |
|
|
4 |
|
<description> |
5 |
|
------------------------------------------------------------------------------ |
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 |
|
</description> |
34 |
|
|
39 |
|
</java> |
40 |
|
</target> |
41 |
|
|
42 |
+ |
<!-- HOWTO printf debug: <echo message="prop=${prop}"/> --> |
43 |
|
|
44 |
|
<!-- User-specific settings --> |
45 |
|
<property file="user.properties"/> |
52 |
|
<property name="build.deprecation" value="false"/> |
53 |
|
<property name="build.javadoc.access" value="protected"/> |
54 |
|
|
55 |
< |
<!-- Tck options; see JSR166TestCase.java --> |
56 |
< |
<!-- ant -Djsr166.profileTests=true -Djsr166.runsPerTest=100 test-tck --> |
55 |
> |
<!-- Tck options; see JSR166TestCase.java |
56 |
> |
To profile a single tck test class: |
57 |
> |
ant -Djsr166.profileTests=true -Djsr166.profileThreshold=10 -Djsr166.tckTestClass=CompletableFutureTest tck |
58 |
> |
To stress test a single tck test class: |
59 |
> |
ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 tck |
60 |
> |
--> |
61 |
|
<property name="jsr166.profileTests" value="false"/> |
62 |
|
<property name="jsr166.profileThreshold" value="100"/> |
63 |
|
<property name="jsr166.runsPerTest" value="1"/> |
54 |
– |
<!-- Allow running an individual tck test class --> |
55 |
– |
<!-- ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck --> |
64 |
|
<property name="jsr166.tckTestClass" value="JSR166TestCase"/> |
65 |
|
|
66 |
|
<!-- Build locations --> |
95 |
|
<property name="java@{v}" location="${jdk@{v}.home}/bin/java"/> |
96 |
|
<property name="javac@{v}" location="${jdk@{v}.home}/bin/javac"/> |
97 |
|
<property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/> |
98 |
< |
<property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/> |
98 |
> |
<available property="jdk@{v}.have.java.base" |
99 |
> |
file="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes" type="dir"/> |
100 |
> |
<property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes" |
101 |
> |
if:set="jdk@{v}.have.java.base"/> |
102 |
> |
<property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes" |
103 |
> |
unless:set="jdk@{v}.have.java.base"/> |
104 |
|
<local name="boot.jar.dir"/> |
105 |
|
<property name="boot.jar.dir" location="${jdk@{v}.home}/jre/lib"/> |
106 |
|
<path id="bootclasspath@{v}"> |
136 |
|
<property name="test.src.dir" location="${basedir}/src/test"/> |
137 |
|
<property name="loops.src.dir" location="${basedir}/src/loops"/> |
138 |
|
<property name="tck.src.dir" location="${test.src.dir}/tck"/> |
139 |
< |
<property name="jtreg.src.dir" location="${test.src.dir}/jtreg"/> |
139 |
> |
<property name="jtreg7.src.dir" location="${test.src.dir}/jtreg-jdk7"/> |
140 |
> |
<property name="jtreg8.src.dir" location="${test.src.dir}/jtreg"/> |
141 |
> |
<property name="jtreg9.src.dir" location="${test.src.dir}/jtreg"/> |
142 |
> |
<property name="jtreg.src.dir" location="${jtreg9.src.dir}"/> |
143 |
|
<property name="lib.dir" location="${basedir}/lib"/> |
144 |
|
<property name="dist.dir" location="${basedir}/dist"/> |
145 |
|
<property name="topsrc.dir" location="${basedir}/src"/> |
177 |
|
<property name="java5.docroot.url" value="http://docs.oracle.com/javase/1.5.0/docs"/> |
178 |
|
<property name="java6.docroot.url" value="http://docs.oracle.com/javase/6/docs"/> |
179 |
|
<property name="java7.docroot.url" value="http://docs.oracle.com/javase/7/docs"/> |
180 |
< |
<!-- The expected canonical location does not yet exist as of 2014-02 --> |
181 |
< |
<!-- <property name="java8.docroot.url" value="http://docs.oracle.com/javase/8/docs"/> --> |
166 |
< |
<property name="java8.docroot.url" value="http://download.java.net/jdk8/docs"/> |
167 |
< |
<!-- No published jdk9 docs exist as of 2014-02 --> |
180 |
> |
<property name="java8.docroot.url" value="http://docs.oracle.com/javase/8/docs"/> |
181 |
> |
<!-- The expected canonical location does not yet exist as of 2014-07 --> |
182 |
|
<!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> --> |
183 |
< |
<property name="java9.docroot.url" value="${java8.docroot.url}"/> |
183 |
> |
<property name="java9.docroot.url" value="http://download.java.net/jdk9/docs"/> |
184 |
|
<!-- Default jdk doc location (latest stable release seems best) --> |
185 |
< |
<property name="java.docroot.url" value="${java7.docroot.url}"/> |
185 |
> |
<property name="java.docroot.url" value="${java8.docroot.url}"/> |
186 |
|
|
187 |
|
<!-- Canonical location of jdk API docs, to use with javadoc link attribute --> |
188 |
|
<property name="java5.api.url" value="${java5.docroot.url}/api/"/> |
223 |
|
source="@{compile-target}" |
224 |
|
target="@{compile-target}" |
225 |
|
classpath="${junit.jar}" |
212 |
– |
bootclasspath="@{classes}:${bootclasspath@{compile-target}}" |
226 |
|
includeAntRuntime="false" |
227 |
|
includeJavaRuntime="false" |
228 |
|
executable="${javac@{compile-target}}" |
231 |
|
<include name="*.java"/> |
232 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
233 |
|
<compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/> |
234 |
+ |
<compilerarg value="-Xbootclasspath/p:@{classes}"/> |
235 |
|
<compilerarg line="${build.args}"/> |
236 |
|
<javac-elements/> |
237 |
|
|
243 |
|
fork="true"> |
244 |
|
<jvmarg value="-Xbootclasspath/p:@{classes}"/> |
245 |
|
<jvmarg line="@{jvmflags}"/> |
246 |
+ |
|
247 |
+ |
<!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck --> |
248 |
+ |
<syspropertyset id="java.util.concurrent.ForkJoinPool-properties"> |
249 |
+ |
<propertyref prefix="java.util.concurrent.ForkJoinPool"/> |
250 |
+ |
</syspropertyset> |
251 |
+ |
|
252 |
|
<sysproperty key="jsr166.profileTests" value="${jsr166.profileTests}"/> |
253 |
|
<sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/> |
254 |
|
<sysproperty key="jsr166.runsPerTest" value="${jsr166.runsPerTest}"/> |
261 |
|
</sequential> |
262 |
|
</macrodef> |
263 |
|
|
264 |
+ |
<!-- Define jtreg test sets for different jdk versions --> |
265 |
+ |
<fileset dir="${jtreg9.src.dir}"> |
266 |
+ |
<patternset id="jdk9.jtreg.tests"> |
267 |
+ |
<include name="**/*.java"/> |
268 |
+ |
</patternset> |
269 |
+ |
</fileset> |
270 |
+ |
|
271 |
+ |
<fileset dir="${jtreg8.src.dir}"> |
272 |
+ |
<patternset id="jdk8.jtreg.tests"> |
273 |
+ |
<include name="**/*.java"/> |
274 |
+ |
<exclude name="**/SpliteratorCharacteristics.java"/> |
275 |
+ |
<!-- https://bugs.openjdk.java.net/browse/JDK-6842353 --> |
276 |
+ |
<exclude name="**/GCDuringIteration.java"/> |
277 |
+ |
</patternset> |
278 |
+ |
</fileset> |
279 |
+ |
|
280 |
+ |
<fileset dir="${jtreg7.src.dir}"> |
281 |
+ |
<patternset id="jdk7.jtreg.tests"> |
282 |
+ |
<include name="**/*.java"/> |
283 |
+ |
</patternset> |
284 |
+ |
</fileset> |
285 |
+ |
|
286 |
|
<macrodef name="run-jtreg-tests"> |
287 |
< |
<!-- ant -Djtreg.src.dir=src/test/jtreg/util/concurrent/CompletableFuture test-jtreg --> |
246 |
< |
<attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/> |
287 |
> |
<!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg --> |
288 |
|
<attribute name="source" default="7"/> |
289 |
|
<attribute name="target"/> |
290 |
|
<attribute name="workdir"/> |
295 |
|
<delete dir="@{workdir}/JTreport" quiet="true"/> |
296 |
|
<mkdir dir="@{workdir}/JTwork/scratch"/> |
297 |
|
<mkdir dir="@{workdir}/JTreport"/> |
298 |
< |
<jtreg dir="@{jtreg.src.dir}" |
298 |
> |
<jtreg dir="${jtreg@{target}.src.dir}" |
299 |
|
jdk="${jdk@{target}.home}" |
300 |
|
workDir="@{workdir}/JTwork" |
301 |
|
reportDir="@{workdir}/JTreport"> |
302 |
< |
|
302 |
> |
<patternset refid="jdk@{target}.jtreg.tests"/> |
303 |
|
<arg value="-Xbootclasspath/p:@{classes}"/> |
304 |
|
<arg value="-agentvm"/> |
305 |
|
<arg value="-v:nopass,fail"/> |
350 |
|
<compilerarg value="-Xprefer:source"/> |
351 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
352 |
|
<compilerarg value="-Xlint:all"/> |
353 |
+ |
<compilerarg value="-Werror"/> |
354 |
|
<compilerarg value="-Xdoclint:all/protected"/> |
355 |
|
<compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/> |
356 |
|
<compilerarg line="${build.args}"/> |
454 |
|
<mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/> |
455 |
|
</target> |
456 |
|
|
457 |
< |
|
416 |
< |
<target name="test-tck" |
457 |
> |
<target name="tck" |
458 |
|
depends="jar" |
459 |
|
description="Runs tck tests for main directly"> |
460 |
|
|
464 |
|
classes="${product.jar}"/> |
465 |
|
</target> |
466 |
|
|
467 |
< |
<target name="test-jtreg" |
467 |
> |
<target name="tck-parallelism-1" |
468 |
> |
description="Runs tck with given common pool parallelism"> |
469 |
> |
<antcall target="tck"> |
470 |
> |
<param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/> |
471 |
> |
</antcall> |
472 |
> |
</target> |
473 |
> |
|
474 |
> |
<target name="tck-parallelism-0" |
475 |
> |
description="Runs tck with given common pool parallelism"> |
476 |
> |
<antcall target="tck"> |
477 |
> |
<param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/> |
478 |
> |
</antcall> |
479 |
> |
</target> |
480 |
> |
|
481 |
> |
<target name="jtreg" |
482 |
|
depends="jar" |
483 |
|
description="Runs jtreg tests for main using the jtreg ant task"> |
484 |
|
<run-jtreg-tests |
488 |
|
</target> |
489 |
|
|
490 |
|
<target name="test" |
491 |
< |
depends="test-tck, test-jtreg" |
491 |
> |
depends="tck, tck-parallelism-1, jtreg" |
492 |
|
description="Runs tck and jtreg tests for main"> |
493 |
|
</target> |
494 |
|
|
495 |
+ |
<target name="jtreg8" description="Runs jtreg tests with jdk8"> |
496 |
+ |
|
497 |
+ |
<antcall target="jtreg"> |
498 |
+ |
<param name="build.main.java.version" value="8"/> |
499 |
+ |
<param name="build.main.javac" value="${javac8}"/> |
500 |
+ |
</antcall> |
501 |
+ |
|
502 |
+ |
</target> |
503 |
+ |
|
504 |
|
<target name="test89" |
505 |
|
description="Runs tck and jtreg tests for main for multiple java versions"> |
506 |
|
|
567 |
|
</target> |
568 |
|
|
569 |
|
|
570 |
+ |
<target name="compile-test-loops" depends="jar" |
571 |
+ |
description="compile all the perf tests in src/test/loops"> |
572 |
+ |
|
573 |
+ |
<mkdir dir="${build.dir}/test/loops"/> |
574 |
+ |
|
575 |
+ |
<javac srcdir="${basedir}/src/test/loops" |
576 |
+ |
destdir="${build.dir}/test/loops" |
577 |
+ |
debug="${build.debug}" |
578 |
+ |
debuglevel="${build.debuglevel}" |
579 |
+ |
deprecation="${build.deprecation}" |
580 |
+ |
includeAntRuntime="false" |
581 |
+ |
includeJavaRuntime="false" |
582 |
+ |
executable="${javac9}" |
583 |
+ |
fork="true"> |
584 |
+ |
|
585 |
+ |
<include name="*.java"/> |
586 |
+ |
<compilerarg value="-XDignore.symbol.file=true"/> |
587 |
+ |
<compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/> |
588 |
+ |
<compilerarg value="-Xbootclasspath/p:${product.jar}"/> |
589 |
+ |
<compilerarg line="${build.args}"/> |
590 |
+ |
|
591 |
+ |
</javac> |
592 |
+ |
|
593 |
+ |
</target> |
594 |
+ |
|
595 |
+ |
|
596 |
|
<!-- jsr166 4jdk7 --> |
597 |
|
|
598 |
|
<target name="4jdk7compile" |
618 |
|
<compilerarg value="-Xprefer:source"/> |
619 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
620 |
|
<compilerarg value="-Xlint:all"/> |
621 |
+ |
<compilerarg value="-Werror"/> |
622 |
|
<compilerarg line="${build.args}"/> |
623 |
|
|
624 |
|
</javac> |
665 |
|
</target> |
666 |
|
|
667 |
|
|
668 |
< |
<target name="4jdk7-test-tck" |
668 |
> |
<target name="4jdk7-tck" |
669 |
|
depends="4jdk7jar" |
670 |
|
description="Runs tck tests for jsr166-4jdk7 directly"> |
671 |
|
|
677 |
|
<!-- JDK8+ test classes --> |
678 |
|
<exclude name="*8Test.java"/> |
679 |
|
<exclude name="*9Test.java"/> |
680 |
+ |
<exclude name="*10Test.java"/> |
681 |
|
<exclude name="DoubleAccumulatorTest.java"/> |
682 |
|
<exclude name="DoubleAdderTest.java"/> |
683 |
|
<exclude name="LongAccumulatorTest.java"/> |
685 |
|
<exclude name="CompletableFutureTest.java"/> |
686 |
|
<exclude name="SplittableRandomTest.java"/> |
687 |
|
<exclude name="StampedLockTest.java"/> |
688 |
+ |
<exclude name="SubmissionPublisherTest.java"/> |
689 |
|
</javac-elements> |
690 |
|
</run-tck-tests> |
691 |
|
</target> |
692 |
|
|
693 |
|
|
694 |
< |
<target name="4jdk7-test-tck-junit" |
694 |
> |
<target name="4jdk7-tck-junit" |
695 |
|
depends="4jdk7compile" |
696 |
|
description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)"> |
697 |
|
|
719 |
|
</junit> |
720 |
|
</target> |
721 |
|
|
722 |
< |
<target name="4jdk7-test-jtreg" |
722 |
> |
<target name="4jdk7-jtreg" |
723 |
|
depends="4jdk7jar" |
724 |
|
description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task"> |
725 |
|
<run-jtreg-tests |
726 |
|
target="7" |
727 |
|
workdir="${build.4jdk7.dir}" |
728 |
< |
classes="${4jdk7product.jar}" |
636 |
< |
jtregflags="-exclude:${jtreg.src.dir}/jdk8tests"/> |
728 |
> |
classes="${4jdk7product.jar}"/> |
729 |
|
</target> |
730 |
|
|
731 |
|
|
732 |
|
<target name="4jdk7-test" |
733 |
< |
depends="4jdk7-test-tck, 4jdk7-test-jtreg" |
733 |
> |
depends="4jdk7-tck, 4jdk7-jtreg" |
734 |
|
description="Runs tck and jtreg tests for jsr166-4jdk7"> |
735 |
|
</target> |
736 |
|
|
807 |
|
<include name="jsr166x/**/*.java"/> |
808 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
809 |
|
<compilerarg value="-Xlint:all,-unchecked,-rawtypes"/> |
810 |
+ |
<compilerarg value="-Werror"/> |
811 |
|
<compilerarg line="${build.args}"/> |
812 |
|
|
813 |
|
</javac> |
894 |
|
<include name="jsr166y/**/*.java"/> |
895 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
896 |
|
<compilerarg value="-Xlint:all"/> |
897 |
+ |
<compilerarg value="-Werror"/> |
898 |
|
<compilerarg line="${build.args}"/> |
899 |
|
|
900 |
|
</javac> |
982 |
|
<include name="extra166y/**/*.java"/> |
983 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
984 |
|
<compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/> |
985 |
+ |
<compilerarg value="-Werror"/> |
986 |
|
<compilerarg line="${build.args}"/> |
987 |
|
|
988 |
|
</javac> |
1070 |
|
<include name="jsr166e/**/*.java"/> |
1071 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
1072 |
|
<compilerarg value="-Xlint:all"/> |
1073 |
+ |
<compilerarg value="-Werror"/> |
1074 |
|
<compilerarg line="${build.args}"/> |
1075 |
|
|
1076 |
|
</javac> |
1097 |
|
<include name="jsr166e/**/*.java"/> |
1098 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
1099 |
|
<compilerarg value="-Xlint:all"/> |
1100 |
+ |
<compilerarg value="-Werror"/> |
1101 |
|
<compilerarg value="-Xdoclint:all/protected"/> |
1102 |
|
|
1103 |
|
</javac> |
1135 |
|
</target> |
1136 |
|
|
1137 |
|
|
1138 |
< |
<target name="jsr166e-test-tck-one-java-version" |
1138 |
> |
<target name="jsr166e-tck-one-java-version" |
1139 |
|
depends="jsr166ejar"> |
1140 |
|
|
1141 |
|
<echo message="Testing with jdk${build.jsr166e.java.version} ..."/> |
1147 |
|
classes="${jsr166e.jar}"/> |
1148 |
|
</target> |
1149 |
|
|
1150 |
< |
<target name="jsr166e-test-tck" |
1150 |
> |
<target name="jsr166e-tck" |
1151 |
|
description="Runs tck tests for jsr166e for multiple java versions"> |
1152 |
|
|
1153 |
|
<!-- <antcall target="clean"/> --> |
1154 |
< |
<!-- <antcall target="jsr166e-test-tck-one-java-version"> --> |
1154 |
> |
<!-- <antcall target="jsr166e-tck-one-java-version"> --> |
1155 |
|
<!-- <param name="build.jsr166e.java.version" value="8"/> --> |
1156 |
|
<!-- <param name="build.jsr166e.javac" value="${javac8}"/> --> |
1157 |
|
<!-- </antcall> --> |
1158 |
|
|
1159 |
|
<antcall target="clean"/> |
1160 |
< |
<antcall target="jsr166e-test-tck-one-java-version"> |
1160 |
> |
<antcall target="jsr166e-tck-one-java-version"> |
1161 |
|
<param name="build.jsr166e.java.version" value="7"/> |
1162 |
|
<param name="build.jsr166e.javac" value="${javac7}"/> |
1163 |
|
</antcall> |
1164 |
|
|
1165 |
|
<antcall target="clean"/> |
1166 |
< |
<antcall target="jsr166e-test-tck-one-java-version"> |
1166 |
> |
<antcall target="jsr166e-tck-one-java-version"> |
1167 |
|
<param name="build.jsr166e.java.version" value="6"/> |
1168 |
|
<param name="build.jsr166e.javac" value="${javac6}"/> |
1169 |
|
</antcall> |
1171 |
|
|
1172 |
|
|
1173 |
|
<target name="jsr166e-test" |
1174 |
< |
depends="jsr166e-test-tck" |
1174 |
> |
depends="jsr166e-tck" |
1175 |
|
description="Runs all tests for jsr166e"> |
1176 |
|
</target> |
1177 |
|
|
1201 |
|
|
1202 |
|
<target name="lint"> |
1203 |
|
<antcall target="dists"> |
1204 |
+ |
<param name="build.javadoc.access" value="public"/> |
1205 |
+ |
</antcall> |
1206 |
+ |
</target> |
1207 |
+ |
|
1208 |
+ |
<!-- Generates all doclint warnings, even for private methods (rarely useful) --> |
1209 |
+ |
<target name="lint-private"> |
1210 |
+ |
<antcall target="dist"> |
1211 |
|
<param name="build.javadoc.access" value="private"/> |
1212 |
|
</antcall> |
1213 |
|
</target> |