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. |
25 |
– |
As of 2013-02, the very latest lambda 8 jdk is needed for jdk8. |
27 |
|
------------------------------------------------------------------------------ |
28 |
|
</description> |
29 |
|
|
30 |
< |
<target name="usage" description="Display main targets by running 'ant -projecthelp'"> |
30 |
> |
<!-- Display main targets by running 'ant -projecthelp' --> |
31 |
> |
<target name="usage"> |
32 |
|
<java classname="org.apache.tools.ant.Main"> |
33 |
|
<arg value="-projecthelp" /> |
34 |
|
</java> |
116 |
|
<defjdklocations v="6"/> |
117 |
|
<defjdklocations v="7"/> |
118 |
|
<defjdklocations v="8"/> |
119 |
+ |
<defjdklocations v="9"/> |
120 |
|
|
121 |
|
<!-- Source locations --> |
122 |
|
<property name="src.dir" location="${basedir}/src/main"/> |
157 |
|
<property name="extra166y.jar" location="${build.extra166y.dir}/extra166y.jar"/> |
158 |
|
<property name="junit.jar" location="${lib.dir}/junit.jar"/> |
159 |
|
|
160 |
< |
<!-- Canonical location of jdk API docs, to use with javadoc link attribute --> |
161 |
< |
<property name="jdkapi5docs.url" value="http://docs.oracle.com/javase/1.5.0/docs/api/"/> |
162 |
< |
<property name="jdkapi6docs.url" value="http://docs.oracle.com/javase/6/docs/api/"/> |
163 |
< |
<property name="jdkapi7docs.url" value="http://docs.oracle.com/javase/7/docs/api/"/> |
164 |
< |
|
165 |
< |
<property name="jdkapi8docs.url" value="http://download.java.net/jdk8/docs/api/"/> |
166 |
< |
<!-- The below does not yet exist as of 2013-01 --> |
167 |
< |
<!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> --> |
160 |
> |
<!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag --> |
161 |
> |
<property name="java5.docroot.url" value="http://docs.oracle.com/javase/1.5.0/docs"/> |
162 |
> |
<property name="java6.docroot.url" value="http://docs.oracle.com/javase/6/docs"/> |
163 |
> |
<property name="java7.docroot.url" value="http://docs.oracle.com/javase/7/docs"/> |
164 |
> |
<!-- The expected canonical location does not yet exist as of 2014-02 --> |
165 |
> |
<!-- <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 --> |
168 |
> |
<!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> --> |
169 |
> |
<property name="java9.docroot.url" value="${java8.docroot.url}"/> |
170 |
> |
<!-- Default jdk doc location (latest stable release seems best) --> |
171 |
> |
<property name="java.docroot.url" value="${java7.docroot.url}"/> |
172 |
|
|
173 |
< |
<!-- Default jdk api doc location (latest stable release seems best) --> |
174 |
< |
<property name="jdkapidocs.url" value="${jdkapi7docs.url}"/> |
173 |
> |
<!-- Canonical location of jdk API docs, to use with javadoc link attribute --> |
174 |
> |
<property name="java5.api.url" value="${java5.docroot.url}/api/"/> |
175 |
> |
<property name="java6.api.url" value="${java6.docroot.url}/api/"/> |
176 |
> |
<property name="java7.api.url" value="${java7.docroot.url}/api/"/> |
177 |
> |
<property name="java8.api.url" value="${java8.docroot.url}/api/"/> |
178 |
> |
<property name="java9.api.url" value="${java9.docroot.url}/api/"/> |
179 |
> |
<property name="java.api.url" value="${java.docroot.url}/api/"/> |
180 |
|
|
181 |
|
<!-- Define the "jtreg" task --> |
182 |
|
<!-- See the docs in "jtreg -onlineHelp" --> |
242 |
|
</macrodef> |
243 |
|
|
244 |
|
<macrodef name="run-jtreg-tests"> |
245 |
+ |
<!-- ant -Djtreg.src.dir=src/test/jtreg/util/concurrent/CompletableFuture test-jtreg --> |
246 |
|
<attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/> |
247 |
|
<attribute name="source" default="7"/> |
248 |
|
<attribute name="target"/> |
281 |
|
|
282 |
|
<!-- Main targets --> |
283 |
|
|
284 |
+ |
<property name="build.main.java.version" value="9"/> |
285 |
+ |
<property name="build.main.javac" value="${javac9}"/> |
286 |
+ |
|
287 |
|
<target name="dists" |
288 |
|
depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist" |
289 |
|
description="Builds all public jars and docs"/> |
302 |
|
classpath="" |
303 |
|
includeAntRuntime="false" |
304 |
|
includeJavaRuntime="false" |
305 |
< |
executable="${javac8}" |
305 |
> |
executable="${build.main.javac}" |
306 |
|
fork="true"> |
307 |
|
|
308 |
|
<include name="**/*.java"/> |
309 |
|
<compilerarg value="-Xprefer:source"/> |
310 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
311 |
|
<compilerarg value="-Xlint:all"/> |
312 |
+ |
<compilerarg value="-Xdoclint:all/protected"/> |
313 |
+ |
<compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/> |
314 |
|
<compilerarg line="${build.args}"/> |
315 |
|
|
316 |
|
</javac> |
338 |
|
|
339 |
|
<javadoc destdir="${docs.dir}" |
340 |
|
packagenames="none" |
341 |
< |
link="${jdkapi8docs.url}" |
341 |
> |
link="${java9.api.url}" |
342 |
|
overview="${src.dir}/intro.html" |
343 |
|
access="${build.javadoc.access}" |
344 |
< |
sourcepath="${src.dir}:${jdk8src.dir}" |
344 |
> |
sourcepath="${src.dir}:${jdk9src.dir}" |
345 |
|
classpath="" |
346 |
< |
executable="${javadoc8}"> |
346 |
> |
executable="${javadoc9}"> |
347 |
|
<fileset dir="${src.dir}" defaultexcludes="yes"> |
348 |
|
<include name="**/*.java"/> |
349 |
|
</fileset> |
350 |
+ |
<arg line="-Xdocrootparent ${java9.docroot.url}"/> |
351 |
+ |
<arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/> |
352 |
|
<arg value="-XDignore.symbol.file=true"/> |
353 |
|
<arg value="-tag"/> |
354 |
|
<arg value="${javadoc.jls.option}"/> |
396 |
|
<target name="dist-clean" |
397 |
|
description="Removes all build and distribution products"> |
398 |
|
|
399 |
+ |
<delete dir="${build.dir}"/> |
400 |
|
<delete dir="${dist.dir}"/> |
401 |
|
|
402 |
|
</target> |
418 |
|
description="Runs tck tests for main directly"> |
419 |
|
|
420 |
|
<run-tck-tests |
421 |
< |
target="8" |
421 |
> |
target="${build.main.java.version}" |
422 |
|
workdir="${build.dir}" |
423 |
|
classes="${product.jar}"/> |
424 |
|
</target> |
427 |
|
depends="jar" |
428 |
|
description="Runs jtreg tests for main using the jtreg ant task"> |
429 |
|
<run-jtreg-tests |
430 |
< |
target="8" |
430 |
> |
target="${build.main.java.version}" |
431 |
|
workdir="${build.dir}" |
432 |
|
classes="${product.jar}"/> |
433 |
|
</target> |
437 |
|
description="Runs tck and jtreg tests for main"> |
438 |
|
</target> |
439 |
|
|
440 |
+ |
<target name="test89" |
441 |
+ |
description="Runs tck and jtreg tests for main for multiple java versions"> |
442 |
+ |
|
443 |
+ |
<antcall target="clean"/> |
444 |
+ |
<antcall target="test"> |
445 |
+ |
<param name="build.main.java.version" value="8"/> |
446 |
+ |
<param name="build.main.javac" value="${javac8}"/> |
447 |
+ |
</antcall> |
448 |
+ |
|
449 |
+ |
<antcall target="clean"/> |
450 |
+ |
<antcall target="test"> |
451 |
+ |
<param name="build.main.java.version" value="9"/> |
452 |
+ |
<param name="build.main.javac" value="${javac9}"/> |
453 |
+ |
</antcall> |
454 |
+ |
|
455 |
+ |
</target> |
456 |
+ |
|
457 |
|
|
458 |
|
|
459 |
|
<target name="configure-compiler"> |
533 |
|
</javac> |
534 |
|
</target> |
535 |
|
|
536 |
+ |
<target name="4jdk7doclint" |
537 |
+ |
depends="configure-compiler" |
538 |
+ |
description="Finds doclint warnings"> |
539 |
+ |
|
540 |
+ |
<mkdir dir="${build.4jdk7.classes.dir}"/> |
541 |
+ |
|
542 |
+ |
<javac srcdir="${4jdk7src.dir}" |
543 |
+ |
destdir="${build.4jdk7.classes.dir}" |
544 |
+ |
debug="${build.debug}" |
545 |
+ |
debuglevel="${build.debuglevel}" |
546 |
+ |
deprecation="${build.deprecation}" |
547 |
+ |
source="6" |
548 |
+ |
classpath="" |
549 |
+ |
bootclasspath="${bootclasspath7}" |
550 |
+ |
includeAntRuntime="false" |
551 |
+ |
includeJavaRuntime="false" |
552 |
+ |
executable="${javac8}" |
553 |
+ |
fork="true"> |
554 |
+ |
|
555 |
+ |
<include name="**/*.java"/> |
556 |
+ |
<compilerarg value="-Xprefer:source"/> |
557 |
+ |
<compilerarg value="-XDignore.symbol.file=true"/> |
558 |
+ |
<compilerarg value="-Xlint:all"/> |
559 |
+ |
<compilerarg value="-Xdoclint:all/protected"/> |
560 |
+ |
<compilerarg line="${build.args}"/> |
561 |
+ |
|
562 |
+ |
</javac> |
563 |
+ |
</target> |
564 |
+ |
|
565 |
|
|
566 |
|
<target name="4jdk7jar" |
567 |
|
depends="4jdk7compile" |
585 |
|
<javac-elements> |
586 |
|
<!-- JDK8+ test classes --> |
587 |
|
<exclude name="*8Test.java"/> |
588 |
+ |
<exclude name="*9Test.java"/> |
589 |
|
<exclude name="DoubleAccumulatorTest.java"/> |
590 |
|
<exclude name="DoubleAdderTest.java"/> |
591 |
|
<exclude name="LongAccumulatorTest.java"/> |
592 |
|
<exclude name="LongAdderTest.java"/> |
593 |
|
<exclude name="CompletableFutureTest.java"/> |
594 |
+ |
<exclude name="SplittableRandomTest.java"/> |
595 |
|
<exclude name="StampedLockTest.java"/> |
596 |
|
</javac-elements> |
597 |
|
</run-tck-tests> |
651 |
|
|
652 |
|
<javadoc destdir="${4jdk7docs.dir}" |
653 |
|
packagenames="none" |
654 |
< |
link="${jdkapi7docs.url}" |
654 |
> |
link="${java7.api.url}" |
655 |
|
overview="${4jdk7src.dir}/intro.html" |
656 |
|
access="${build.javadoc.access}" |
657 |
|
sourcepath="${4jdk7src.dir}:${jdk7src.dir}" |
660 |
|
<fileset dir="${4jdk7src.dir}" defaultexcludes="yes"> |
661 |
|
<include name="**/*.java"/> |
662 |
|
</fileset> |
663 |
+ |
<arg line="-Xdocrootparent ${java7.docroot.url}"/> |
664 |
|
<arg value="-XDignore.symbol.file=true"/> |
665 |
|
</javadoc> |
666 |
|
</target> |
679 |
|
</target> |
680 |
|
|
681 |
|
|
612 |
– |
<target name="4jdk7dist-clean" |
613 |
– |
description="Removes all build and distribution products"> |
614 |
– |
|
615 |
– |
</target> |
616 |
– |
|
682 |
|
<target name="4jdk7dist-jar" |
683 |
|
depends="4jdk7clean, 4jdk7jar"> |
684 |
|
<copy file="${4jdk7product.jar}" todir="${dist.dir}"/> |
740 |
|
|
741 |
|
<javadoc destdir="${jsr166xdocs.dir}" |
742 |
|
packagenames="jsr166x.*" |
743 |
< |
link="${jdkapidocs.url}" |
743 |
> |
link="${java.api.url}" |
744 |
|
access="${build.javadoc.access}" |
745 |
|
sourcepath="${topsrc.dir}:${jdk6src.dir}" |
746 |
|
bootclasspath="${bootclasspath6}" |
747 |
|
source="5" |
748 |
|
executable="${javadoc7}"> |
749 |
+ |
<arg line="-Xdocrootparent ${java.docroot.url}"/> |
750 |
|
<arg value="-XDignore.symbol.file=true"/> |
751 |
|
|
752 |
|
</javadoc> |
766 |
|
</target> |
767 |
|
|
768 |
|
|
703 |
– |
<target name="jsr166xdist-clean" |
704 |
– |
description="Removes all build and distribution products"> |
705 |
– |
|
706 |
– |
</target> |
707 |
– |
|
708 |
– |
|
769 |
|
<target name="jsr166xdist-jar" |
770 |
|
depends="jsr166xclean, jsr166xjar"> |
771 |
|
<copy file="${jsr166x.jar}" todir="${dist.dir}"/> |
826 |
|
|
827 |
|
<javadoc destdir="${jsr166ydocs.dir}" |
828 |
|
packagenames="jsr166y.*" |
829 |
< |
link="${jdkapidocs.url}" |
829 |
> |
link="${java.api.url}" |
830 |
|
access="${build.javadoc.access}" |
831 |
|
sourcepath="${topsrc.dir}:${jdk6src.dir}" |
832 |
|
bootclasspath="${bootclasspath6}" |
833 |
|
source="6" |
834 |
|
executable="${javadoc7}"> |
835 |
+ |
<arg line="-Xdocrootparent ${java.docroot.url}"/> |
836 |
|
<arg value="-XDignore.symbol.file=true"/> |
837 |
|
|
838 |
|
</javadoc> |
852 |
|
</target> |
853 |
|
|
854 |
|
|
794 |
– |
<target name="jsr166ydist-clean" |
795 |
– |
description="Removes all build and distribution products"> |
796 |
– |
|
797 |
– |
</target> |
798 |
– |
|
855 |
|
<target name="jsr166ydist-jar" |
856 |
|
depends="jsr166yclean, jsr166yjar"> |
857 |
|
<copy file="${jsr166y.jar}" todir="${dist.dir}"/> |
913 |
|
|
914 |
|
<javadoc destdir="${extra166ydocs.dir}" |
915 |
|
packagenames="extra166y.*" |
916 |
< |
link="${jdkapidocs.url}" |
916 |
> |
link="${java.api.url}" |
917 |
|
access="${build.javadoc.access}" |
918 |
|
sourcepath="${topsrc.dir}:${jdk6src.dir}" |
919 |
|
bootclasspath="${bootclasspath6}" |
920 |
|
source="6" |
921 |
|
executable="${javadoc7}"> |
922 |
+ |
<arg line="-Xdocrootparent ${java.docroot.url}"/> |
923 |
|
<arg value="-XDignore.symbol.file=true"/> |
924 |
|
|
925 |
|
</javadoc> |
939 |
|
</target> |
940 |
|
|
941 |
|
|
885 |
– |
<target name="extra166ydist-clean" |
886 |
– |
description="Removes all build and distribution products"> |
887 |
– |
|
888 |
– |
</target> |
889 |
– |
|
942 |
|
<target name="extra166ydist-jar" |
943 |
|
depends="extra166yclean, extra166yjar"> |
944 |
|
<copy file="${extra166y.jar}" todir="${dist.dir}"/> |
980 |
|
</javac> |
981 |
|
</target> |
982 |
|
|
983 |
+ |
<!-- jsr166e: find doclint errors --> |
984 |
+ |
<target name="jsr166edoclint"> |
985 |
+ |
|
986 |
+ |
<mkdir dir="${build.jsr166e.classes.dir}"/> |
987 |
+ |
|
988 |
+ |
<javac srcdir="${topsrc.dir}" |
989 |
+ |
destdir="${build.jsr166e.classes.dir}" |
990 |
+ |
debug="${build.debug}" |
991 |
+ |
debuglevel="${build.debuglevel}" |
992 |
+ |
deprecation="${build.deprecation}" |
993 |
+ |
source="${build.jsr166e.java.version}" |
994 |
+ |
classpath="" |
995 |
+ |
bootclasspath="${bootclasspath7}" |
996 |
+ |
includeAntRuntime="false" |
997 |
+ |
includeJavaRuntime="false" |
998 |
+ |
executable="${javac8}" |
999 |
+ |
fork="true"> |
1000 |
+ |
|
1001 |
+ |
<include name="jsr166e/**/*.java"/> |
1002 |
+ |
<compilerarg value="-XDignore.symbol.file=true"/> |
1003 |
+ |
<compilerarg value="-Xlint:all"/> |
1004 |
+ |
<compilerarg value="-Xdoclint:all/protected"/> |
1005 |
+ |
|
1006 |
+ |
</javac> |
1007 |
+ |
</target> |
1008 |
+ |
|
1009 |
|
|
1010 |
|
<target name="jsr166ejar" |
1011 |
|
depends="jsr166ecompile" |
1026 |
|
|
1027 |
|
<javadoc destdir="${jsr166edocs.dir}" |
1028 |
|
packagenames="jsr166e.*" |
1029 |
< |
link="${jdkapidocs.url}" |
1029 |
> |
link="${java.api.url}" |
1030 |
|
access="${build.javadoc.access}" |
1031 |
|
sourcepath="${topsrc.dir}:${jdk6src.dir}" |
1032 |
|
source="${build.jsr166e.java.version}" |
1033 |
|
executable="${javadoc7}"> |
1034 |
+ |
<arg line="-Xdocrootparent ${java.docroot.url}"/> |
1035 |
|
<arg value="-XDignore.symbol.file=true"/> |
1036 |
|
|
1037 |
|
</javadoc> |
1039 |
|
|
1040 |
|
|
1041 |
|
<target name="jsr166e-test-tck-one-java-version" |
1042 |
< |
depends="jsr166ejar" |
964 |
< |
description="Runs tck tests for jsr166e"> |
1042 |
> |
depends="jsr166ejar"> |
1043 |
|
|
1044 |
|
<echo message="Testing with jdk${build.jsr166e.java.version} ..."/> |
1045 |
|
|
1073 |
|
</target> |
1074 |
|
|
1075 |
|
|
1076 |
+ |
<target name="jsr166e-test" |
1077 |
+ |
depends="jsr166e-test-tck" |
1078 |
+ |
description="Runs all tests for jsr166e"> |
1079 |
+ |
</target> |
1080 |
+ |
|
1081 |
|
<target name="jsr166edist" |
1082 |
|
depends="jsr166edist-jar, jsr166edist-docs" |
1083 |
|
description="Puts all distributable products in single hierarchy"/> |
1089 |
|
</target> |
1090 |
|
|
1091 |
|
|
1009 |
– |
<target name="jsr166edist-clean" |
1010 |
– |
description="Removes all build and distribution products"> |
1011 |
– |
|
1012 |
– |
</target> |
1013 |
– |
|
1092 |
|
<target name="jsr166edist-jar" |
1093 |
|
depends="jsr166eclean, jsr166ejar"> |
1094 |
|
<copy file="${jsr166e.jar}" todir="${dist.dir}"/> |