16 |
|
$HOME/jdk/jdk6 |
17 |
|
$HOME/jdk/jdk7 |
18 |
|
$HOME/jdk/jdk8 |
19 |
+ |
$HOME/jdk/jdk9 |
20 |
|
where each of the above is a JDK or a symlink to same, and |
21 |
|
$HOME/jdk/src/jdk6 |
22 |
|
$HOME/jdk/src/jdk7 |
23 |
|
$HOME/jdk/src/jdk8 |
24 |
+ |
$HOME/jdk/src/jdk9 |
25 |
|
where each of the above is a complete JDK source tree |
26 |
|
(e.g. mercurial forest) or a symlink to same. |
27 |
< |
As of 2013-02, the very latest lambda 8 jdk is needed for jdk8. |
27 |
> |
|
28 |
> |
Alternatively, define ant variables thus: |
29 |
> |
ant -Djdk$N.home=... |
30 |
> |
for $N in 6 7 8 9 ... |
31 |
|
------------------------------------------------------------------------------ |
32 |
|
</description> |
33 |
|
|
50 |
|
<property name="build.deprecation" value="false"/> |
51 |
|
<property name="build.javadoc.access" value="protected"/> |
52 |
|
|
53 |
< |
<!-- Tck options; see JSR166TestCase.java --> |
54 |
< |
<!-- ant -Djsr166.profileTests=true -Djsr166.runsPerTest=100 test-tck --> |
53 |
> |
<!-- Tck options; see JSR166TestCase.java |
54 |
> |
To profile a single tck test class: |
55 |
> |
ant -Djsr166.profileTests=true -Djsr166.profileThreshold=100 -Djsr166.tckTestClass=CompletableFutureTest test-tck |
56 |
> |
To stress test a single tck test class: |
57 |
> |
ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck |
58 |
> |
--> |
59 |
|
<property name="jsr166.profileTests" value="false"/> |
60 |
|
<property name="jsr166.profileThreshold" value="100"/> |
61 |
|
<property name="jsr166.runsPerTest" value="1"/> |
53 |
– |
<!-- Allow running an individual tck test class --> |
54 |
– |
<!-- ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck --> |
62 |
|
<property name="jsr166.tckTestClass" value="JSR166TestCase"/> |
63 |
|
|
64 |
|
<!-- Build locations --> |
122 |
|
<defjdklocations v="6"/> |
123 |
|
<defjdklocations v="7"/> |
124 |
|
<defjdklocations v="8"/> |
125 |
+ |
<defjdklocations v="9"/> |
126 |
|
|
127 |
|
<!-- Source locations --> |
128 |
|
<property name="src.dir" location="${basedir}/src/main"/> |
163 |
|
<property name="extra166y.jar" location="${build.extra166y.dir}/extra166y.jar"/> |
164 |
|
<property name="junit.jar" location="${lib.dir}/junit.jar"/> |
165 |
|
|
166 |
< |
<!-- Canonical location of jdk API docs, to use with javadoc link attribute --> |
167 |
< |
<property name="jdkapi5docs.url" value="http://docs.oracle.com/javase/1.5.0/docs/api/"/> |
168 |
< |
<property name="jdkapi6docs.url" value="http://docs.oracle.com/javase/6/docs/api/"/> |
169 |
< |
<property name="jdkapi7docs.url" value="http://docs.oracle.com/javase/7/docs/api/"/> |
170 |
< |
|
171 |
< |
<property name="jdkapi8docs.url" value="http://download.java.net/jdk8/docs/api/"/> |
172 |
< |
<!-- The below does not yet exist as of 2013-01 --> |
173 |
< |
<!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> --> |
166 |
> |
<!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag --> |
167 |
> |
<property name="java5.docroot.url" value="http://docs.oracle.com/javase/1.5.0/docs"/> |
168 |
> |
<property name="java6.docroot.url" value="http://docs.oracle.com/javase/6/docs"/> |
169 |
> |
<property name="java7.docroot.url" value="http://docs.oracle.com/javase/7/docs"/> |
170 |
> |
<property name="java8.docroot.url" value="http://docs.oracle.com/javase/8/docs"/> |
171 |
> |
<!-- The expected canonical location does not yet exist as of 2014-07 --> |
172 |
> |
<!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> --> |
173 |
> |
<property name="java9.docroot.url" value="http://download.java.net/jdk9/docs"/> |
174 |
> |
<!-- Default jdk doc location (latest stable release seems best) --> |
175 |
> |
<property name="java.docroot.url" value="${java8.docroot.url}"/> |
176 |
|
|
177 |
< |
<!-- Default jdk api doc location (latest stable release seems best) --> |
178 |
< |
<property name="jdkapidocs.url" value="${jdkapi7docs.url}"/> |
177 |
> |
<!-- Canonical location of jdk API docs, to use with javadoc link attribute --> |
178 |
> |
<property name="java5.api.url" value="${java5.docroot.url}/api/"/> |
179 |
> |
<property name="java6.api.url" value="${java6.docroot.url}/api/"/> |
180 |
> |
<property name="java7.api.url" value="${java7.docroot.url}/api/"/> |
181 |
> |
<property name="java8.api.url" value="${java8.docroot.url}/api/"/> |
182 |
> |
<property name="java9.api.url" value="${java9.docroot.url}/api/"/> |
183 |
> |
<property name="java.api.url" value="${java.docroot.url}/api/"/> |
184 |
|
|
185 |
|
<!-- Define the "jtreg" task --> |
186 |
|
<!-- See the docs in "jtreg -onlineHelp" --> |
199 |
|
<attribute name="compile-target" default="@{target}"/> |
200 |
|
<attribute name="workdir"/> |
201 |
|
<attribute name="classes"/> |
202 |
< |
<attribute name="jvmflags" default=""/> |
202 |
> |
<attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/> |
203 |
|
<element name="javac-elements" optional="true"/> |
204 |
|
<sequential> |
205 |
|
|
213 |
|
source="@{compile-target}" |
214 |
|
target="@{compile-target}" |
215 |
|
classpath="${junit.jar}" |
201 |
– |
bootclasspath="@{classes}:${bootclasspath@{compile-target}}" |
216 |
|
includeAntRuntime="false" |
217 |
|
includeJavaRuntime="false" |
218 |
|
executable="${javac@{compile-target}}" |
221 |
|
<include name="*.java"/> |
222 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
223 |
|
<compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/> |
224 |
+ |
<compilerarg value="-Xbootclasspath/p:@{classes}"/> |
225 |
|
<compilerarg line="${build.args}"/> |
226 |
|
<javac-elements/> |
227 |
|
|
233 |
|
fork="true"> |
234 |
|
<jvmarg value="-Xbootclasspath/p:@{classes}"/> |
235 |
|
<jvmarg line="@{jvmflags}"/> |
236 |
+ |
|
237 |
+ |
<!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 test-tck --> |
238 |
+ |
<syspropertyset id="java.util.concurrent.ForkJoinPool-properties"> |
239 |
+ |
<propertyref prefix="java.util.concurrent.ForkJoinPool"/> |
240 |
+ |
</syspropertyset> |
241 |
+ |
|
242 |
|
<sysproperty key="jsr166.profileTests" value="${jsr166.profileTests}"/> |
243 |
|
<sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/> |
244 |
|
<sysproperty key="jsr166.runsPerTest" value="${jsr166.runsPerTest}"/> |
252 |
|
</macrodef> |
253 |
|
|
254 |
|
<macrodef name="run-jtreg-tests"> |
255 |
+ |
<!-- ant -Djtreg.src.dir=src/test/jtreg/util/concurrent/CompletableFuture test-jtreg --> |
256 |
|
<attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/> |
257 |
|
<attribute name="source" default="7"/> |
258 |
|
<attribute name="target"/> |
291 |
|
|
292 |
|
<!-- Main targets --> |
293 |
|
|
294 |
+ |
<property name="build.main.java.version" value="9"/> |
295 |
+ |
<property name="build.main.javac" value="${javac9}"/> |
296 |
+ |
|
297 |
|
<target name="dists" |
298 |
|
depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist" |
299 |
|
description="Builds all public jars and docs"/> |
312 |
|
classpath="" |
313 |
|
includeAntRuntime="false" |
314 |
|
includeJavaRuntime="false" |
315 |
< |
executable="${javac8}" |
315 |
> |
executable="${build.main.javac}" |
316 |
|
fork="true"> |
317 |
|
|
318 |
|
<include name="**/*.java"/> |
319 |
|
<compilerarg value="-Xprefer:source"/> |
320 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
321 |
|
<compilerarg value="-Xlint:all"/> |
322 |
+ |
<compilerarg value="-Werror"/> |
323 |
|
<compilerarg value="-Xdoclint:all/protected"/> |
324 |
|
<compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/> |
325 |
|
<compilerarg line="${build.args}"/> |
349 |
|
|
350 |
|
<javadoc destdir="${docs.dir}" |
351 |
|
packagenames="none" |
352 |
< |
link="${jdkapi8docs.url}" |
352 |
> |
link="${java9.api.url}" |
353 |
|
overview="${src.dir}/intro.html" |
354 |
|
access="${build.javadoc.access}" |
355 |
< |
sourcepath="${src.dir}:${jdk8src.dir}" |
355 |
> |
sourcepath="${src.dir}:${jdk9src.dir}" |
356 |
|
classpath="" |
357 |
< |
executable="${javadoc8}"> |
357 |
> |
executable="${javadoc9}"> |
358 |
|
<fileset dir="${src.dir}" defaultexcludes="yes"> |
359 |
|
<include name="**/*.java"/> |
360 |
|
</fileset> |
361 |
+ |
<arg line="-Xdocrootparent ${java9.docroot.url}"/> |
362 |
|
<arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/> |
363 |
|
<arg value="-XDignore.symbol.file=true"/> |
364 |
|
<arg value="-tag"/> |
423 |
|
<mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/> |
424 |
|
</target> |
425 |
|
|
426 |
< |
|
426 |
> |
<target name="tck" depends="test-tck" description="alias for test-tck"/> |
427 |
|
<target name="test-tck" |
428 |
|
depends="jar" |
429 |
|
description="Runs tck tests for main directly"> |
430 |
|
|
431 |
|
<run-tck-tests |
432 |
< |
target="8" |
432 |
> |
target="${build.main.java.version}" |
433 |
|
workdir="${build.dir}" |
434 |
|
classes="${product.jar}"/> |
435 |
|
</target> |
436 |
|
|
437 |
+ |
<target name="test-tck-parallelism-1" |
438 |
+ |
description="Runs test-tck with given common pool parallelism"> |
439 |
+ |
<antcall target="test-tck"> |
440 |
+ |
<param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/> |
441 |
+ |
</antcall> |
442 |
+ |
</target> |
443 |
+ |
|
444 |
+ |
<target name="test-tck-parallelism-0" |
445 |
+ |
description="Runs test-tck with given common pool parallelism"> |
446 |
+ |
<antcall target="test-tck"> |
447 |
+ |
<param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/> |
448 |
+ |
</antcall> |
449 |
+ |
</target> |
450 |
+ |
|
451 |
+ |
<target name="jtreg" depends="test-jtreg" description="alias for test-jtreg"/> |
452 |
|
<target name="test-jtreg" |
453 |
|
depends="jar" |
454 |
|
description="Runs jtreg tests for main using the jtreg ant task"> |
455 |
|
<run-jtreg-tests |
456 |
< |
target="8" |
456 |
> |
target="${build.main.java.version}" |
457 |
|
workdir="${build.dir}" |
458 |
|
classes="${product.jar}"/> |
459 |
|
</target> |
460 |
|
|
461 |
|
<target name="test" |
462 |
< |
depends="test-tck, test-jtreg" |
462 |
> |
depends="test-tck, test-tck-parallelism-1, test-jtreg" |
463 |
|
description="Runs tck and jtreg tests for main"> |
464 |
|
</target> |
465 |
|
|
466 |
+ |
<target name="test89" |
467 |
+ |
description="Runs tck and jtreg tests for main for multiple java versions"> |
468 |
+ |
|
469 |
+ |
<antcall target="clean"/> |
470 |
+ |
<antcall target="test"> |
471 |
+ |
<param name="build.main.java.version" value="8"/> |
472 |
+ |
<param name="build.main.javac" value="${javac8}"/> |
473 |
+ |
</antcall> |
474 |
+ |
|
475 |
+ |
<antcall target="clean"/> |
476 |
+ |
<antcall target="test"> |
477 |
+ |
<param name="build.main.java.version" value="9"/> |
478 |
+ |
<param name="build.main.javac" value="${javac9}"/> |
479 |
+ |
</antcall> |
480 |
+ |
|
481 |
+ |
</target> |
482 |
+ |
|
483 |
|
|
484 |
|
|
485 |
|
<target name="configure-compiler"> |
554 |
|
<compilerarg value="-Xprefer:source"/> |
555 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
556 |
|
<compilerarg value="-Xlint:all"/> |
557 |
+ |
<compilerarg value="-Werror"/> |
558 |
|
<compilerarg line="${build.args}"/> |
559 |
|
|
560 |
|
</javac> |
612 |
|
<javac-elements> |
613 |
|
<!-- JDK8+ test classes --> |
614 |
|
<exclude name="*8Test.java"/> |
615 |
+ |
<exclude name="*9Test.java"/> |
616 |
|
<exclude name="DoubleAccumulatorTest.java"/> |
617 |
|
<exclude name="DoubleAdderTest.java"/> |
618 |
|
<exclude name="LongAccumulatorTest.java"/> |
678 |
|
|
679 |
|
<javadoc destdir="${4jdk7docs.dir}" |
680 |
|
packagenames="none" |
681 |
< |
link="${jdkapi7docs.url}" |
681 |
> |
link="${java7.api.url}" |
682 |
|
overview="${4jdk7src.dir}/intro.html" |
683 |
|
access="${build.javadoc.access}" |
684 |
|
sourcepath="${4jdk7src.dir}:${jdk7src.dir}" |
687 |
|
<fileset dir="${4jdk7src.dir}" defaultexcludes="yes"> |
688 |
|
<include name="**/*.java"/> |
689 |
|
</fileset> |
690 |
+ |
<arg line="-Xdocrootparent ${java7.docroot.url}"/> |
691 |
|
<arg value="-XDignore.symbol.file=true"/> |
692 |
|
</javadoc> |
693 |
|
</target> |
742 |
|
<include name="jsr166x/**/*.java"/> |
743 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
744 |
|
<compilerarg value="-Xlint:all,-unchecked,-rawtypes"/> |
745 |
+ |
<compilerarg value="-Werror"/> |
746 |
|
<compilerarg line="${build.args}"/> |
747 |
|
|
748 |
|
</javac> |
768 |
|
|
769 |
|
<javadoc destdir="${jsr166xdocs.dir}" |
770 |
|
packagenames="jsr166x.*" |
771 |
< |
link="${jdkapidocs.url}" |
771 |
> |
link="${java.api.url}" |
772 |
|
access="${build.javadoc.access}" |
773 |
|
sourcepath="${topsrc.dir}:${jdk6src.dir}" |
774 |
|
bootclasspath="${bootclasspath6}" |
775 |
|
source="5" |
776 |
|
executable="${javadoc7}"> |
777 |
+ |
<arg line="-Xdocrootparent ${java.docroot.url}"/> |
778 |
|
<arg value="-XDignore.symbol.file=true"/> |
779 |
|
|
780 |
|
</javadoc> |
829 |
|
<include name="jsr166y/**/*.java"/> |
830 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
831 |
|
<compilerarg value="-Xlint:all"/> |
832 |
+ |
<compilerarg value="-Werror"/> |
833 |
|
<compilerarg line="${build.args}"/> |
834 |
|
|
835 |
|
</javac> |
855 |
|
|
856 |
|
<javadoc destdir="${jsr166ydocs.dir}" |
857 |
|
packagenames="jsr166y.*" |
858 |
< |
link="${jdkapidocs.url}" |
858 |
> |
link="${java.api.url}" |
859 |
|
access="${build.javadoc.access}" |
860 |
|
sourcepath="${topsrc.dir}:${jdk6src.dir}" |
861 |
|
bootclasspath="${bootclasspath6}" |
862 |
|
source="6" |
863 |
|
executable="${javadoc7}"> |
864 |
+ |
<arg line="-Xdocrootparent ${java.docroot.url}"/> |
865 |
|
<arg value="-XDignore.symbol.file=true"/> |
866 |
|
|
867 |
|
</javadoc> |
917 |
|
<include name="extra166y/**/*.java"/> |
918 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
919 |
|
<compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/> |
920 |
+ |
<compilerarg value="-Werror"/> |
921 |
|
<compilerarg line="${build.args}"/> |
922 |
|
|
923 |
|
</javac> |
943 |
|
|
944 |
|
<javadoc destdir="${extra166ydocs.dir}" |
945 |
|
packagenames="extra166y.*" |
946 |
< |
link="${jdkapidocs.url}" |
946 |
> |
link="${java.api.url}" |
947 |
|
access="${build.javadoc.access}" |
948 |
|
sourcepath="${topsrc.dir}:${jdk6src.dir}" |
949 |
|
bootclasspath="${bootclasspath6}" |
950 |
|
source="6" |
951 |
|
executable="${javadoc7}"> |
952 |
+ |
<arg line="-Xdocrootparent ${java.docroot.url}"/> |
953 |
|
<arg value="-XDignore.symbol.file=true"/> |
954 |
|
|
955 |
|
</javadoc> |
1005 |
|
<include name="jsr166e/**/*.java"/> |
1006 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
1007 |
|
<compilerarg value="-Xlint:all"/> |
1008 |
+ |
<compilerarg value="-Werror"/> |
1009 |
|
<compilerarg line="${build.args}"/> |
1010 |
|
|
1011 |
|
</javac> |
1012 |
|
</target> |
1013 |
|
|
1014 |
+ |
<!-- jsr166e: find doclint errors --> |
1015 |
+ |
<target name="jsr166edoclint"> |
1016 |
+ |
|
1017 |
+ |
<mkdir dir="${build.jsr166e.classes.dir}"/> |
1018 |
+ |
|
1019 |
+ |
<javac srcdir="${topsrc.dir}" |
1020 |
+ |
destdir="${build.jsr166e.classes.dir}" |
1021 |
+ |
debug="${build.debug}" |
1022 |
+ |
debuglevel="${build.debuglevel}" |
1023 |
+ |
deprecation="${build.deprecation}" |
1024 |
+ |
source="${build.jsr166e.java.version}" |
1025 |
+ |
classpath="" |
1026 |
+ |
bootclasspath="${bootclasspath7}" |
1027 |
+ |
includeAntRuntime="false" |
1028 |
+ |
includeJavaRuntime="false" |
1029 |
+ |
executable="${javac8}" |
1030 |
+ |
fork="true"> |
1031 |
+ |
|
1032 |
+ |
<include name="jsr166e/**/*.java"/> |
1033 |
+ |
<compilerarg value="-XDignore.symbol.file=true"/> |
1034 |
+ |
<compilerarg value="-Xlint:all"/> |
1035 |
+ |
<compilerarg value="-Werror"/> |
1036 |
+ |
<compilerarg value="-Xdoclint:all/protected"/> |
1037 |
+ |
|
1038 |
+ |
</javac> |
1039 |
+ |
</target> |
1040 |
+ |
|
1041 |
|
|
1042 |
|
<target name="jsr166ejar" |
1043 |
|
depends="jsr166ecompile" |
1058 |
|
|
1059 |
|
<javadoc destdir="${jsr166edocs.dir}" |
1060 |
|
packagenames="jsr166e.*" |
1061 |
< |
link="${jdkapidocs.url}" |
1061 |
> |
link="${java.api.url}" |
1062 |
|
access="${build.javadoc.access}" |
1063 |
|
sourcepath="${topsrc.dir}:${jdk6src.dir}" |
1064 |
|
source="${build.jsr166e.java.version}" |
1065 |
|
executable="${javadoc7}"> |
1066 |
+ |
<arg line="-Xdocrootparent ${java.docroot.url}"/> |
1067 |
|
<arg value="-XDignore.symbol.file=true"/> |
1068 |
|
|
1069 |
|
</javadoc> |
1136 |
|
|
1137 |
|
<target name="lint"> |
1138 |
|
<antcall target="dists"> |
1139 |
+ |
<param name="build.javadoc.access" value="public"/> |
1140 |
+ |
</antcall> |
1141 |
+ |
</target> |
1142 |
+ |
|
1143 |
+ |
<!-- Generates all doclint warnings, even for private methods (rarely useful) --> |
1144 |
+ |
<target name="lint-private"> |
1145 |
+ |
<antcall target="dist"> |
1146 |
|
<param name="build.javadoc.access" value="private"/> |
1147 |
|
</antcall> |
1148 |
|
</target> |