8 |
|
|
9 |
User-specific settings are read from user.properties. |
User-specific settings are read from user.properties. |
10 |
See user.properties.sample for an explanation of some useful settings. |
See user.properties.sample for an explanation of some useful settings. |
11 |
|
|
12 |
|
The repository contains all dependencies except for ant and the JDK |
13 |
|
itself. Because the JDK version matters and because different |
14 |
|
targets require different JDKs, we assume that users have created a |
15 |
|
hierarchy containing: |
16 |
|
$HOME/jdk/jdk6 |
17 |
|
$HOME/jdk/jdk7 |
18 |
|
$HOME/jdk/jdk8 |
19 |
|
where each of the above is a JDK or a symlink to same, and |
20 |
|
$HOME/jdk/src/jdk6 |
21 |
|
$HOME/jdk/src/jdk7 |
22 |
|
$HOME/jdk/src/jdk8 |
23 |
|
where each of the above is a complete JDK source tree |
24 |
|
(e.g. mercurial forest) or a symlink to same. |
25 |
------------------------------------------------------------------------------ |
------------------------------------------------------------------------------ |
26 |
</description> |
</description> |
27 |
|
|
49 |
<property name="build.javadocs.dir" location="${build.dir}/javadocs"/> |
<property name="build.javadocs.dir" location="${build.dir}/javadocs"/> |
50 |
<property name="build.reports.dir" location="${build.dir}/reports"/> |
<property name="build.reports.dir" location="${build.dir}/reports"/> |
51 |
|
|
52 |
<property name="build.jdk7.dir" location="${build.dir}/jdk7"/> |
<property name="build.4jdk7.dir" location="${build.dir}/4jdk7"/> |
53 |
<property name="build.jdk7.lib.dir" location="${build.jdk7.dir}"/> |
<property name="build.4jdk7.lib.dir" location="${build.4jdk7.dir}"/> |
54 |
<property name="build.jdk7.classes.dir" location="${build.jdk7.dir}/classes"/> |
<property name="build.4jdk7.classes.dir" location="${build.4jdk7.dir}/classes"/> |
55 |
<property name="build.jdk7.docs.dir" location="${build.jdk7.dir}/docs"/> |
<property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck/classes"/> |
56 |
|
<property name="build.4jdk7.docs.dir" location="${build.4jdk7.dir}/docs"/> |
57 |
|
|
58 |
<property name="build.jsr166x.dir" location="${build.dir}/jsr166x"/> |
<property name="build.jsr166x.dir" location="${build.dir}/jsr166x"/> |
59 |
<property name="build.jsr166xlib.dir" location="${build.dir}/jsr166xlib"/> |
<property name="build.jsr166xlib.dir" location="${build.dir}/jsr166xlib"/> |
73 |
|
|
74 |
<!-- JDK binary locations --> |
<!-- JDK binary locations --> |
75 |
<property name="jdks.home" location="${user.home}/jdk"/> |
<property name="jdks.home" location="${user.home}/jdk"/> |
76 |
<property name="jdk6.home" location="${jdks.home}/jdk1.6.0"/> |
|
77 |
<property name="jdk7.home" location="${jdks.home}/jdk1.7.0"/> |
<macrodef name="defjdklocations"> |
78 |
<property name="jdk8.home" location="${jdks.home}/jdk1.8.0"/> |
<attribute name="v"/> |
79 |
<property name="javac6" location="${jdk6.home}/bin/javac"/> |
<sequential> |
80 |
<property name="javac7" location="${jdk7.home}/bin/javac"/> |
<property name="jdk@{v}.home" location="${jdks.home}/jdk@{v}"/> |
81 |
<property name="javac8" location="${jdk8.home}/bin/javac"/> |
<property name="java@{v}" location="${jdk@{v}.home}/bin/java"/> |
82 |
<property name="javadoc6" location="${jdk6.home}/bin/javadoc"/> |
<property name="javac@{v}" location="${jdk@{v}.home}/bin/javac"/> |
83 |
<property name="javadoc7" location="${jdk7.home}/bin/javadoc"/> |
<property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/> |
84 |
<property name="javadoc8" location="${jdk8.home}/bin/javadoc"/> |
<property name="bootdir@{v}" location="${jdk@{v}.home}/jre/lib"/> |
85 |
<property name="bootdir6" location="${jdk6.home}/jre/lib"/> |
<property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/> |
86 |
<property name="bootdir7" location="${jdk7.home}/jre/lib"/> |
<property name="bootclasspath@{v}" |
87 |
<property name="bootdir8" location="${jdk8.home}/jre/lib"/> |
value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/> |
88 |
<property name="bootclasspath6" value="${bootdir6}/resources.jar:${bootdir6}/rt.jar:${bootdir6}/jsse.jar:${bootdir6}/jce.jar:${bootdir6}/:${bootdir6}/charsets.jar"/> |
</sequential> |
89 |
<property name="bootclasspath7" value="${bootdir7}/resources.jar:${bootdir7}/rt.jar:${bootdir7}/jsse.jar:${bootdir7}/jce.jar:${bootdir7}/:${bootdir7}/charsets.jar"/> |
</macrodef> |
90 |
<property name="bootclasspath8" value="${bootdir8}/resources.jar:${bootdir8}/rt.jar:${bootdir8}/jsse.jar:${bootdir8}/jce.jar:${bootdir8}/:${bootdir8}/charsets.jar"/> |
|
91 |
|
<defjdklocations v="6"/> |
92 |
|
<defjdklocations v="7"/> |
93 |
|
<defjdklocations v="8"/> |
94 |
|
|
95 |
|
<macrodef name="run-tck-tests"> |
96 |
|
<attribute name="jvm"/> |
97 |
|
<attribute name="tck.classes"/> |
98 |
|
<attribute name="product.jar" default="${product.jar}"/> |
99 |
|
<attribute name="jvmflags" default=""/> |
100 |
|
<sequential> |
101 |
|
<java classname="JSR166TestCase" |
102 |
|
jvm="@{jvm}" fork="true"> |
103 |
|
<jvmarg value="-Xbootclasspath/p:@{product.jar}"/> |
104 |
|
<jvmarg line="@{jvmflags}"/> |
105 |
|
<classpath> |
106 |
|
<pathelement location="${junit.jar}"/> |
107 |
|
<pathelement location="@{tck.classes}"/> |
108 |
|
</classpath> |
109 |
|
</java> |
110 |
|
</sequential> |
111 |
|
</macrodef> |
112 |
|
|
113 |
<!-- Source locations --> |
<!-- Source locations --> |
114 |
<property name="src.dir" location="${basedir}/src/main"/> |
<property name="src.dir" location="${basedir}/src/main"/> |
119 |
<property name="lib.dir" location="${basedir}/lib"/> |
<property name="lib.dir" location="${basedir}/lib"/> |
120 |
<property name="dist.dir" location="${basedir}/dist"/> |
<property name="dist.dir" location="${basedir}/dist"/> |
121 |
<property name="topsrc.dir" location="${basedir}/src"/> |
<property name="topsrc.dir" location="${basedir}/src"/> |
122 |
<property name="jdk7src.dir" location="${topsrc.dir}/jdk7"/> |
<property name="4jdk7src.dir" location="${topsrc.dir}/jdk7"/> |
123 |
<property name="jsr166xsrc.dir" location="${topsrc.dir}/jsr166x"/> |
<property name="jsr166xsrc.dir" location="${topsrc.dir}/jsr166x"/> |
124 |
<property name="jsr166ysrc.dir" location="${topsrc.dir}/jsr166y"/> |
<property name="jsr166ysrc.dir" location="${topsrc.dir}/jsr166y"/> |
125 |
<property name="jsr166esrc.dir" location="${topsrc.dir}/jsr166e"/> |
<property name="jsr166esrc.dir" location="${topsrc.dir}/jsr166e"/> |
128 |
|
|
129 |
<!-- Distribution locations --> |
<!-- Distribution locations --> |
130 |
<property name="dist.javadocs.dir" location="${dist.dir}/docs"/> |
<property name="dist.javadocs.dir" location="${dist.dir}/docs"/> |
131 |
<property name="dist.jdk7.docs.dir" location="${dist.dir}/jsr166-jdk7docs"/> |
<property name="dist.4jdk7.docs.dir" location="${dist.dir}/jsr166-4jdk7docs"/> |
132 |
<property name="dist.jsr166xjavadocs.dir" location="${dist.dir}/jsr166xdocs"/> |
<property name="dist.jsr166xjavadocs.dir" location="${dist.dir}/jsr166xdocs"/> |
133 |
<property name="dist.jsr166yjavadocs.dir" location="${dist.dir}/jsr166ydocs"/> |
<property name="dist.jsr166yjavadocs.dir" location="${dist.dir}/jsr166ydocs"/> |
134 |
<property name="dist.jsr166ejavadocs.dir" location="${dist.dir}/jsr166edocs"/> |
<property name="dist.jsr166ejavadocs.dir" location="${dist.dir}/jsr166edocs"/> |
136 |
|
|
137 |
<!-- Jar locations --> |
<!-- Jar locations --> |
138 |
<property name="product.jar" location="${build.lib.dir}/jsr166.jar"/> |
<property name="product.jar" location="${build.lib.dir}/jsr166.jar"/> |
139 |
<property name="jdk7product.jar" location="${build.jdk7.lib.dir}/jsr166-jdk7.jar"/> |
<property name="4jdk7product.jar" location="${build.4jdk7.lib.dir}/jsr166-4jdk7.jar"/> |
140 |
<property name="jsr166xproduct.jar" location="${build.jsr166xlib.dir}/jsr166x.jar"/> |
<property name="jsr166xproduct.jar" location="${build.jsr166xlib.dir}/jsr166x.jar"/> |
141 |
<property name="jsr166yproduct.jar" location="${build.jsr166ylib.dir}/jsr166y.jar"/> |
<property name="jsr166yproduct.jar" location="${build.jsr166ylib.dir}/jsr166y.jar"/> |
142 |
<property name="jsr166eproduct.jar" location="${build.jsr166elib.dir}/jsr166e.jar"/> |
<property name="jsr166eproduct.jar" location="${build.jsr166elib.dir}/jsr166e.jar"/> |
539 |
</target> |
</target> |
540 |
|
|
541 |
|
|
542 |
<!-- jdk7 --> |
<!-- jsr166 4jdk7 --> |
543 |
|
|
544 |
|
|
545 |
<target name="jdk7compile" |
<target name="4jdk7compile" |
546 |
depends="configure-compiler" |
depends="configure-compiler" |
547 |
description="Compiles src/jdk7 sources"> |
description="Compiles src/jdk7 sources, targeting jdk7"> |
548 |
|
|
549 |
<mkdir dir="${build.jdk7.classes.dir}"/> |
<mkdir dir="${build.4jdk7.classes.dir}"/> |
550 |
|
|
551 |
<javac srcdir="${jdk7src.dir}" |
<javac srcdir="${4jdk7src.dir}" |
552 |
destdir="${build.jdk7.classes.dir}" |
destdir="${build.4jdk7.classes.dir}" |
553 |
debug="${build.debug}" |
debug="${build.debug}" |
554 |
debuglevel="${build.debuglevel}" |
debuglevel="${build.debuglevel}" |
555 |
deprecation="${build.deprecation}" |
deprecation="${build.deprecation}" |
558 |
bootclasspath="${bootclasspath6}" |
bootclasspath="${bootclasspath6}" |
559 |
includeAntRuntime="false" |
includeAntRuntime="false" |
560 |
includeJavaRuntime="false" |
includeJavaRuntime="false" |
561 |
executable="${javac6}" |
executable="${javac7}" |
562 |
fork="true"> |
fork="true"> |
563 |
|
|
564 |
<include name="**/*.java"/> |
<include name="**/*.java"/> |
568 |
|
|
569 |
</javac> |
</javac> |
570 |
|
|
571 |
</target> |
<mkdir dir="${build.4jdk7.lib.dir}"/> |
572 |
|
|
573 |
|
<jar destfile="${4jdk7product.jar}" index="true"> |
574 |
|
<fileset dir="${build.4jdk7.classes.dir}"/> |
575 |
|
</jar> |
576 |
|
|
577 |
|
<mkdir dir="${build.4jdk7.tck.classes.dir}"/> |
578 |
|
|
579 |
<target name="jdk7jar" |
<javac srcdir="${tck.src.dir}" |
580 |
depends="jdk7compile" |
destdir="${build.4jdk7.tck.classes.dir}" |
581 |
description="Builds library jar from compiled sources"> |
debug="${build.debug}" |
582 |
|
debuglevel="${build.debuglevel}" |
583 |
|
deprecation="${build.deprecation}" |
584 |
|
source="1.6" |
585 |
|
classpath="${junit.jar}" |
586 |
|
bootclasspath="${4jdk7product.jar}:${bootclasspath6}" |
587 |
|
includeAntRuntime="false" |
588 |
|
includeJavaRuntime="false" |
589 |
|
executable="${javac7}" |
590 |
|
fork="true"> |
591 |
|
|
592 |
<mkdir dir="${build.jdk7.lib.dir}"/> |
<include name="**/*.java"/> |
593 |
|
<compilerarg line="${build.args}"/> |
594 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
595 |
|
<compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/> |
596 |
|
|
597 |
<jar destfile="${jdk7product.jar}" index="true"> |
</javac> |
598 |
<fileset dir="${build.jdk7.classes.dir}"/> |
|
599 |
</jar> |
</target> |
600 |
|
|
601 |
|
|
602 |
|
<target name="4jdk7-test-tck" |
603 |
|
depends="4jdk7compile" |
604 |
|
description="Runs tck tests for jsr166-4jdk7 directly"> |
605 |
|
<run-tck-tests |
606 |
|
jvm="${java7}" |
607 |
|
tck.classes="${build.4jdk7.tck.classes.dir}" |
608 |
|
product.jar="${4jdk7product.jar}"/> |
609 |
</target> |
</target> |
610 |
|
|
611 |
|
|
612 |
|
<target name="4jdk7-test-tck-junit" |
613 |
|
depends="4jdk7compile" |
614 |
|
description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)"> |
615 |
|
|
616 |
|
<junit printsummary="true" |
617 |
|
showoutput="true" |
618 |
|
errorProperty="junit.failed" |
619 |
|
failureProperty="junit.failed" |
620 |
|
includeantruntime="true" |
621 |
|
jvm="${java7}" |
622 |
|
fork="true"> |
623 |
|
|
624 |
|
<jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/> |
625 |
|
<jvmarg value="-server"/> |
626 |
|
|
627 |
|
<classpath> |
628 |
|
<pathelement location="${junit.jar}"/> |
629 |
|
<pathelement location="${build.4jdk7.tck.classes.dir}"/> |
630 |
|
</classpath> |
631 |
|
|
632 |
|
<formatter type="brief"/> |
633 |
|
|
634 |
|
<test name="JSR166TestCase" haltonfailure="no"> |
635 |
|
</test> |
636 |
|
|
637 |
|
</junit> |
638 |
|
</target> |
639 |
|
|
640 |
<target name="jdk7docs" |
|
641 |
|
<target name="4jdk7docs" |
642 |
description="Builds javadocs with custom tags to build folder"> |
description="Builds javadocs with custom tags to build folder"> |
643 |
|
|
644 |
<delete dir="${build.jdk7.docs.dir}"/> |
<delete dir="${build.4jdk7.docs.dir}"/> |
645 |
<mkdir dir="${build.jdk7.docs.dir}"/> |
<mkdir dir="${build.4jdk7.docs.dir}"/> |
646 |
|
|
647 |
<javadoc destdir="${build.jdk7.docs.dir}" |
<javadoc destdir="${build.4jdk7.docs.dir}" |
648 |
packagenames="none" |
packagenames="none" |
649 |
link="${jdkapi7docs.url}" |
link="${jdkapi7docs.url}" |
650 |
overview="${jdk7src.dir}/intro.html" |
overview="${4jdk7src.dir}/intro.html" |
651 |
sourcepath="${jdk7src.dir}" |
sourcepath="${4jdk7src.dir}:${jdk7src.dir}" |
|
bootclasspath="${bootclasspath6}" |
|
652 |
classpath="" |
classpath="" |
653 |
source="1.6" |
executable="${javadoc7}"> |
654 |
executable="${javadoc7}" |
<arg value="-XDignore.symbol.file=true"/> |
655 |
additionalparam="-XDignore.symbol.file=true" > |
<fileset dir="${4jdk7src.dir}" defaultexcludes="yes"> |
|
<fileset dir="${jdk7src.dir}" defaultexcludes="yes"> |
|
656 |
<include name="**/*.java"/> |
<include name="**/*.java"/> |
657 |
</fileset> |
</fileset> |
658 |
</javadoc> |
</javadoc> |
660 |
</target> |
</target> |
661 |
|
|
662 |
|
|
663 |
<target name="jdk7dist" |
<target name="4jdk7dist" |
664 |
depends="jdk7dist-clean, jdk7dist-jar, jdk7dist-docs" |
depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7dist-docs" |
665 |
description="Puts all distributable products in single hierarchy"/> |
description="Puts all distributable products in single hierarchy"/> |
666 |
|
|
667 |
|
|
668 |
|
|
669 |
<target name="jdk7clean" |
<target name="4jdk7clean" |
670 |
description="Removes all build products"> |
description="Removes all build products"> |
671 |
|
|
672 |
<delete dir="${build.jdk7.dir}"/> |
<delete dir="${build.4jdk7.dir}"/> |
673 |
|
|
674 |
</target> |
</target> |
675 |
|
|
676 |
|
|
677 |
|
|
678 |
<target name="jdk7dist-clean" |
<target name="4jdk7dist-clean" |
679 |
description="Removes all build and distribution products"> |
description="Removes all build and distribution products"> |
680 |
|
|
681 |
</target> |
</target> |
682 |
|
|
683 |
<target name="jdk7dist-docs" |
<target name="4jdk7dist-docs" |
684 |
description="Builds javadocs without custom tags to dist folder"> |
description="Builds javadocs without custom tags to dist folder"> |
685 |
|
|
686 |
<delete dir="${dist.jdk7.docs.dir}"/> |
<delete dir="${dist.4jdk7.docs.dir}"/> |
687 |
<mkdir dir="${dist.jdk7.docs.dir}"/> |
<mkdir dir="${dist.4jdk7.docs.dir}"/> |
688 |
|
|
689 |
<javadoc destdir="${dist.jdk7.docs.dir}" |
<javadoc destdir="${dist.4jdk7.docs.dir}" |
690 |
packagenames="none" |
packagenames="none" |
691 |
link="${jdkapi7docs.url}" |
link="${jdkapi7docs.url}" |
692 |
overview="${jdk7src.dir}/intro.html" |
overview="${4jdk7src.dir}/intro.html" |
693 |
sourcepath="${jdk7src.dir}" |
sourcepath="${4jdk7src.dir}:${jdk7src.dir}" |
694 |
classpath="" |
classpath="" |
695 |
executable="${javadoc7}" |
executable="${javadoc7}"> |
|
bootclasspath="${bootclasspath6}" |
|
|
source="1.6"> |
|
696 |
<arg value="-XDignore.symbol.file=true"/> |
<arg value="-XDignore.symbol.file=true"/> |
697 |
<fileset dir="${jdk7src.dir}" defaultexcludes="yes"> |
<fileset dir="${4jdk7src.dir}" defaultexcludes="yes"> |
698 |
<include name="**/*.java"/> |
<include name="**/*.java"/> |
699 |
</fileset> |
</fileset> |
700 |
</javadoc> |
</javadoc> |
701 |
|
|
702 |
</target> |
</target> |
703 |
|
|
704 |
<target name="jdk7dist-jar" |
<target name="4jdk7dist-jar" |
705 |
depends="jdk7clean, jdk7jar"> |
depends="4jdk7clean, 4jdk7compile"> |
706 |
|
|
707 |
<copy file="${jdk7product.jar}" todir="${dist.dir}"/> |
<copy file="${4jdk7product.jar}" todir="${dist.dir}"/> |
708 |
|
|
709 |
</target> |
</target> |
710 |
|
|
1020 |
|
|
1021 |
<!-- jsr166e --> |
<!-- jsr166e --> |
1022 |
|
|
|
|
|
1023 |
<target name="jsr166ecompile" |
<target name="jsr166ecompile" |
1024 |
depends="init, configure-compiler" |
depends="configure-compiler" |
1025 |
description="Compiles jsr166e sources"> |
description="Compiles jsr166e sources"> |
1026 |
|
|
1027 |
<mkdir dir="${build.jsr166e.dir}"/> |
<mkdir dir="${build.jsr166e.dir}"/> |
1028 |
|
|
1029 |
<javac srcdir="${jsr166esrc.dir}" |
<javac srcdir="${topsrc.dir}" |
1030 |
destdir="${build.jsr166e.dir}" |
destdir="${build.jsr166e.dir}" |
1031 |
debug="${build.debug}" |
debug="${build.debug}" |
1032 |
debuglevel="${build.debuglevel}" |
debuglevel="${build.debuglevel}" |
1033 |
deprecation="${build.deprecation}" |
deprecation="${build.deprecation}" |
1034 |
source="1.7" |
source="1.7" |
1035 |
fork="true"> |
classpath="" |
1036 |
|
includeAntRuntime="false" |
1037 |
|
includeJavaRuntime="false" |
1038 |
|
executable="${javac7}" |
1039 |
|
fork="true"> |
1040 |
|
|
1041 |
<include name="**/*.java"/> |
<include name="jsr166e/**/*.java"/> |
1042 |
<compilerarg line="${build.args}"/> |
<compilerarg line="${build.args}"/> |
1043 |
<compilerarg value="-XDignore.symbol.file=true"/> |
<compilerarg value="-XDignore.symbol.file=true"/> |
1044 |
<compilerarg value="${bootclasspath.args}"/> |
<compilerarg value="-Xlint:all"/> |
|
|
|
|
<!-- <compilerarg line="-Xlint -Xmaxwarns 1000"/> --> |
|
1045 |
|
|
1046 |
</javac> |
</javac> |
1047 |
|
|
1071 |
|
|
1072 |
<javadoc destdir="${build.jsr166ejavadocs.dir}" |
<javadoc destdir="${build.jsr166ejavadocs.dir}" |
1073 |
packagenames="jsr166e,jsr166e.extra" |
packagenames="jsr166e,jsr166e.extra" |
1074 |
link="${jdkapidocs.url}" |
link="${jdkapi7docs.url}" |
1075 |
source="1.7" |
source="1.7" |
1076 |
sourcepath="${topsrc.dir}:${jdksrc.dir}" |
sourcepath="${topsrc.dir}:${jdk7src.dir}" |
1077 |
additionalparam="-XDignore.symbol.file=true" /> |
executable="${javadoc7}" |
1078 |
|
additionalparam="-XDignore.symbol.file=true" > |
1079 |
|
<fileset dir="${topsrc.dir}" defaultexcludes="yes"> |
1080 |
|
<include name="jsr166e/**/*.java"/> |
1081 |
|
</fileset> |
1082 |
|
</javadoc> |
1083 |
|
|
1084 |
</target> |
</target> |
1085 |
|
|