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. |
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> |
27 |
|
|
49 |
|
<property name="build.javadocs.dir" location="${build.dir}/javadocs"/> |
50 |
|
<property name="build.reports.dir" location="${build.dir}/reports"/> |
51 |
|
|
52 |
< |
<property name="build.jdk7.dir" location="${build.dir}/jdk7"/> |
53 |
< |
<property name="build.jdk7.lib.dir" location="${build.jdk7.dir}"/> |
54 |
< |
<property name="build.jdk7.classes.dir" location="${build.jdk7.dir}/classes"/> |
55 |
< |
<property name="build.jdk7.tck.classes.dir" location="${build.jdk7.dir}/tck/classes"/> |
56 |
< |
<property name="build.jdk7.docs.dir" location="${build.jdk7.dir}/docs"/> |
52 |
> |
<property name="build.4jdk7.dir" location="${build.dir}/4jdk7"/> |
53 |
> |
<property name="build.4jdk7.lib.dir" location="${build.4jdk7.dir}"/> |
54 |
> |
<property name="build.4jdk7.classes.dir" location="${build.4jdk7.dir}/classes"/> |
55 |
> |
<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"/> |
59 |
|
<property name="build.jsr166xlib.dir" location="${build.dir}/jsr166xlib"/> |
77 |
|
<macrodef name="defjdklocations"> |
78 |
|
<attribute name="v"/> |
79 |
|
<sequential> |
80 |
< |
<property name="jdk@{v}.home" location="${jdks.home}/jdk@{v}"/> |
81 |
< |
<property name="java@{v}" location="${jdk@{v}.home}/bin/java"/> |
82 |
< |
<property name="javac@{v}" location="${jdk@{v}.home}/bin/javac"/> |
83 |
< |
<property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/> |
84 |
< |
<property name="bootdir@{v}" location="${jdk@{v}.home}/jre/lib"/> |
80 |
> |
<property name="jdk@{v}.home" location="${jdks.home}/jdk@{v}"/> |
81 |
> |
<property name="java@{v}" location="${jdk@{v}.home}/bin/java"/> |
82 |
> |
<property name="javac@{v}" location="${jdk@{v}.home}/bin/javac"/> |
83 |
> |
<property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/> |
84 |
> |
<property name="bootdir@{v}" location="${jdk@{v}.home}/jre/lib"/> |
85 |
> |
<property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/> |
86 |
|
<property name="bootclasspath@{v}" |
87 |
|
value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/> |
88 |
|
</sequential> |
119 |
|
<property name="lib.dir" location="${basedir}/lib"/> |
120 |
|
<property name="dist.dir" location="${basedir}/dist"/> |
121 |
|
<property name="topsrc.dir" location="${basedir}/src"/> |
122 |
< |
<property name="jdk7src.dir" location="${topsrc.dir}/jdk7"/> |
122 |
> |
<property name="4jdk7src.dir" location="${topsrc.dir}/jdk7"/> |
123 |
|
<property name="jsr166xsrc.dir" location="${topsrc.dir}/jsr166x"/> |
124 |
|
<property name="jsr166ysrc.dir" location="${topsrc.dir}/jsr166y"/> |
125 |
|
<property name="jsr166esrc.dir" location="${topsrc.dir}/jsr166e"/> |
128 |
|
|
129 |
|
<!-- Distribution locations --> |
130 |
|
<property name="dist.javadocs.dir" location="${dist.dir}/docs"/> |
131 |
< |
<property name="dist.jdk7.docs.dir" location="${dist.dir}/jsr166-jdk7docs"/> |
131 |
> |
<property name="dist.4jdk7.docs.dir" location="${dist.dir}/jsr166-4jdk7docs"/> |
132 |
|
<property name="dist.jsr166xjavadocs.dir" location="${dist.dir}/jsr166xdocs"/> |
133 |
|
<property name="dist.jsr166yjavadocs.dir" location="${dist.dir}/jsr166ydocs"/> |
134 |
|
<property name="dist.jsr166ejavadocs.dir" location="${dist.dir}/jsr166edocs"/> |
136 |
|
|
137 |
|
<!-- Jar locations --> |
138 |
|
<property name="product.jar" location="${build.lib.dir}/jsr166.jar"/> |
139 |
< |
<property name="jdk7product.jar" location="${build.jdk7.lib.dir}/jsr166-jdk7.jar"/> |
139 |
> |
<property name="4jdk7product.jar" location="${build.4jdk7.lib.dir}/jsr166-4jdk7.jar"/> |
140 |
|
<property name="jsr166xproduct.jar" location="${build.jsr166xlib.dir}/jsr166x.jar"/> |
141 |
|
<property name="jsr166yproduct.jar" location="${build.jsr166ylib.dir}/jsr166y.jar"/> |
142 |
|
<property name="jsr166eproduct.jar" location="${build.jsr166elib.dir}/jsr166e.jar"/> |
167 |
|
<pathelement location="${build.loops.dir}"/> |
168 |
|
</path> |
169 |
|
|
170 |
+ |
<!-- Support @jls tag, used in jdk8+ javadoc --> |
171 |
+ |
<!-- TODO: How do we get &trade to work? --> |
172 |
+ |
<!-- property name="javadoc.jls.cite" value="The Java™ Language Specification" --> |
173 |
+ |
<property name="javadoc.jls.cite" value="The Java Language Specification"/> |
174 |
+ |
<property name="javadoc.jls.option" value="jls:a:See <cite>${javadoc.jls.cite}</cite>:"/> |
175 |
|
|
176 |
|
<!-- Main targets --> |
177 |
|
|
180 |
|
description="Builds all public jars and docs"/> |
181 |
|
|
182 |
|
<target name="compile" |
183 |
< |
depends="init, configure-compiler" |
184 |
< |
description="Compiles main sources to build folder"> |
183 |
> |
depends="configure-compiler" |
184 |
> |
description="Compiles src/main sources to build folder"> |
185 |
|
|
186 |
|
<mkdir dir="${build.classes.dir}"/> |
187 |
|
|
188 |
|
<javac srcdir="${src.dir}" |
189 |
< |
destdir="${build.classes.dir}" |
190 |
< |
debug="${build.debug}" |
191 |
< |
debuglevel="${build.debuglevel}" |
192 |
< |
deprecation="${build.deprecation}" |
193 |
< |
source="${build.sourcelevel}" |
194 |
< |
fork="true"> |
189 |
> |
destdir="${build.classes.dir}" |
190 |
> |
debug="${build.debug}" |
191 |
> |
debuglevel="${build.debuglevel}" |
192 |
> |
deprecation="${build.deprecation}" |
193 |
> |
classpath="" |
194 |
> |
includeAntRuntime="false" |
195 |
> |
includeJavaRuntime="false" |
196 |
> |
executable="${javac8}" |
197 |
> |
fork="true"> |
198 |
|
|
199 |
|
<include name="**/*.java"/> |
200 |
+ |
<compilerarg line="${build.args}"/> |
201 |
|
<compilerarg value="-XDignore.symbol.file=true"/> |
202 |
+ |
<compilerarg value="-Xlint:all"/> |
203 |
|
|
204 |
|
<!-- |
205 |
|
<exclude name="java/lang/**"/> |
234 |
|
|
235 |
|
|
236 |
|
<target name="docs" |
237 |
< |
description="Builds javadocs with custom tags to build folder"> |
237 |
> |
description="Builds javadocs for src/main"> |
238 |
|
|
239 |
< |
<delete dir="${build.javadocs.dir}"/> |
240 |
< |
<mkdir dir="${build.javadocs.dir}"/> |
239 |
> |
<delete dir="${dist.javadocs.dir}"/> |
240 |
> |
<mkdir dir="${dist.javadocs.dir}"/> |
241 |
|
|
242 |
|
<!-- the packagenames="none" hack below prevents scanning the --> |
243 |
|
<!-- sourcepath for packages --> |
244 |
|
|
245 |
< |
<javadoc destdir="${build.javadocs.dir}" |
245 |
> |
<javadoc destdir="${dist.javadocs.dir}" |
246 |
|
packagenames="none" |
247 |
< |
link="${jdkapidocs.url}" |
247 |
> |
link="${jdkapi8docs.url}" |
248 |
|
overview="${src.dir}/intro.html" |
249 |
< |
sourcepath="${src.dir}:${jdksrc.dir}" |
250 |
< |
additionalparam="-XDignore.symbol.file=true" > |
249 |
> |
sourcepath="${src.dir}:${jdk8src.dir}" |
250 |
> |
classpath="" |
251 |
> |
executable="${javadoc8}"> |
252 |
> |
<arg value="-XDignore.symbol.file=true"/> |
253 |
> |
<arg value="-tag"/> |
254 |
> |
<arg value="${javadoc.jls.option}"/> |
255 |
|
<fileset dir="${src.dir}" defaultexcludes="yes"> |
256 |
|
<include name="**/*.java"/> |
257 |
|
</fileset> |
262 |
|
|
263 |
|
|
264 |
|
<target name="dist" |
265 |
< |
depends="init, dist-clean, dist-jar, dist-docs" |
265 |
> |
depends="init, dist-clean, dist-jar, docs" |
266 |
|
description="Puts all distributable products in single hierarchy"/> |
267 |
|
|
268 |
|
|
306 |
|
|
307 |
|
|
308 |
|
|
289 |
– |
<target name="dist-docs" |
290 |
– |
description="Builds javadocs without custom tags to dist folder"> |
291 |
– |
|
292 |
– |
<delete dir="${dist.javadocs.dir}"/> |
293 |
– |
<mkdir dir="${dist.javadocs.dir}"/> |
294 |
– |
|
295 |
– |
<!-- the packagenames="none" hack below prevents scanning the --> |
296 |
– |
<!-- sourcepath for packages --> |
297 |
– |
|
298 |
– |
<javadoc destdir="${dist.javadocs.dir}" |
299 |
– |
packagenames="none" |
300 |
– |
link="${jdkapidocs.url}" |
301 |
– |
overview="${src.dir}/intro.html" |
302 |
– |
sourcepath="${src.dir}:${jdksrc.dir}" |
303 |
– |
additionalparam="-XDignore.symbol.file=true" > |
304 |
– |
<fileset dir="${src.dir}" defaultexcludes="yes"> |
305 |
– |
<include name="**/*.java"/> |
306 |
– |
</fileset> |
307 |
– |
</javadoc> |
308 |
– |
|
309 |
– |
</target> |
310 |
– |
|
311 |
– |
|
312 |
– |
|
309 |
|
<!-- Internal targets --> |
310 |
|
|
311 |
|
|
529 |
|
</target> |
530 |
|
|
531 |
|
|
532 |
< |
<!-- jdk7 --> |
532 |
> |
<!-- jsr166 4jdk7 --> |
533 |
|
|
534 |
|
|
535 |
< |
<target name="jdk7compile" |
535 |
> |
<target name="4jdk7compile" |
536 |
|
depends="configure-compiler" |
537 |
< |
description="Compiles src/jdk7 sources"> |
537 |
> |
description="Compiles src/jdk7 sources, targeting jdk7"> |
538 |
|
|
539 |
< |
<mkdir dir="${build.jdk7.classes.dir}"/> |
539 |
> |
<mkdir dir="${build.4jdk7.classes.dir}"/> |
540 |
|
|
541 |
< |
<javac srcdir="${jdk7src.dir}" |
542 |
< |
destdir="${build.jdk7.classes.dir}" |
541 |
> |
<javac srcdir="${4jdk7src.dir}" |
542 |
> |
destdir="${build.4jdk7.classes.dir}" |
543 |
|
debug="${build.debug}" |
544 |
|
debuglevel="${build.debuglevel}" |
545 |
|
deprecation="${build.deprecation}" |
558 |
|
|
559 |
|
</javac> |
560 |
|
|
561 |
< |
<mkdir dir="${build.jdk7.lib.dir}"/> |
561 |
> |
<mkdir dir="${build.4jdk7.lib.dir}"/> |
562 |
|
|
563 |
< |
<jar destfile="${jdk7product.jar}" index="true"> |
564 |
< |
<fileset dir="${build.jdk7.classes.dir}"/> |
563 |
> |
<jar destfile="${4jdk7product.jar}" index="true"> |
564 |
> |
<fileset dir="${build.4jdk7.classes.dir}"/> |
565 |
|
</jar> |
566 |
|
|
567 |
< |
<mkdir dir="${build.jdk7.tck.classes.dir}"/> |
567 |
> |
<mkdir dir="${build.4jdk7.tck.classes.dir}"/> |
568 |
|
|
569 |
|
<javac srcdir="${tck.src.dir}" |
570 |
< |
destdir="${build.jdk7.tck.classes.dir}" |
570 |
> |
destdir="${build.4jdk7.tck.classes.dir}" |
571 |
|
debug="${build.debug}" |
572 |
|
debuglevel="${build.debuglevel}" |
573 |
|
deprecation="${build.deprecation}" |
574 |
|
source="1.6" |
575 |
|
classpath="${junit.jar}" |
576 |
< |
bootclasspath="${jdk7product.jar}:${bootclasspath6}" |
576 |
> |
bootclasspath="${4jdk7product.jar}:${bootclasspath6}" |
577 |
|
includeAntRuntime="false" |
578 |
|
includeJavaRuntime="false" |
579 |
|
executable="${javac7}" |
589 |
|
</target> |
590 |
|
|
591 |
|
|
592 |
< |
<target name="run-jdk7-tck-tests" |
593 |
< |
depends="jdk7compile" |
594 |
< |
description="Runs tck tests for jsr166-jdk7 directly"> |
592 |
> |
<target name="4jdk7-test-tck" |
593 |
> |
depends="4jdk7compile" |
594 |
> |
description="Runs tck tests for jsr166-4jdk7 directly"> |
595 |
|
<run-tck-tests |
596 |
|
jvm="${java7}" |
597 |
< |
tck.classes="${build.jdk7.tck.classes.dir}" |
598 |
< |
product.jar="${jdk7product.jar}"/> |
597 |
> |
tck.classes="${build.4jdk7.tck.classes.dir}" |
598 |
> |
product.jar="${4jdk7product.jar}"/> |
599 |
|
</target> |
600 |
|
|
601 |
|
|
602 |
< |
<target name="run-jdk7-tck-tests-via-junit-task" |
603 |
< |
depends="jdk7compile"> |
602 |
> |
<target name="4jdk7-test-tck-junit" |
603 |
> |
depends="4jdk7compile" |
604 |
> |
description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)"> |
605 |
|
|
606 |
|
<junit printsummary="true" |
607 |
|
showoutput="true" |
611 |
|
jvm="${java7}" |
612 |
|
fork="true"> |
613 |
|
|
614 |
< |
<jvmarg value="-Xbootclasspath/p:${jdk7product.jar}"/> |
614 |
> |
<jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/> |
615 |
|
<jvmarg value="-server"/> |
616 |
|
|
617 |
|
<classpath> |
618 |
|
<pathelement location="${junit.jar}"/> |
619 |
< |
<pathelement location="${build.jdk7.tck.classes.dir}"/> |
619 |
> |
<pathelement location="${build.4jdk7.tck.classes.dir}"/> |
620 |
|
</classpath> |
621 |
|
|
622 |
|
<formatter type="brief"/> |
628 |
|
</target> |
629 |
|
|
630 |
|
|
631 |
< |
<target name="jdk7docs" |
631 |
> |
<target name="4jdk7docs" |
632 |
|
description="Builds javadocs with custom tags to build folder"> |
633 |
|
|
634 |
< |
<delete dir="${build.jdk7.docs.dir}"/> |
635 |
< |
<mkdir dir="${build.jdk7.docs.dir}"/> |
634 |
> |
<delete dir="${build.4jdk7.docs.dir}"/> |
635 |
> |
<mkdir dir="${build.4jdk7.docs.dir}"/> |
636 |
|
|
637 |
< |
<javadoc destdir="${build.jdk7.docs.dir}" |
637 |
> |
<javadoc destdir="${build.4jdk7.docs.dir}" |
638 |
|
packagenames="none" |
639 |
|
link="${jdkapi7docs.url}" |
640 |
< |
overview="${jdk7src.dir}/intro.html" |
641 |
< |
sourcepath="${jdk7src.dir}" |
645 |
< |
bootclasspath="${bootclasspath6}" |
640 |
> |
overview="${4jdk7src.dir}/intro.html" |
641 |
> |
sourcepath="${4jdk7src.dir}:${jdk7src.dir}" |
642 |
|
classpath="" |
643 |
< |
source="1.6" |
644 |
< |
executable="${javadoc7}" |
645 |
< |
additionalparam="-XDignore.symbol.file=true" > |
650 |
< |
<fileset dir="${jdk7src.dir}" defaultexcludes="yes"> |
643 |
> |
executable="${javadoc7}"> |
644 |
> |
<arg value="-XDignore.symbol.file=true"/> |
645 |
> |
<fileset dir="${4jdk7src.dir}" defaultexcludes="yes"> |
646 |
|
<include name="**/*.java"/> |
647 |
|
</fileset> |
648 |
|
</javadoc> |
650 |
|
</target> |
651 |
|
|
652 |
|
|
653 |
< |
<target name="jdk7dist" |
654 |
< |
depends="jdk7dist-clean, jdk7dist-jar, jdk7dist-docs" |
653 |
> |
<target name="4jdk7dist" |
654 |
> |
depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7dist-docs" |
655 |
|
description="Puts all distributable products in single hierarchy"/> |
656 |
|
|
657 |
|
|
658 |
|
|
659 |
< |
<target name="jdk7clean" |
659 |
> |
<target name="4jdk7clean" |
660 |
|
description="Removes all build products"> |
661 |
|
|
662 |
< |
<delete dir="${build.jdk7.dir}"/> |
662 |
> |
<delete dir="${build.4jdk7.dir}"/> |
663 |
|
|
664 |
|
</target> |
665 |
|
|
666 |
|
|
667 |
|
|
668 |
< |
<target name="jdk7dist-clean" |
668 |
> |
<target name="4jdk7dist-clean" |
669 |
|
description="Removes all build and distribution products"> |
670 |
|
|
671 |
|
</target> |
672 |
|
|
673 |
< |
<target name="jdk7dist-docs" |
673 |
> |
<target name="4jdk7dist-docs" |
674 |
|
description="Builds javadocs without custom tags to dist folder"> |
675 |
|
|
676 |
< |
<delete dir="${dist.jdk7.docs.dir}"/> |
677 |
< |
<mkdir dir="${dist.jdk7.docs.dir}"/> |
676 |
> |
<delete dir="${dist.4jdk7.docs.dir}"/> |
677 |
> |
<mkdir dir="${dist.4jdk7.docs.dir}"/> |
678 |
|
|
679 |
< |
<javadoc destdir="${dist.jdk7.docs.dir}" |
679 |
> |
<javadoc destdir="${dist.4jdk7.docs.dir}" |
680 |
|
packagenames="none" |
681 |
|
link="${jdkapi7docs.url}" |
682 |
< |
overview="${jdk7src.dir}/intro.html" |
683 |
< |
sourcepath="${jdk7src.dir}" |
682 |
> |
overview="${4jdk7src.dir}/intro.html" |
683 |
> |
sourcepath="${4jdk7src.dir}:${jdk7src.dir}" |
684 |
|
classpath="" |
685 |
< |
executable="${javadoc7}" |
691 |
< |
bootclasspath="${bootclasspath6}" |
692 |
< |
source="1.6"> |
685 |
> |
executable="${javadoc7}"> |
686 |
|
<arg value="-XDignore.symbol.file=true"/> |
687 |
< |
<fileset dir="${jdk7src.dir}" defaultexcludes="yes"> |
687 |
> |
<fileset dir="${4jdk7src.dir}" defaultexcludes="yes"> |
688 |
|
<include name="**/*.java"/> |
689 |
|
</fileset> |
690 |
|
</javadoc> |
691 |
|
|
692 |
|
</target> |
693 |
|
|
694 |
< |
<target name="jdk7dist-jar" |
695 |
< |
depends="jdk7clean, jdk7compile"> |
694 |
> |
<target name="4jdk7dist-jar" |
695 |
> |
depends="4jdk7clean, 4jdk7compile"> |
696 |
|
|
697 |
< |
<copy file="${jdk7product.jar}" todir="${dist.dir}"/> |
697 |
> |
<copy file="${4jdk7product.jar}" todir="${dist.dir}"/> |
698 |
|
|
699 |
|
</target> |
700 |
|
|
1063 |
|
packagenames="jsr166e,jsr166e.extra" |
1064 |
|
link="${jdkapi7docs.url}" |
1065 |
|
source="1.7" |
1066 |
< |
sourcepath="${topsrc.dir}:${jdk7src.dir}:${jdksrc.dir}" |
1066 |
> |
sourcepath="${topsrc.dir}:${jdk7src.dir}" |
1067 |
|
executable="${javadoc7}" |
1068 |
|
additionalparam="-XDignore.symbol.file=true" > |
1069 |
|
<fileset dir="${topsrc.dir}" defaultexcludes="yes"> |