ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
(Generate patch)

Comparing jsr166/build.xml (file contents):
Revision 1.182 by jsr166, Sun Sep 13 17:46:07 2015 UTC vs.
Revision 1.199 by jsr166, Fri Mar 25 03:36:15 2016 UTC

# Line 27 | Line 27
27    (e.g. mercurial forest) or a symlink to same.
28  
29    Alternatively, define ant variables thus:
30 <  ant -Djdk$N.home=...
30 >  ant -Djdk$N.home=... -Djdk$N.src.home=...
31    for $N in 6 7 8 9 ...
32  
33    As of 2015-09, there is incomplete hacky support for jigsaw
34    Build for jigsaw using something like:
35 <  ant -Djdk9.home="$HOME/jdk/jigsaw" -Djdk9.src.dir="$HOME/jdk/src/jigsaw" clean test dist
35 >  ant -Djdk9.home="$HOME/jdk/jigsaw" -Djdk9.src.home="$HOME/jdk/src/jigsaw" clean test dist
36    "docs" target is still broken.
37   ------------------------------------------------------------------------------
38    </description>
# Line 57 | Line 57
57    <property name="build.deprecation"    value="false"/>
58    <property name="build.javadoc.access" value="protected"/>
59  
60  <!-- Tck options; see JSR166TestCase.java
61   To profile a single tck test class:
62   ant -Djsr166.profileTests=true -Djsr166.profileThreshold=10 -Djsr166.tckTestClass=CompletableFutureTest tck
63   To stress test a single tck test class:
64   ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 tck
65  -->
66  <property name="jsr166.profileTests"     value="false"/>
67  <property name="jsr166.profileThreshold" value="100"/>
68  <property name="jsr166.runsPerTest"      value="1"/>
69  <property name="jsr166.tckTestClass"     value="JSR166TestCase"/>
70
60    <!-- Build locations -->
61    <property name="build.dir"                   location="build"/>
62    <property name="build.classes.dir"           location="${build.dir}/classes"/>
# Line 96 | Line 85
85    <macrodef name="defjdklocations">
86      <attribute name="v"/>
87      <sequential>
88 <    <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
89 <    <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
90 <    <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
91 <    <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
88 >    <property name="jdk@{v}.home"     location="${jdks.home}/jdk@{v}"/>
89 >    <property name="java@{v}"         location="${jdk@{v}.home}/bin/java"/>
90 >    <property name="javac@{v}"        location="${jdk@{v}.home}/bin/javac"/>
91 >    <property name="javadoc@{v}"      location="${jdk@{v}.home}/bin/javadoc"/>
92 >    <property name="jdk@{v}.src.home" location="${jdks.home}/src/jdk@{v}"/>
93      <local name="have.java.base"/>
94      <available property="have.java.base"
95 <      file="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes" type="dir"/>
96 <    <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes"
95 >      file="${jdk@{v}.src.home}/jdk/src/java.base/share/classes" type="dir"/>
96 >    <property name="jdk@{v}.src.dir" location="${jdk@{v}.src.home}/jdk/src/java.base/share/classes"
97        if:set="have.java.base"/>
98 <    <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"
98 >    <property name="jdk@{v}.src.dir" location="${jdk@{v}.src.home}/jdk/src/share/classes"
99        unless:set="have.java.base"/>
100      <local name="modules"/>
101      <available property="modules" file="${jdk@{v}.home}/jmods" type="dir"/>
# Line 186 | Line 176
176    <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>
177    <property name="java7.docroot.url"      value="http://docs.oracle.com/javase/7/docs"/>
178    <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>
179 <  <!-- The expected canonical location does not yet exist as of 2014-07 -->
179 >  <!-- The expected canonical location does not yet exist as of 2015-11 -->
180    <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
181    <property name="java9.docroot.url"      value="http://download.java.net/jdk9/docs"/>
182    <!-- Default jdk doc location (latest stable release seems best) -->
# Line 205 | Line 195
195    <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
196             classpath="${lib.dir}/jtreg.jar" />
197  
198 <  <!-- Test classpath -->
199 <  <path id="test.classpath">
200 <    <pathelement location="${build.testcases.dir}"/>
201 <    <pathelement location="${junit.jar}"/>
202 <  </path>
203 <
198 >  <!-- Tck options; see JSR166TestCase.java
199 >   To profile a single tck test class:
200 >   ant -Djsr166.profileTests=true -Djsr166.profileThreshold=10 -Djsr166.tckTestClass=CompletableFutureTest tck
201 >   To stress test a single tck test class:
202 >   ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 tck
203 >   To stress test a single tck test method:
204 >   ant -Djsr166.tckTestClass=RecursiveTaskTest -Djsr166.runsPerTest=1000 -Djsr166.methodFilter=testAbnormalInvokeAll3 tck
205 >  -->
206 >  <property name="jsr166.tckTestClass"     value="JSR166TestCase"/>
207    <macrodef name="run-tck-tests">
208      <attribute name="tck.src.dir" default="${tck.src.dir}"/>
209      <attribute name="target"/>
# Line 244 | Line 237
237  
238        <include name="*.java"/>
239        <compilerarg value="-XDignore.symbol.file=true"/>
240 <      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
240 >      <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>
241        <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
242 <      <compilerarg value="-Xoverride:${build.classes.dir}" if:set="modules"/>
242 >      <compilerarg value="-Xpatch:${build.classes.dir}" if:set="modules"/>
243        <compilerarg line="${build.args}"/>
244        <javac-elements/>
245  
# Line 257 | Line 250
250            jvm="${java@{target}}"
251            fork="true">
252          <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
253 <        <jvmarg value="-Xoverride:${build.classes.dir}" if:set="modules"/>
253 >        <jvmarg value="-Xpatch:${build.classes.dir}" if:set="modules"/>
254          <jvmarg line="@{jvmflags}"/>
255  
256          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
257 <        <syspropertyset id="java.util.concurrent.ForkJoinPool-properties">
257 >        <syspropertyset id="system-properties-used-by-tck">
258            <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
259 +          <propertyref prefix="jsr166."/>
260 +          <propertyref name="test.timeout.factor"/>
261          </syspropertyset>
262  
268        <sysproperty key="jsr166.profileTests"     value="${jsr166.profileTests}"/>
269        <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>
270        <sysproperty key="jsr166.runsPerTest"      value="${jsr166.runsPerTest}"/>
263          <classpath>
264            <pathelement location="${junit.jar}"/>
265            <pathelement location="@{workdir}/tck-classes"/>
# Line 299 | Line 291
291      </patternset>
292    </fileset>
293  
294 +  <!-- ant -Djtreg.flags=-timeoutFactor:4 -->
295 +  <property name="jtreg.flags" value=""/>
296 +
297    <macrodef name="run-jtreg-tests">
298      <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
299      <attribute name="source" default="7"/>
# Line 309 | Line 304
304  
305      <sequential>
306  
307 +    <!-- ant -Djtreg.verbose=time,fail,error jtreg -->
308 +    <property name="jtreg.verbose" value="nopass,fail,error"/>
309 +
310      <local name="modules"/>
311      <condition property="modules">
312        <available file="${jdk@{target}.home}/jmods" type="dir"/>
# Line 317 | Line 315
315      <delete dir="@{workdir}/JTwork"   quiet="true"/>
316      <delete dir="@{workdir}/JTreport" quiet="true"/>
317      <mkdir dir="@{workdir}/JTwork/scratch"/>
318 <    <mkdir dir="@{workdir}/JTreport"/>
318 >    <!-- workaround for https://bugs.openjdk.java.net/browse/CODETOOLS-7901571 -->
319 >    <mkdir dir="@{workdir}/JTreport/html"/>
320 >    <mkdir dir="@{workdir}/JTreport/text"/>
321      <jtreg dir="${jtreg@{target}.src.dir}"
322             jdk="${jdk@{target}.home}"
323             workDir="@{workdir}/JTwork"
324             reportDir="@{workdir}/JTreport">
325        <patternset refid="jdk@{target}.jtreg.tests"/>
326        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
327 <      <arg value="-Xoverride:${build.classes.dir}" if:set="modules"/>
327 >      <arg value="-Xpatch:${build.classes.dir}" if:set="modules"/>
328        <arg value="-agentvm"/>
329 <      <arg value="-v:nopass,fail"/>
329 >      <arg value="-verbose:${jtreg.verbose}"/>
330        <arg value="-vmoptions:-esa -ea"/>
331        <arg value="-automatic"/>
332        <arg value="-k:!ignore"/>
333        <arg line="@{jtregflags}"/>
334 +      <arg line="${jtreg.flags}"/>
335      </jtreg>
336      </sequential>
337    </macrodef>
# Line 393 | Line 394
394        <compilerarg line="${build.args}"/>
395  
396      </javac>
397 +
398 +    <!-- We need jdk9's Contended annotation, but at compile time only -->
399 +    <delete file="${destdir}/jdk/internal/vm/annotation/Contended.class"/>
400    </target>
401  
402  
# Line 424 | Line 428
428               link="${java9.api.url}"
429               overview="${src.dir}/intro.html"
430               access="${build.javadoc.access}"
431 <             sourcepath="${src.dir}:${jdk9src.dir}"
431 >             sourcepath="${src.dir}:${jdk9.src.dir}"
432               classpath=""
433               executable="${javadoc9}">
434        <fileset dir="${src.dir}" defaultexcludes="yes">
# Line 442 | Line 446
446        <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
447        <arg value="-tag"/>
448        <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
449 + <!-- tags added in jdk9 -->
450 +      <arg value="-tag"/>
451 +      <arg value="revised:X"/>
452 +      <arg value="-tag"/>
453 +      <arg value="spec:X"/>
454      </javadoc>
455    </target>
456  
# Line 603 | Line 612
612         debuglevel="${build.debuglevel}"
613        deprecation="${build.deprecation}"
614             source="${build.sourcelevel}"
615 +           target="${build.sourcelevel}"
616               fork="true">
617  
618        <compilerarg line="${build.args}"/>
# Line 658 | Line 668
668             debuglevel="${build.debuglevel}"
669             deprecation="${build.deprecation}"
670             source="6"
671 +           target="6"
672             classpath=""
673             bootclasspath="${bootclasspath6}"
674             includeAntRuntime="false"
# Line 687 | Line 698
698             debuglevel="${build.debuglevel}"
699             deprecation="${build.deprecation}"
700             source="6"
701 +           target="6"
702             classpath=""
703 <           bootclasspath="${bootclasspath7}"
703 >           bootclasspath="${bootclasspath6}"
704             includeAntRuntime="false"
705             includeJavaRuntime="false"
706             executable="${javac8}"
# Line 801 | Line 813
813               link="${java7.api.url}"
814               overview="${4jdk7src.dir}/intro.html"
815               access="${build.javadoc.access}"
816 <             sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
816 >             sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
817               classpath=""
818               executable="${javadoc7}">
819        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
# Line 854 | Line 866
866             classpath=""
867             bootclasspath="${bootclasspath6}"
868             source="5"
869 +           target="5"
870             includeAntRuntime="false"
871             includeJavaRuntime="false"
872             executable="${javac7}"
# Line 894 | Line 907
907               packagenames="jsr166x.*"
908               link="${java.api.url}"
909               access="${build.javadoc.access}"
910 <             sourcepath="${topsrc.dir}:${jdk6src.dir}"
910 >             sourcepath="${topsrc.dir}:${jdk6.src.dir}"
911               bootclasspath="${bootclasspath6}"
912               source="5"
913               executable="${javadoc7}">
# Line 943 | Line 956
956             debuglevel="${build.debuglevel}"
957             deprecation="${build.deprecation}"
958             source="6"
959 +           target="6"
960             classpath=""
961             bootclasspath="${bootclasspath6}"
962             includeAntRuntime="false"
# Line 985 | Line 999
999               packagenames="jsr166y.*"
1000               link="${java.api.url}"
1001               access="${build.javadoc.access}"
1002 <             sourcepath="${topsrc.dir}:${jdk6src.dir}"
1002 >             sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1003               bootclasspath="${bootclasspath6}"
1004               source="6"
1005               executable="${javadoc7}">
# Line 1037 | Line 1051
1051             bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1052             classpath=""
1053             source="6"
1054 +           target="6"
1055             includeAntRuntime="false"
1056             includeJavaRuntime="false"
1057             executable="${javac7}"
# Line 1077 | Line 1092
1092               packagenames="extra166y.*"
1093               link="${java.api.url}"
1094               access="${build.javadoc.access}"
1095 <             sourcepath="${topsrc.dir}:${jdk6src.dir}"
1095 >             sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1096               bootclasspath="${bootclasspath6}"
1097               source="6"
1098               executable="${javadoc7}">
# Line 1128 | Line 1143
1143             debuglevel="${build.debuglevel}"
1144             deprecation="${build.deprecation}"
1145             source="${build.jsr166e.java.version}"
1146 +           target="${build.jsr166e.java.version}"
1147             classpath=""
1148             includeAntRuntime="false"
1149             includeJavaRuntime="false"
# Line 1154 | Line 1170
1170             debuglevel="${build.debuglevel}"
1171             deprecation="${build.deprecation}"
1172             source="${build.jsr166e.java.version}"
1173 +           target="${build.jsr166e.java.version}"
1174             classpath=""
1175 <           bootclasspath="${bootclasspath7}"
1175 >           bootclasspath="${bootclasspath6}"
1176             includeAntRuntime="false"
1177             includeJavaRuntime="false"
1178             executable="${javac8}"
# Line 1196 | Line 1213
1213               packagenames="jsr166e.*"
1214               link="${java.api.url}"
1215               access="${build.javadoc.access}"
1216 <             sourcepath="${topsrc.dir}:${jdk6src.dir}"
1216 >             sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1217               source="${build.jsr166e.java.version}"
1218               executable="${javadoc7}">
1219        <arg line="-Xdocrootparent ${java.docroot.url}"/>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines