8 |
|
|
9 |
|
User-specific settings are read from user.properties. |
10 |
|
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> |
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.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="javac@{v}" location="${jdk@{v}.home}/bin/javac"/> |
82 |
< |
<property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/> |
83 |
< |
<property name="bootdir@{v}" location="${jdk@{v}.home}/jre/lib"/> |
84 |
< |
<property name="bootclasspath@{v}" |
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> |
89 |
|
</macrodef> |
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 --> |
114 |
|
<property name="src.dir" location="${basedir}/src/main"/> |
115 |
|
<property name="test.src.dir" location="${basedir}/src/test"/> |
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"/> |
539 |
|
</target> |
540 |
|
|
541 |
|
|
542 |
< |
<!-- jdk7 --> |
542 |
> |
<!-- jsr166 4jdk7 --> |
543 |
|
|
544 |
|
|
545 |
< |
<target name="jdk7compile" |
545 |
> |
<target name="4jdk7compile" |
546 |
|
depends="configure-compiler" |
547 |
< |
description="Compiles src/jdk7 sources"> |
547 |
> |
description="Compiles src/jdk7 sources, targeting jdk7"> |
548 |
|
|
549 |
< |
<mkdir dir="${build.jdk7.classes.dir}"/> |
549 |
> |
<mkdir dir="${build.4jdk7.classes.dir}"/> |
550 |
|
|
551 |
< |
<javac srcdir="${jdk7src.dir}" |
552 |
< |
destdir="${build.jdk7.classes.dir}" |
551 |
> |
<javac srcdir="${4jdk7src.dir}" |
552 |
> |
destdir="${build.4jdk7.classes.dir}" |
553 |
|
debug="${build.debug}" |
554 |
|
debuglevel="${build.debuglevel}" |
555 |
|
deprecation="${build.deprecation}" |
558 |
|
bootclasspath="${bootclasspath6}" |
559 |
|
includeAntRuntime="false" |
560 |
|
includeJavaRuntime="false" |
561 |
< |
executable="${javac6}" |
561 |
> |
executable="${javac7}" |
562 |
|
fork="true"> |
563 |
|
|
564 |
|
<include name="**/*.java"/> |
568 |
|
|
569 |
|
</javac> |
570 |
|
|
571 |
< |
</target> |
571 |
> |
<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" |
580 |
< |
depends="jdk7compile" |
581 |
< |
description="Builds library jar from compiled sources"> |
579 |
> |
<javac srcdir="${tck.src.dir}" |
580 |
> |
destdir="${build.4jdk7.tck.classes.dir}" |
581 |
> |
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}"/> |
592 |
> |
<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"> |
547 |
< |
<fileset dir="${build.jdk7.classes.dir}"/> |
548 |
< |
</jar> |
597 |
> |
</javac> |
598 |
|
|
599 |
|
</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> |
610 |
+ |
|
611 |
|
|
612 |
< |
<target name="jdk7docs" |
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 |
> |
|
641 |
> |
<target name="4jdk7docs" |
642 |
|
description="Builds javadocs with custom tags to build folder"> |
643 |
|
|
644 |
< |
<delete dir="${build.jdk7.docs.dir}"/> |
645 |
< |
<mkdir dir="${build.jdk7.docs.dir}"/> |
644 |
> |
<delete dir="${build.4jdk7.docs.dir}"/> |
645 |
> |
<mkdir dir="${build.4jdk7.docs.dir}"/> |
646 |
|
|
647 |
< |
<javadoc destdir="${build.jdk7.docs.dir}" |
647 |
> |
<javadoc destdir="${build.4jdk7.docs.dir}" |
648 |
|
packagenames="none" |
649 |
|
link="${jdkapi7docs.url}" |
650 |
< |
overview="${jdk7src.dir}/intro.html" |
651 |
< |
sourcepath="${jdk7src.dir}" |
565 |
< |
bootclasspath="${bootclasspath6}" |
650 |
> |
overview="${4jdk7src.dir}/intro.html" |
651 |
> |
sourcepath="${4jdk7src.dir}:${jdk7src.dir}" |
652 |
|
classpath="" |
653 |
< |
source="1.6" |
654 |
< |
executable="${javadoc7}" |
655 |
< |
additionalparam="-XDignore.symbol.file=true" > |
570 |
< |
<fileset dir="${jdk7src.dir}" defaultexcludes="yes"> |
653 |
> |
executable="${javadoc7}"> |
654 |
> |
<arg value="-XDignore.symbol.file=true"/> |
655 |
> |
<fileset dir="${4jdk7src.dir}" defaultexcludes="yes"> |
656 |
|
<include name="**/*.java"/> |
657 |
|
</fileset> |
658 |
|
</javadoc> |
660 |
|
</target> |
661 |
|
|
662 |
|
|
663 |
< |
<target name="jdk7dist" |
664 |
< |
depends="jdk7dist-clean, jdk7dist-jar, jdk7dist-docs" |
663 |
> |
<target name="4jdk7dist" |
664 |
> |
depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7dist-docs" |
665 |
|
description="Puts all distributable products in single hierarchy"/> |
666 |
|
|
667 |
|
|
668 |
|
|
669 |
< |
<target name="jdk7clean" |
669 |
> |
<target name="4jdk7clean" |
670 |
|
description="Removes all build products"> |
671 |
|
|
672 |
< |
<delete dir="${build.jdk7.dir}"/> |
672 |
> |
<delete dir="${build.4jdk7.dir}"/> |
673 |
|
|
674 |
|
</target> |
675 |
|
|
676 |
|
|
677 |
|
|
678 |
< |
<target name="jdk7dist-clean" |
678 |
> |
<target name="4jdk7dist-clean" |
679 |
|
description="Removes all build and distribution products"> |
680 |
|
|
681 |
|
</target> |
682 |
|
|
683 |
< |
<target name="jdk7dist-docs" |
683 |
> |
<target name="4jdk7dist-docs" |
684 |
|
description="Builds javadocs without custom tags to dist folder"> |
685 |
|
|
686 |
< |
<delete dir="${dist.jdk7.docs.dir}"/> |
687 |
< |
<mkdir dir="${dist.jdk7.docs.dir}"/> |
686 |
> |
<delete dir="${dist.4jdk7.docs.dir}"/> |
687 |
> |
<mkdir dir="${dist.4jdk7.docs.dir}"/> |
688 |
|
|
689 |
< |
<javadoc destdir="${dist.jdk7.docs.dir}" |
689 |
> |
<javadoc destdir="${dist.4jdk7.docs.dir}" |
690 |
|
packagenames="none" |
691 |
|
link="${jdkapi7docs.url}" |
692 |
< |
overview="${jdk7src.dir}/intro.html" |
693 |
< |
sourcepath="${jdk7src.dir}" |
692 |
> |
overview="${4jdk7src.dir}/intro.html" |
693 |
> |
sourcepath="${4jdk7src.dir}:${jdk7src.dir}" |
694 |
|
classpath="" |
695 |
< |
executable="${javadoc7}" |
611 |
< |
bootclasspath="${bootclasspath6}" |
612 |
< |
source="1.6"> |
695 |
> |
executable="${javadoc7}"> |
696 |
|
<arg value="-XDignore.symbol.file=true"/> |
697 |
< |
<fileset dir="${jdk7src.dir}" defaultexcludes="yes"> |
697 |
> |
<fileset dir="${4jdk7src.dir}" defaultexcludes="yes"> |
698 |
|
<include name="**/*.java"/> |
699 |
|
</fileset> |
700 |
|
</javadoc> |
701 |
|
|
702 |
|
</target> |
703 |
|
|
704 |
< |
<target name="jdk7dist-jar" |
705 |
< |
depends="jdk7clean, jdk7jar"> |
704 |
> |
<target name="4jdk7dist-jar" |
705 |
> |
depends="4jdk7clean, 4jdk7compile"> |
706 |
|
|
707 |
< |
<copy file="${jdk7product.jar}" todir="${dist.dir}"/> |
707 |
> |
<copy file="${4jdk7product.jar}" todir="${dist.dir}"/> |
708 |
|
|
709 |
|
</target> |
710 |
|
|
1071 |
|
|
1072 |
|
<javadoc destdir="${build.jsr166ejavadocs.dir}" |
1073 |
|
packagenames="jsr166e,jsr166e.extra" |
1074 |
< |
link="${jdkapidocs.url}" |
1074 |
> |
link="${jdkapi7docs.url}" |
1075 |
|
source="1.7" |
1076 |
< |
sourcepath="${topsrc.dir}:${jdksrc.dir}" |
1077 |
< |
additionalparam="-XDignore.symbol.file=true" /> |
1076 |
> |
sourcepath="${topsrc.dir}:${jdk7src.dir}" |
1077 |
> |
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> |
1085 |
|
|