[cvs] / jsr166 / build.xml Repository:
ViewVC logotype

Diff of /jsr166/build.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.166, Mon Aug 10 06:32:23 2015 UTC revision 1.237, Fri Mar 24 15:57:26 2017 UTC
# Line 1  Line 1 
1  <project name="jsr166" default="usage">  <project name="jsr166" default="usage"
2      xmlns:if="ant:if" xmlns:unless="ant:unless"
3      xmlns:ivy="antlib:org.apache.ivy.ant">
4    
5    <description>    <description>
6  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
# Line 6  Line 8 
8    
9    Usage: ant [target]    Usage: ant [target]
10    
11      See http://gee.cs.oswego.edu/dl/concurrency-interest/index.html for
12      more details.
13    
14    User-specific settings are read from user.properties.    User-specific settings are read from user.properties.
15    See user.properties.sample for an explanation of some useful settings.    See user.properties.sample for an explanation of some useful settings.
16    
# Line 13  Line 18 
18    itself.  Because the JDK version matters and because different    itself.  Because the JDK version matters and because different
19    targets require different JDKs, we assume that users have created a    targets require different JDKs, we assume that users have created a
20    hierarchy containing:    hierarchy containing:
   $HOME/jdk/jdk6  
21    $HOME/jdk/jdk7    $HOME/jdk/jdk7
22    $HOME/jdk/jdk8    $HOME/jdk/jdk8
23    $HOME/jdk/jdk9    $HOME/jdk/jdk9
24      $HOME/jdk/jdk10
25    where each of the above is a JDK or a symlink to same, and    where each of the above is a JDK or a symlink to same, and
   $HOME/jdk/src/jdk6  
26    $HOME/jdk/src/jdk7    $HOME/jdk/src/jdk7
27    $HOME/jdk/src/jdk8    $HOME/jdk/src/jdk8
28    $HOME/jdk/src/jdk9    $HOME/jdk/src/jdk9
29      $HOME/jdk/src/jdk10
30    where each of the above is a complete JDK source tree    where each of the above is a complete JDK source tree
31    (e.g. mercurial forest) or a symlink to same.    (e.g. mercurial forest) or a symlink to same.
32    
33    Alternatively, define ant variables thus:    Alternatively, define ant variables thus:
34    ant -Djdk$N.home=...    ant -Djdk$N.home=... -Djdk$N.src.home=...
35    for $N in 6 7 8 9 ...    for $N in 7 8 9 10 ...
36    
37      As of 2016-03, the sources in src/main are for jdk9+ only.
38  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
39    </description>    </description>
40    
41    <!-- Display main targets by running 'ant -projecthelp' -->    <!-- Run 'ant -projecthelp' (default target) -->
42    <target name="usage">    <target name="usage">
43      <java classname="org.apache.tools.ant.Main">      <java classname="org.apache.tools.ant.Main">
44        <arg value="-projecthelp" />        <arg value="-projecthelp" />
45      </java>      </java>
46    </target>    </target>
47    
48      <!-- HOWTO printf debug: <echo message="prop=${prop}"/> -->
49    
50    <!-- User-specific settings -->    <!-- User-specific settings -->
51    <property file="user.properties"/>    <property file="user.properties"/>
# Line 50  Line 58 
58    <property name="build.deprecation"    value="false"/>    <property name="build.deprecation"    value="false"/>
59    <property name="build.javadoc.access" value="protected"/>    <property name="build.javadoc.access" value="protected"/>
60    
   <!-- Tck options; see JSR166TestCase.java  
    To profile a single tck test class:  
    ant -Djsr166.profileTests=true -Djsr166.profileThreshold=100 -Djsr166.tckTestClass=CompletableFutureTest test-tck  
    To stress test a single tck test class:  
    ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck  
   -->  
   <property name="jsr166.profileTests"     value="false"/>  
   <property name="jsr166.profileThreshold" value="100"/>  
   <property name="jsr166.runsPerTest"      value="1"/>  
   <property name="jsr166.tckTestClass"     value="JSR166TestCase"/>  
   
61    <!-- Build locations -->    <!-- Build locations -->
62    <property name="build.dir"                   location="build"/>    <property name="build.dir"                   location="build"/>
63    <property name="build.classes.dir"           location="${build.dir}/classes"/>    <property name="build.classes.dir"           location="${build.dir}/classes"/>
64    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>
65    <property name="build.loops.dir"             location="${build.dir}/loops"/>    <property name="build.loops.dir"             location="${build.dir}/loops"/>
   <property name="build.reports.dir"           location="${build.dir}/reports"/>  
66    
67    <property name="build.4jdk7.dir"             location="${build.dir}/jsr166-4jdk7"/>    <property name="build.4jdk7.dir"             location="${build.dir}/jsr166-4jdk7"/>
68    <property name="build.4jdk7.classes.dir"     location="${build.4jdk7.dir}/classes"/>    <property name="build.4jdk7.classes.dir"     location="${build.4jdk7.dir}/classes"/>
69    <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>    <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
70    <property name="build.4jdk7.docs.dir"        location="${build.4jdk7.dir}/docs"/>    <property name="build.4jdk7.docs.dir"        location="${build.4jdk7.dir}/docs"/>
71    
72      <property name="build.4jdk8.dir"             location="${build.dir}/jsr166-4jdk8"/>
73      <property name="build.4jdk8.classes.dir"     location="${build.4jdk8.dir}/classes"/>
74      <property name="build.4jdk8.tck.classes.dir" location="${build.4jdk8.dir}/tck-classes"/>
75      <property name="build.4jdk8.docs.dir"        location="${build.4jdk8.dir}/docs"/>
76    
77    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
78    <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>    <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>
79    <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>    <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>
# Line 93  Line 94 
94      <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>      <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
95      <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>      <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
96      <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>      <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
97      <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>      <property name="jdk@{v}.src.home" location="${jdks.home}/src/jdk@{v}"/>
98        <local name="have.java.base"/>
99        <available property="have.java.base"
100          file="${jdk@{v}.src.home}/jdk/src/java.base/share/classes" type="dir"/>
101        <property name="jdk@{v}.src.dir" location="${jdk@{v}.src.home}/jdk/src/java.base/share/classes"
102          if:set="have.java.base"/>
103        <property name="jdk@{v}.src.dir" location="${jdk@{v}.src.home}/jdk/src/share/classes"
104          unless:set="have.java.base"/>
105        <local name="modules"/>
106        <available property="modules" file="${jdk@{v}.home}/jmods" type="dir"/>
107      <local name="boot.jar.dir"/>      <local name="boot.jar.dir"/>
108      <property name="boot.jar.dir"   location="${jdk@{v}.home}/jre/lib"/>      <property name="boot.jar.dir"   location="${jdk@{v}.home}/jre/lib" unless:set="modules"/>
109      <path id="bootclasspath@{v}">      <path id="bootclasspath@{v}" unless:set="modules">
110        <pathelement path="${boot.jar.dir}/resources.jar"/>        <pathelement path="${boot.jar.dir}/resources.jar"/>
111        <pathelement path="${boot.jar.dir}/rt.jar"/>        <pathelement path="${boot.jar.dir}/rt.jar"/>
112        <pathelement path="${boot.jar.dir}/jsse.jar"/>        <pathelement path="${boot.jar.dir}/jsse.jar"/>
113        <pathelement path="${boot.jar.dir}/jce.jar"/>        <pathelement path="${boot.jar.dir}/jce.jar"/>
114        <pathelement path="${boot.jar.dir}/charsets.jar"/>        <pathelement path="${boot.jar.dir}/charsets.jar"/>
115      </path>      </path>
116      <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}"/>      <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}" unless:set="modules"/>
117      </sequential>      </sequential>
118    </macrodef>    </macrodef>
119    
# Line 123  Line 133 
133    <defjdklocations v="7"/>    <defjdklocations v="7"/>
134    <defjdklocations v="8"/>    <defjdklocations v="8"/>
135    <defjdklocations v="9"/>    <defjdklocations v="9"/>
136      <defjdklocations v="10"/>
137    
138    <!-- Source locations -->    <!-- Source locations -->
139    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
140    <property name="test.src.dir"         location="${basedir}/src/test"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
141    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
142    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
143    <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>    <property name="jtreg7.src.dir"       location="${test.src.dir}/jtreg-jdk7"/>
144      <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg-jdk8"/>
145      <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>
146      <property name="jtreg10.src.dir"      location="${test.src.dir}/jtreg"/>
147      <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>
148    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
149    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
150    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
151    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
152      <property name="4jdk8src.dir"         location="${topsrc.dir}/jdk8"/>
153    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
154    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
155    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
# Line 142  Line 158 
158    <!-- Javadoc locations -->    <!-- Javadoc locations -->
159    <property name="docs.dir"          location="${build.dir}/docs"/>    <property name="docs.dir"          location="${build.dir}/docs"/>
160    <property name="4jdk7docs.dir"     location="${build.4jdk7.dir}/docs"/>    <property name="4jdk7docs.dir"     location="${build.4jdk7.dir}/docs"/>
161      <property name="4jdk8docs.dir"     location="${build.4jdk8.dir}/docs"/>
162    <property name="jsr166xdocs.dir"   location="${build.jsr166x.dir}/docs"/>    <property name="jsr166xdocs.dir"   location="${build.jsr166x.dir}/docs"/>
163    <property name="jsr166ydocs.dir"   location="${build.jsr166y.dir}/docs"/>    <property name="jsr166ydocs.dir"   location="${build.jsr166y.dir}/docs"/>
164    <property name="jsr166edocs.dir"   location="${build.jsr166e.dir}/docs"/>    <property name="jsr166edocs.dir"   location="${build.jsr166e.dir}/docs"/>
# Line 149  Line 166 
166    
167    <property name="dist.docs.dir"          location="${dist.dir}/docs"/>    <property name="dist.docs.dir"          location="${dist.dir}/docs"/>
168    <property name="dist.4jdk7docs.dir"     location="${dist.dir}/jsr166-4jdk7docs"/>    <property name="dist.4jdk7docs.dir"     location="${dist.dir}/jsr166-4jdk7docs"/>
169      <property name="dist.4jdk8docs.dir"     location="${dist.dir}/jsr166-4jdk8docs"/>
170    <property name="dist.jsr166xdocs.dir"   location="${dist.dir}/jsr166xdocs"/>    <property name="dist.jsr166xdocs.dir"   location="${dist.dir}/jsr166xdocs"/>
171    <property name="dist.jsr166ydocs.dir"   location="${dist.dir}/jsr166ydocs"/>    <property name="dist.jsr166ydocs.dir"   location="${dist.dir}/jsr166ydocs"/>
172    <property name="dist.jsr166edocs.dir"   location="${dist.dir}/jsr166edocs"/>    <property name="dist.jsr166edocs.dir"   location="${dist.dir}/jsr166edocs"/>
# Line 157  Line 175 
175    <!-- Jar locations -->    <!-- Jar locations -->
176    <property name="product.jar"      location="${build.dir}/jsr166.jar"/>    <property name="product.jar"      location="${build.dir}/jsr166.jar"/>
177    <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>    <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
178      <property name="4jdk8product.jar" location="${build.4jdk8.dir}/jsr166-4jdk8.jar"/>
179    <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>    <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>
180    <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>    <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>
181    <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>    <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>
# Line 168  Line 187 
187    <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>    <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>
188    <property name="java7.docroot.url"      value="http://docs.oracle.com/javase/7/docs"/>    <property name="java7.docroot.url"      value="http://docs.oracle.com/javase/7/docs"/>
189    <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>    <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>
190    <!-- The expected canonical location does not yet exist as of 2014-07 -->    <!-- The expected canonical location does not yet exist as of 2016-04 -->
191    <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->    <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
192    <property name="java9.docroot.url"      value="http://download.java.net/jdk9/docs"/>    <property name="java9.docroot.url"      value="http://download.java.net/java/jdk9/docs"/>
193    <!-- Default jdk doc location (latest stable release seems best) -->    <!-- Default jdk doc location (latest stable release seems best) -->
194    <property name="java.docroot.url"       value="${java8.docroot.url}"/>    <property name="java.docroot.url"       value="${java8.docroot.url}"/>
195    
# Line 187  Line 206 
206    <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"    <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
207             classpath="${lib.dir}/jtreg.jar" />             classpath="${lib.dir}/jtreg.jar" />
208    
209    <!-- Test classpath -->    <!-- Tck options; see JSR166TestCase.java
210    <path id="test.classpath">     To profile a single tck test class:
211      <pathelement location="${build.testcases.dir}"/>     ant -Djsr166.profileTests=true -Djsr166.profileThreshold=10 -Djsr166.tckTestClass=CompletableFutureTest tck
212      <pathelement location="${junit.jar}"/>     To stress test a single tck test class:
213    </path>     ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 tck
214       To stress test a single tck test method:
215       ant -Djsr166.tckTestClass=RecursiveTaskTest -Djsr166.runsPerTest=1000 -Djsr166.methodFilter=testAbnormalInvokeAll3 tck
216      -->
217      <property name="jsr166.tckTestClass"     value="JSR166TestCase"/>
218    <macrodef name="run-tck-tests">    <macrodef name="run-tck-tests">
219      <attribute name="tck.src.dir" default="${tck.src.dir}"/>      <attribute name="tck.src.dir" default="${tck.src.dir}"/>
220      <attribute name="target"/>      <attribute name="target"/>
221      <attribute name="compile-target" default="@{target}"/>      <attribute name="compile-target" default="@{target}"/>
222      <attribute name="workdir"/>      <attribute name="workdir"/>
223      <attribute name="classes"/>      <attribute name="classes"/>
224        <!--
225            <attribute name="jvmflags" default="-XX:+UseParallelGC -XX:-UseBiasedLocking -ea -esa -Djsr166.testImplementationDetails=true"/>
226        -->
227      <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>      <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
228      <element name="javac-elements" optional="true"/>      <element name="javac-elements" optional="true"/>
229    
230      <sequential>      <sequential>
231    
232        <local name="modules"/>
233        <condition property="modules">
234          <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>
235        </condition>
236    
237      <mkdir dir="@{workdir}/tck-classes"/>      <mkdir dir="@{workdir}/tck-classes"/>
238    
239      <javac srcdir="@{tck.src.dir}"      <javac srcdir="@{tck.src.dir}"
# Line 215  Line 246 
246             classpath="${junit.jar}"             classpath="${junit.jar}"
247             includeAntRuntime="false"             includeAntRuntime="false"
248             includeJavaRuntime="false"             includeJavaRuntime="false"
249               encoding="ASCII"
250             executable="${javac@{compile-target}}"             executable="${javac@{compile-target}}"
251             fork="true">             fork="true">
252    
253        <include name="*.java"/>        <include name="*.java"/>
254        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
255        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>
256        <compilerarg value="-Xbootclasspath/p:@{classes}"/>        <compilerarg value="-Xdoclint:reference/private"/>
257          <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
258          <compilerarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
259        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
260        <javac-elements/>        <javac-elements/>
261    
# Line 231  Line 265 
265            failonerror="true"            failonerror="true"
266            jvm="${java@{target}}"            jvm="${java@{target}}"
267            fork="true">            fork="true">
268          <jvmarg value="-Xbootclasspath/p:@{classes}"/>          <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
269            <jvmarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
270            <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" if:set="modules"/>
271            <jvmarg value="--add-opens=java.base/java.util=ALL-UNNAMED" if:set="modules"/>
272            <jvmarg value="--add-opens=java.base/java.util.concurrent=ALL-UNNAMED" if:set="modules"/>
273            <jvmarg value="--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED" if:set="modules"/>
274            <jvmarg value="--add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED" if:set="modules"/>
275          <jvmarg line="@{jvmflags}"/>          <jvmarg line="@{jvmflags}"/>
276            <!-- ant -Dvmoptions="-Xmx8m" -Djsr166.tckTestClass=CompletableFutureTest tck -->
277            <jvmarg line="${vmoptions}" if:set="vmoptions"/>
278    
279          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 test-tck -->          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
280          <syspropertyset id="java.util.concurrent.ForkJoinPool-properties">          <syspropertyset id="system-properties-used-by-tck">
281            <propertyref prefix="java.util.concurrent.ForkJoinPool"/>            <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
282              <propertyref prefix="jsr166."/>
283              <propertyref name="test.timeout.factor"/>
284          </syspropertyset>          </syspropertyset>
285    
         <sysproperty key="jsr166.profileTests"     value="${jsr166.profileTests}"/>  
         <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>  
         <sysproperty key="jsr166.runsPerTest"      value="${jsr166.runsPerTest}"/>  
286          <classpath>          <classpath>
287            <pathelement location="${junit.jar}"/>            <pathelement location="${junit.jar}"/>
288            <pathelement location="@{workdir}/tck-classes"/>            <pathelement location="@{workdir}/tck-classes"/>
# Line 252  Line 293 
293    </macrodef>    </macrodef>
294    
295    <!-- Define jtreg test sets for different jdk versions -->    <!-- Define jtreg test sets for different jdk versions -->
296    <fileset dir="${jtreg.src.dir}">    <fileset dir="${jtreg9.src.dir}">
297      <patternset id="jdk9.jtreg.tests">      <patternset id="jdk9.jtreg.tests">
298        <include name="**/*.java"/>        <include name="**/*.java"/>
299      </patternset>      </patternset>
300    </fileset>    </fileset>
301    
302    <fileset dir="${jtreg.src.dir}">    <fileset dir="${jtreg8.src.dir}">
303      <patternset id="jdk8.jtreg.tests">      <patternset id="jdk8.jtreg.tests">
304        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="util/Spliterator/SpliteratorCharacteristics.java"/>  
305      </patternset>      </patternset>
306    </fileset>    </fileset>
307    
308    <fileset dir="${jtreg.src.dir}">    <fileset dir="${jtreg7.src.dir}">
309      <patternset id="jdk7.jtreg.tests">      <patternset id="jdk7.jtreg.tests">
310        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="util/Collection/CollectionDefaults.java"/>  
       <exclude name="util/List/ListDefaults.java"/>  
       <exclude name="util/Spliterator/**/*.java"/>  
       <exclude name="util/concurrent/CompletableFuture/**/*.java"/>  
       <exclude name="util/concurrent/forkjoin/SubmissionTest.java"/>  
       <exclude name="util/concurrent/locks/StampedLock/**/*.java"/>  
311      </patternset>      </patternset>
312    </fileset>    </fileset>
313    
314      <!-- ant -Djtreg.flags=-timeoutFactor:4 -->
315      <property name="jtreg.flags" value=""/>
316    
317    <macrodef name="run-jtreg-tests">    <macrodef name="run-jtreg-tests">
318      <!-- ant -Djtreg.src.dir=src/test/jtreg/util/concurrent/CompletableFuture test-jtreg -->      <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
     <attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/>  
319      <attribute name="source" default="7"/>      <attribute name="source" default="7"/>
320      <attribute name="target"/>      <attribute name="target"/>
321      <attribute name="workdir"/>      <attribute name="workdir"/>
322      <attribute name="classes"/>      <attribute name="classes"/>
323      <attribute name="jtregflags" default=""/>      <attribute name="jtregflags" default=""/>
324    
325      <sequential>      <sequential>
326    
327        <!-- ant -Djtreg.verbose=time,fail,error jtreg -->
328        <property name="jtreg.verbose" value="nopass,fail,error"/>
329    
330        <local name="modules"/>
331        <condition property="modules">
332          <available file="${jdk@{target}.home}/jmods" type="dir"/>
333        </condition>
334    
335      <delete dir="@{workdir}/JTwork"   quiet="true"/>      <delete dir="@{workdir}/JTwork"   quiet="true"/>
336      <delete dir="@{workdir}/JTreport" quiet="true"/>      <jtreg dir="${jtreg@{target}.src.dir}"
     <mkdir dir="@{workdir}/JTwork/scratch"/>  
     <mkdir dir="@{workdir}/JTreport"/>  
     <jtreg dir="@{jtreg.src.dir}"  
337             jdk="${jdk@{target}.home}"             jdk="${jdk@{target}.home}"
338             workDir="@{workdir}/JTwork"             workDir="@{workdir}/JTwork">
            reportDir="@{workdir}/JTreport">  
339        <patternset refid="jdk@{target}.jtreg.tests"/>        <patternset refid="jdk@{target}.jtreg.tests"/>
340        <arg value="-Xbootclasspath/p:@{classes}"/>        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
341          <arg value="-javacoptions:--patch-module java.base=@{classes}" if:set="modules"/>
342          <arg value="-vmoptions:--patch-module java.base=@{classes}" if:set="modules"/>
343        <arg value="-agentvm"/>        <arg value="-agentvm"/>
344        <arg value="-v:nopass,fail"/>        <arg value="-noreport"/>
345          <arg value="-verbose:${jtreg.verbose}"/>
346        <arg value="-vmoptions:-esa -ea"/>        <arg value="-vmoptions:-esa -ea"/>
347        <arg value="-automatic"/>        <arg value="-automatic"/>
348        <arg value="-k:!ignore"/>        <arg value="-k:!ignore"/>
349        <arg line="@{jtregflags}"/>        <arg line="@{jtregflags}"/>
350          <arg line="${jtreg.flags}"/>
351      </jtreg>      </jtreg>
352      </sequential>      </sequential>
353    </macrodef>    </macrodef>
# Line 321  Line 367 
367    <property name="build.main.javac" value="${javac9}"/>    <property name="build.main.javac" value="${javac9}"/>
368    
369    <target name="dists"    <target name="dists"
370            depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"            depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
371            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
372    
373    <target name="compile"    <target name="compile"
374            depends="configure-compiler"            depends="configure-compiler"
375            description="Compiles src/main sources to build dir">            description="Compiles src/main sources to build dir">
376    
377      <mkdir dir="${build.classes.dir}"/>      <local name="modules"/>
378        <condition property="modules">
379          <and>
380            <available file="${jdk9.home}/jmods" type="dir"/>
381            <equals arg1="9" arg2="${build.main.java.version}"/>
382          </and>
383        </condition>
384    
385        <local name="destdir"/>
386        <property name="destdir" value="${build.classes.dir}/java.base" if:set="modules"/>
387        <property name="destdir" value="${build.classes.dir}" unless:set="modules"/>
388    
389        <mkdir dir="${destdir}"/>
390    
391      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
392             destdir="${build.classes.dir}"             destdir="${destdir}"
393             debug="${build.debug}"             debug="${build.debug}"
394             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
395             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
396             classpath=""             classpath=""
397             includeAntRuntime="false"             includeAntRuntime="false"
398             includeJavaRuntime="false"             includeJavaRuntime="false"
399               encoding="ASCII"
400             executable="${build.main.javac}"             executable="${build.main.javac}"
401             fork="true">             fork="true">
402    
403        <include name="**/*.java"/>        <include name="**/*.java"/>
404          <compilerarg value="--patch-module=java.base=${src.dir}" if:set="modules"/>
405        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
406        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
407        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
408        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
409        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
410        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
411        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
412    
# Line 356  Line 416 
416    
417    <target name="jar"    <target name="jar"
418            depends="compile"            depends="compile"
419            description="Builds library jar from compiled sources">            description="Builds library jar for src/main from compiled sources">
420        <local name="subdir"/>
421        <available property="subdir" file="${build.classes.dir}/java.base" type="dir" value="/java.base"/>
422      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
423        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}${subdir}"/>
424          <manifest>
425            <attribute name="Built-By" value="${user.name}"/>
426            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
427          </manifest>
428      </jar>      </jar>
429    </target>    </target>
430    
# Line 373  Line 438 
438      <!-- the packagenames="none" hack below prevents scanning the -->      <!-- the packagenames="none" hack below prevents scanning the -->
439      <!-- sourcepath for packages -->      <!-- sourcepath for packages -->
440    
441    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}" -->
442    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}:${jdk9.src.home}/jdk/src/java.logging/share/classes" -->
443    <!-- TODO: sourcepath="${src.dir}:${jdk9.home}/src.zip" -->
444    <!-- TODO: <arg line="-sourcepath ${src.dir}:${jdk9.home}/src.zip"/> -->
445    <!-- TODO: <arg line="- -module-source-path ${jdk9.home}/src.zip"/> -->
446      <javadoc destdir="${docs.dir}"      <javadoc destdir="${docs.dir}"
447               packagenames="none"               packagenames="none"
448               link="${java9.api.url}"               link="${java9.api.url}"
449               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
450               access="${build.javadoc.access}"               access="${build.javadoc.access}"
451               sourcepath="${src.dir}:${jdk9src.dir}"               sourcepath="${src.dir}"
452               classpath=""               classpath=""
453               executable="${javadoc9}">               executable="${javadoc9}">
454        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
# Line 387  Line 457 
457        <arg line="-Xdocrootparent ${java9.docroot.url}"/>        <arg line="-Xdocrootparent ${java9.docroot.url}"/>
458        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
459        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
460          <arg value="--patch-module=java.base=${src.dir}"/>
461        <arg value="-tag"/>        <arg value="-tag"/>
462        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
463    <!-- @apiNote currently unused -->
464    <!--       <arg value="-tag"/> -->
465    <!--       <arg value="apiNote:a:API Note:"/> -->
466        <arg value="-tag"/>        <arg value="-tag"/>
467        <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>        <arg value="implSpec:a:Implementation Requirements:"/>
468        <arg value="-tag"/>        <arg value="-tag"/>
469        <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>        <arg value="implNote:a:Implementation Note:"/>
470        <arg value="-tag"/>  <!-- tags added in jdk9: currently unused -->
471        <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>  <!--       <arg value="-tag"/> -->
472    <!--       <arg value="revised:X"/> -->
473    <!--       <arg value="-tag"/> -->
474    <!--       <arg value="spec:X"/> -->
475      </javadoc>      </javadoc>
476    </target>    </target>
477    
# Line 418  Line 495 
495        <exclude name="src/emulation/**"/>        <exclude name="src/emulation/**"/>
496        <exclude name="**/SyntaxTest.java"/>        <exclude name="**/SyntaxTest.java"/>
497        <exclude name="**/SuperfluousAbstract.java"/>        <exclude name="**/SuperfluousAbstract.java"/>
498          <manifest>
499            <attribute name="Built-By" value="${user.name}"/>
500            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
501          </manifest>
502      </jar>      </jar>
503    </target>    </target>
504    
# Line 449  Line 530 
530      <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>      <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
531    </target>    </target>
532    
533    <target name="tck" depends="test-tck" description="alias for test-tck"/>    <target name="tck"
   <target name="test-tck"  
534            depends="jar"            depends="jar"
535            description="Runs tck tests for main directly">            description="Runs tck tests for src/main directly">
536    
537      <run-tck-tests      <run-tck-tests
538        target="${build.main.java.version}"        target="${build.main.java.version}"
539        workdir="${build.dir}"        workdir="${build.dir}"
540        classes="${product.jar}"/>        classes="${product.jar}">
541          <javac-elements>
542            <compilerarg value="-Werror"/>
543          </javac-elements>
544        </run-tck-tests>
545    </target>    </target>
546    
547    <target name="test-tck-parallelism-1"    <target name="tck-parallelism-1"
548            description="Runs test-tck with given common pool parallelism">            description="Runs tck with common pool parallelism 1">
549      <antcall target="test-tck">      <antcall target="tck">
550        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
551      </antcall>      </antcall>
552    </target>    </target>
553    
554    <target name="test-tck-parallelism-0"    <target name="tck-parallelism-0"
555            description="Runs test-tck with given common pool parallelism">            description="Runs tck with common pool parallelism 0">
556      <antcall target="test-tck">      <antcall target="tck">
557        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
558      </antcall>      </antcall>
559    </target>    </target>
560    
561    <target name="jtreg" depends="test-jtreg" description="alias for test-jtreg"/>    <target name="tck-security-manager"
562    <target name="test-jtreg"            description="Runs tck with a security manager">
563        <antcall target="tck">
564          <param name="jsr166.useSecurityManager" value="true"/>
565        </antcall>
566      </target>
567    
568      <target name="jtreg"
569            depends="jar"            depends="jar"
570            description="Runs jtreg tests for main using the jtreg ant task">            description="Runs jtreg tests for src/main using the jtreg ant task">
571      <run-jtreg-tests      <run-jtreg-tests
572         target="${build.main.java.version}"         target="${build.main.java.version}"
573         workdir="${build.dir}"         workdir="${build.dir}"
# Line 485  Line 575 
575    </target>    </target>
576    
577    <target name="test"    <target name="test"
578            depends="test-tck, test-tck-parallelism-1, test-jtreg"            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
579            description="Runs tck and jtreg tests for main">            description="Runs tck and jtreg tests for src/main">
580    </target>    </target>
581    
582    <target name="test89"  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
           description="Runs tck and jtreg tests for main for multiple java versions">  
583    
584      <antcall target="clean"/>  <!--     <antcall target="jtreg"> -->
585      <antcall target="test">  <!--       <param name="build.main.java.version" value="8"/> -->
586        <param name="build.main.java.version" value="8"/>  <!--       <param name="build.main.javac" value="${javac8}"/> -->
587        <param name="build.main.javac" value="${javac8}"/>  <!--     </antcall> -->
       <param name="jtreg.exclude.file" value="${jtreg.src.dir}/jdk9tests"/>  
     </antcall>  
588    
589      <antcall target="clean"/>  <!--   </target> -->
     <antcall target="test">  
       <param name="build.main.java.version" value="9"/>  
       <param name="build.main.javac" value="${javac9}"/>  
     </antcall>  
590    
591    </target>  <!--   <target name="test89" -->
592    <!--           description="Runs tck and jtreg tests for src/main for multiple java versions"> -->
593    
594    <!--     <antcall target="clean"/> -->
595    <!--     <antcall target="test"> -->
596    <!--       <param name="build.main.java.version" value="8"/> -->
597    <!--       <param name="build.main.javac" value="${javac8}"/> -->
598    <!--     </antcall> -->
599    
600    <!--     <antcall target="clean"/> -->
601    <!--     <antcall target="test"> -->
602    <!--       <param name="build.main.java.version" value="9"/> -->
603    <!--       <param name="build.main.javac" value="${javac9}"/> -->
604    <!--     </antcall> -->
605    
606    <!--   </target> -->
607    
608    
609    
610    <target name="configure-compiler">    <target name="configure-compiler">
611        <fail message="ant version too old">
612          <condition> <not> <antversion atleast="1.9.1"/> </not> </condition>
613        </fail>
614    
615      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
616    
# Line 530  Line 631 
631    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
632    
633    
634    <target name="loops" depends="configure-compiler"    <!-- description="Benchmark from Doug Lea's AQS paper" -->
635            description="Benchmark from Doug Lea's AQS paper">    <target name="loops" depends="configure-compiler">
636    
637      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
638    
# Line 541  Line 642 
642         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
643        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
644             source="${build.sourcelevel}"             source="${build.sourcelevel}"
645               target="${build.sourcelevel}"
646             encoding="ASCII"
647               fork="true">               fork="true">
648    
649        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 568  Line 671 
671             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
672             includeAntRuntime="false"             includeAntRuntime="false"
673             includeJavaRuntime="false"             includeJavaRuntime="false"
674               encoding="ASCII"
675             executable="${javac9}"             executable="${javac9}"
676             fork="true">             fork="true">
677    
678        <include name="*.java"/>        <include name="*.java"/>
679        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
680        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
681        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
682        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
683    
# Line 582  Line 686 
686    </target>    </target>
687    
688    
689      <!-- jsr166 4jdk8 -->
690    
691      <target name="4jdk8compile"
692              depends="configure-compiler"
693              description="Compiles src/jdk8 sources, targeting jdk8">
694    
695        <mkdir dir="${build.4jdk8.classes.dir}"/>
696    
697        <javac srcdir="${4jdk8src.dir}"
698               destdir="${build.4jdk8.classes.dir}"
699               debug="${build.debug}"
700               debuglevel="${build.debuglevel}"
701               deprecation="${build.deprecation}"
702               source="8"
703               target="8"
704               classpath=""
705               bootclasspath="${bootclasspath8}"
706               includeAntRuntime="false"
707               includeJavaRuntime="false"
708               encoding="ASCII"
709               executable="${javac8}"
710               fork="true">
711    
712          <include name="**/*.java"/>
713          <compilerarg value="-Xprefer:source"/>
714          <compilerarg value="-XDignore.symbol.file=true"/>
715          <compilerarg value="-Xlint:all"/>
716          <compilerarg value="-Werror"/>
717          <compilerarg line="${build.args}"/>
718    
719        </javac>
720      </target>
721    
722      <target name="4jdk8doclint"
723              depends="configure-compiler"
724              description="Finds doclint warnings">
725    
726        <mkdir dir="${build.4jdk8.classes.dir}"/>
727    
728        <javac srcdir="${4jdk8src.dir}"
729               destdir="${build.4jdk8.classes.dir}"
730               debug="${build.debug}"
731               debuglevel="${build.debuglevel}"
732               deprecation="${build.deprecation}"
733               source="8"
734               target="8"
735               classpath=""
736               bootclasspath="${bootclasspath8}"
737               includeAntRuntime="false"
738               includeJavaRuntime="false"
739               encoding="ASCII"
740               executable="${javac8}"
741               fork="true">
742    
743          <include name="**/*.java"/>
744          <compilerarg value="-Xprefer:source"/>
745          <compilerarg value="-XDignore.symbol.file=true"/>
746          <compilerarg value="-Xlint:all"/>
747          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
748          <compilerarg line="${build.args}"/>
749    
750        </javac>
751      </target>
752    
753    
754      <target name="4jdk8jar"
755              depends="4jdk8compile"
756              description="Builds library jar from compiled sources">
757    
758        <jar destfile="${4jdk8product.jar}">
759          <fileset dir="${build.4jdk8.classes.dir}"/>
760          <manifest>
761            <attribute name="Built-By" value="${user.name}"/>
762            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
763          </manifest>
764        </jar>
765    
766      </target>
767    
768    
769      <target name="4jdk8-tck"
770              depends="4jdk8jar"
771              description="Runs tck tests for jsr166-4jdk8 directly">
772    
773        <run-tck-tests
774          target="8"
775          workdir="${build.4jdk8.dir}"
776          classes="${4jdk8product.jar}">
777          <javac-elements>
778            <!-- JDK9+ test classes -->
779            <exclude name="*9Test.java"/>
780            <exclude name="*10Test.java"/>
781            <compilerarg value="-Werror"/>
782          </javac-elements>
783        </run-tck-tests>
784      </target>
785    
786    
787      <target name="4jdk8-jtreg"
788              depends="4jdk8jar"
789              description="Runs jtreg tests for jsr166-4jdk8 using the jtreg ant task">
790        <run-jtreg-tests
791           target="8"
792           workdir="${build.4jdk8.dir}"
793           classes="${4jdk8product.jar}"/>
794      </target>
795    
796    
797      <target name="4jdk8-test"
798              depends="4jdk8-tck, 4jdk8-jtreg"
799              description="Runs tck and jtreg tests for jsr166-4jdk8">
800      </target>
801    
802    
803      <target name="4jdk8docs"
804              description="Builds javadocs for src/jdk8 to dist dir">
805    
806        <delete dir="${4jdk8docs.dir}"/>
807        <mkdir dir="${4jdk8docs.dir}"/>
808    
809        <javadoc destdir="${4jdk8docs.dir}"
810                 packagenames="none"
811                 link="${java8.api.url}"
812                 overview="${4jdk8src.dir}/intro.html"
813                 access="${build.javadoc.access}"
814                 sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
815                 classpath=""
816                 executable="${javadoc8}"
817                 failonerror = "true">
818          <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
819            <include name="**/*.java"/>
820          </fileset>
821          <arg line="-Xdocrootparent ${java8.docroot.url}"/>
822          <arg value="-XDignore.symbol.file=true"/>
823          <arg value="-tag"/>
824          <arg value="${javadoc.jls.option}"/>
825    <!-- @apiNote currently unused -->
826    <!--       <arg value="-tag"/> -->
827    <!--       <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/> -->
828          <arg value="-tag"/>
829          <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
830          <arg value="-tag"/>
831          <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
832        </javadoc>
833      </target>
834    
835    
836      <target name="4jdk8dist"
837              depends="4jdk8dist-jar, 4jdk8dist-docs"
838              description="Puts all distributable products in single hierarchy"/>
839    
840    
841      <target name="4jdk8clean"
842              description="Removes all 4jdk8 build products">
843    
844        <delete dir="${build.4jdk8.dir}"/>
845    
846      </target>
847    
848    
849      <target name="4jdk8dist-jar"
850              depends="4jdk8clean, 4jdk8jar">
851        <copy file="${4jdk8product.jar}" todir="${dist.dir}"/>
852      </target>
853    
854    
855      <target name="4jdk8dist-docs"
856              depends="4jdk8clean, 4jdk8docs">
857        <mirror-dir src="${4jdk8docs.dir}" dst="${dist.4jdk8docs.dir}"/>
858      </target>
859    
860    
861    
862    <!-- jsr166 4jdk7 -->    <!-- jsr166 4jdk7 -->
863    
864    <target name="4jdk7compile"    <target name="4jdk7compile"
# Line 596  Line 873 
873             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
874             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
875             source="6"             source="6"
876               target="6"
877             classpath=""             classpath=""
878             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
879             includeAntRuntime="false"             includeAntRuntime="false"
880             includeJavaRuntime="false"             includeJavaRuntime="false"
881               encoding="ASCII"
882             executable="${javac7}"             executable="${javac7}"
883             fork="true">             fork="true">
884    
# Line 625  Line 904 
904             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
905             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
906             source="6"             source="6"
907               target="6"
908             classpath=""             classpath=""
909             bootclasspath="${bootclasspath7}"             bootclasspath="${bootclasspath6}"
910             includeAntRuntime="false"             includeAntRuntime="false"
911             includeJavaRuntime="false"             includeJavaRuntime="false"
912               encoding="ASCII"
913             executable="${javac8}"             executable="${javac8}"
914             fork="true">             fork="true">
915    
# Line 649  Line 930 
930    
931      <jar destfile="${4jdk7product.jar}">      <jar destfile="${4jdk7product.jar}">
932        <fileset dir="${build.4jdk7.classes.dir}"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
933          <manifest>
934            <attribute name="Built-By" value="${user.name}"/>
935            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
936          </manifest>
937      </jar>      </jar>
938    
939    </target>    </target>
940    
941    
942    <target name="4jdk7-test-tck"    <target name="4jdk7-tck"
943            depends="4jdk7jar"            depends="4jdk7jar"
944            description="Runs tck tests for jsr166-4jdk7 directly">            description="Runs tck tests for jsr166-4jdk7 directly">
945    
# Line 666  Line 951 
951          <!-- JDK8+ test classes -->          <!-- JDK8+ test classes -->
952          <exclude name="*8Test.java"/>          <exclude name="*8Test.java"/>
953          <exclude name="*9Test.java"/>          <exclude name="*9Test.java"/>
954            <exclude name="*10Test.java"/>
955          <exclude name="DoubleAccumulatorTest.java"/>          <exclude name="DoubleAccumulatorTest.java"/>
956          <exclude name="DoubleAdderTest.java"/>          <exclude name="DoubleAdderTest.java"/>
957          <exclude name="LongAccumulatorTest.java"/>          <exclude name="LongAccumulatorTest.java"/>
# Line 673  Line 959 
959          <exclude name="CompletableFutureTest.java"/>          <exclude name="CompletableFutureTest.java"/>
960          <exclude name="SplittableRandomTest.java"/>          <exclude name="SplittableRandomTest.java"/>
961          <exclude name="StampedLockTest.java"/>          <exclude name="StampedLockTest.java"/>
962            <exclude name="SubmissionPublisherTest.java"/>
963            <compilerarg value="-Werror"/>
964        </javac-elements>        </javac-elements>
965      </run-tck-tests>      </run-tck-tests>
966    </target>    </target>
967    
968    
969    <target name="4jdk7-test-tck-junit"    <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
970            depends="4jdk7compile"    <target name="4jdk7-tck-junit"
971            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">            depends="4jdk7compile">
972    
973      <junit printsummary="true"      <junit printsummary="true"
974             showoutput="true"             showoutput="true"
# Line 706  Line 994 
994      </junit>      </junit>
995    </target>    </target>
996    
997    <target name="4jdk7-test-jtreg"    <target name="4jdk7-jtreg"
998            depends="4jdk7jar"            depends="4jdk7jar"
999            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
1000      <run-jtreg-tests      <run-jtreg-tests
# Line 717  Line 1005 
1005    
1006    
1007    <target name="4jdk7-test"    <target name="4jdk7-test"
1008            depends="4jdk7-test-tck, 4jdk7-test-jtreg"            depends="4jdk7-tck, 4jdk7-jtreg"
1009            description="Runs tck and jtreg tests for jsr166-4jdk7">            description="Runs tck and jtreg tests for jsr166-4jdk7">
1010    </target>    </target>
1011    
# Line 733  Line 1021 
1021               link="${java7.api.url}"               link="${java7.api.url}"
1022               overview="${4jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
1023               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1024               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
1025               classpath=""               classpath=""
1026               executable="${javadoc7}">               executable="${javadoc7}"
1027                 failonerror = "true">
1028        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
1029          <include name="**/*.java"/>          <include name="**/*.java"/>
1030        </fileset>        </fileset>
# Line 786  Line 1075 
1075             classpath=""             classpath=""
1076             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1077             source="5"             source="5"
1078               target="5"
1079             includeAntRuntime="false"             includeAntRuntime="false"
1080             includeJavaRuntime="false"             includeJavaRuntime="false"
1081               encoding="ASCII"
1082             executable="${javac7}"             executable="${javac7}"
1083             fork="true">             fork="true">
1084    
# Line 807  Line 1098 
1098    
1099      <jar destfile="${jsr166x.jar}">      <jar destfile="${jsr166x.jar}">
1100        <fileset dir="${build.jsr166x.classes.dir}"/>        <fileset dir="${build.jsr166x.classes.dir}"/>
1101          <manifest>
1102            <attribute name="Built-By" value="${user.name}"/>
1103            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1104          </manifest>
1105      </jar>      </jar>
1106    
1107    </target>    </target>
# Line 822  Line 1117 
1117               packagenames="jsr166x.*"               packagenames="jsr166x.*"
1118               link="${java.api.url}"               link="${java.api.url}"
1119               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1120               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1121               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1122               source="5"               source="5"
1123               executable="${javadoc7}">               executable="${javadoc7}"
1124                 failonerror = "true">
1125        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1126        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1127    
# Line 871  Line 1167 
1167             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1168             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1169             source="6"             source="6"
1170               target="6"
1171             classpath=""             classpath=""
1172             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1173             includeAntRuntime="false"             includeAntRuntime="false"
1174             includeJavaRuntime="false"             includeJavaRuntime="false"
1175               encoding="ASCII"
1176             executable="${javac7}"             executable="${javac7}"
1177             fork="true">             fork="true">
1178    
# Line 894  Line 1192 
1192    
1193      <jar destfile="${jsr166y.jar}" index="true">      <jar destfile="${jsr166y.jar}" index="true">
1194        <fileset dir="${build.jsr166y.classes.dir}"/>        <fileset dir="${build.jsr166y.classes.dir}"/>
1195          <manifest>
1196            <attribute name="Built-By" value="${user.name}"/>
1197            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1198          </manifest>
1199      </jar>      </jar>
1200    
1201    </target>    </target>
# Line 909  Line 1211 
1211               packagenames="jsr166y.*"               packagenames="jsr166y.*"
1212               link="${java.api.url}"               link="${java.api.url}"
1213               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1214               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1215               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1216               source="6"               source="6"
1217               executable="${javadoc7}">               executable="${javadoc7}"
1218                 failonerror = "true">
1219        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1220        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1221    
# Line 961  Line 1264 
1264             bootclasspath="@{jsr166y.jar}:${bootclasspath6}"             bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1265             classpath=""             classpath=""
1266             source="6"             source="6"
1267               target="6"
1268             includeAntRuntime="false"             includeAntRuntime="false"
1269             includeJavaRuntime="false"             includeJavaRuntime="false"
1270               encoding="ASCII"
1271             executable="${javac7}"             executable="${javac7}"
1272             fork="true">             fork="true">
1273    
# Line 982  Line 1287 
1287    
1288      <jar destfile="${extra166y.jar}" index="true">      <jar destfile="${extra166y.jar}" index="true">
1289        <fileset dir="${build.extra166y.classes.dir}"/>        <fileset dir="${build.extra166y.classes.dir}"/>
1290          <manifest>
1291            <attribute name="Built-By" value="${user.name}"/>
1292            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1293          </manifest>
1294      </jar>      </jar>
1295    
1296    </target>    </target>
# Line 997  Line 1306 
1306               packagenames="extra166y.*"               packagenames="extra166y.*"
1307               link="${java.api.url}"               link="${java.api.url}"
1308               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1309               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1310               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1311               source="6"               source="6"
1312               executable="${javadoc7}">               executable="${javadoc7}">
# Line 1048  Line 1357 
1357             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1358             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1359             source="${build.jsr166e.java.version}"             source="${build.jsr166e.java.version}"
1360               target="${build.jsr166e.java.version}"
1361             classpath=""             classpath=""
1362             includeAntRuntime="false"             includeAntRuntime="false"
1363             includeJavaRuntime="false"             includeJavaRuntime="false"
# Line 1074  Line 1384 
1384             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1385             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1386             source="${build.jsr166e.java.version}"             source="${build.jsr166e.java.version}"
1387               target="${build.jsr166e.java.version}"
1388             classpath=""             classpath=""
1389             bootclasspath="${bootclasspath7}"             bootclasspath="${bootclasspath6}"
1390             includeAntRuntime="false"             includeAntRuntime="false"
1391             includeJavaRuntime="false"             includeJavaRuntime="false"
1392             executable="${javac8}"             executable="${javac8}"
# Line 1097  Line 1408 
1408    
1409      <jar destfile="${jsr166e.jar}" index="true">      <jar destfile="${jsr166e.jar}" index="true">
1410        <fileset dir="${build.jsr166e.classes.dir}"/>        <fileset dir="${build.jsr166e.classes.dir}"/>
1411          <manifest>
1412            <attribute name="Built-By" value="${user.name}"/>
1413            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1414          </manifest>
1415      </jar>      </jar>
1416    
1417    </target>    </target>
# Line 1112  Line 1427 
1427               packagenames="jsr166e.*"               packagenames="jsr166e.*"
1428               link="${java.api.url}"               link="${java.api.url}"
1429               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1430               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1431               source="${build.jsr166e.java.version}"               source="${build.jsr166e.java.version}"
1432               executable="${javadoc7}">               executable="${javadoc7}"
1433                 failonerror = "true">
1434        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1435        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1436    
# Line 1122  Line 1438 
1438    </target>    </target>
1439    
1440    
1441    <target name="jsr166e-test-tck-one-java-version"    <target name="jsr166e-tck-one-java-version"
1442            depends="jsr166ejar">            depends="jsr166ejar">
1443    
1444      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
# Line 1134  Line 1450 
1450        classes="${jsr166e.jar}"/>        classes="${jsr166e.jar}"/>
1451    </target>    </target>
1452    
1453    <target name="jsr166e-test-tck"    <target name="jsr166e-tck"
1454            description="Runs tck tests for jsr166e for multiple java versions">            description="Runs tck tests for jsr166e for multiple java versions">
1455    
1456  <!--     <antcall target="clean"/> -->  <!--     <antcall target="clean"/> -->
1457  <!--     <antcall target="jsr166e-test-tck-one-java-version"> -->  <!--     <antcall target="jsr166e-tck-one-java-version"> -->
1458  <!--       <param name="build.jsr166e.java.version" value="8"/> -->  <!--       <param name="build.jsr166e.java.version" value="8"/> -->
1459  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->
1460  <!--     </antcall> -->  <!--     </antcall> -->
1461    
1462      <antcall target="clean"/>      <antcall target="clean"/>
1463      <antcall target="jsr166e-test-tck-one-java-version">      <antcall target="jsr166e-tck-one-java-version">
1464        <param name="build.jsr166e.java.version" value="7"/>        <param name="build.jsr166e.java.version" value="7"/>
1465        <param name="build.jsr166e.javac" value="${javac7}"/>        <param name="build.jsr166e.javac" value="${javac7}"/>
1466      </antcall>      </antcall>
1467    
1468      <antcall target="clean"/>      <antcall target="clean"/>
1469      <antcall target="jsr166e-test-tck-one-java-version">      <antcall target="jsr166e-tck-one-java-version">
1470        <param name="build.jsr166e.java.version" value="6"/>        <param name="build.jsr166e.java.version" value="6"/>
1471        <param name="build.jsr166e.javac" value="${javac6}"/>        <param name="build.jsr166e.javac" value="${javac6}"/>
1472      </antcall>      </antcall>
# Line 1158  Line 1474 
1474    
1475    
1476    <target name="jsr166e-test"    <target name="jsr166e-test"
1477            depends="jsr166e-test-tck"            depends="jsr166e-tck"
1478            description="Runs all tests for jsr166e">            description="Runs all tests for jsr166e">
1479    </target>    </target>
1480    
# Line 1200  Line 1516 
1516    </target>    </target>
1517    
1518    
1519    <!-- ==============================================================
1520      Experimental errorprone support - http://errorprone.info
1521      You may need to bring your own errorprone jar.
1522    =================================================================== -->
1523      <target name="errorprone"
1524              depends="clean, configure-compiler"
1525              description="Run errorprone over jsr166 source code">
1526    
1527        <local name="destdir"/>
1528        <property name="destdir" value="${build.classes.dir}/java.base"/>
1529        <mkdir dir="${destdir}"/>
1530    
1531        <javac srcdir="${src.dir}"
1532               destdir="${destdir}"
1533               debug="${build.debug}"
1534               debuglevel="${build.debuglevel}"
1535               deprecation="${build.deprecation}"
1536               classpath=""
1537               includeAntRuntime="false"
1538               includeJavaRuntime="false"
1539               encoding="ASCII"
1540               executable="${build.main.javac}"
1541               fork="true">
1542    
1543          <include name="**/*.java"/>
1544          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1545          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1546          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1547          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1548          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1549          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1550          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1551          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1552          <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1553          <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1554          <compilerarg value="-Xplugin:ErrorProne
1555                              -Xep:IdentityBinaryExpression:WARN
1556                              -Xep:MissingOverride:OFF
1557                              -Xep:MixedArrayDimensions:WARN
1558                              -Xep:RemoveUnusedImports:ERROR
1559                              -Xep:MethodCanBeStatic:WARN"/>
1560          <compilerarg value="--patch-module=java.base=${src.dir}"/>
1561          <compilerarg value="-Xprefer:source"/>
1562          <compilerarg value="-XDignore.symbol.file=true"/>
1563          <compilerarg value="-Xlint:all"/>
1564          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
1565          <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1566          <compilerarg line="${build.args}"/>
1567        </javac>
1568    
1569        <jar destfile="${product.jar}">
1570          <fileset dir="${destdir}"/>
1571        </jar>
1572    
1573        <run-tck-tests
1574          target="${build.main.java.version}"
1575          workdir="${build.dir}"
1576          classes="${product.jar}">
1577          <javac-elements>
1578            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1579            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1580            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1581            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1582            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1583            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1584            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1585            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1586            <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1587            <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1588            <compilerarg value="-Xplugin:ErrorProne
1589                                -Xep:IdentityBinaryExpression:WARN
1590                                -Xep:BoxedPrimitiveConstructor:OFF
1591                                -Xep:HashtableContains:OFF
1592                                -Xep:ModifyingCollectionWithItself:OFF
1593                                -Xep:MissingOverride:OFF
1594                                -Xep:MixedArrayDimensions:WARN
1595                                -Xep:RemoveUnusedImports:ERROR
1596                                -Xep:MethodCanBeStatic:WARN"/>
1597            <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1598          </javac-elements>
1599        </run-tck-tests>
1600      </target>
1601    
1602    
1603    <!-- ==============================================================
1604      Running guava tests against jsr166 code
1605    =================================================================== -->
1606    
1607    <!-- <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" -->
1608    <!--   organisation="com.google.guava" module="guava-testlib" revision="21.0"/> -->
1609    <!-- <property name="guava.version" value="21.0"/> -->
1610    
1611    <!-- HOWTO debug print a path id -->
1612    <!-- <pathconvert property="guava.testlib.classpath" refid="guava.testlib.classpath" /> -->
1613    <!-- <echo message="guava.testlib.classpath=${guava.testlib.classpath}"/> -->
1614    
1615    <!-- <ivy:retrieve pathid="guava.tests.classpath" type="jar" inline="true" conf="*" pattern="${lib.dir}/[type]/[artifact].[ext]" -->
1616    <!--   organisation="com.google.guava" module="guava-tests"/> -->
1617    <!-- <get src="http://repo2.maven.org/maven2/com/google/guava/guava-tests/${guava.version}/guava-tests-${guava.version}-tests.jar" -->
1618    <!--   dest="${lib.dir}/jar/guava-tests-tests.jar" usetimestamp="true"/> -->
1619    <!--     <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" type="*" -->
1620    <!--       organisation="com.google.guava" module="guava-testlib" revision="${guava.version}"/> -->
1621    
1622    <!-- <test name="com.google.common.collect.testing.TestsForQueuesInJavaUtil"/> -->
1623    <!-- <test name="com.google.common.collect.testing.TestsForListsInJavaUtil"/> -->
1624    <!-- <test name="com.google.common.collect.testing.TestsForSetsInJavaUtil"/> -->
1625    <!-- <test name="com.google.common.collect.testing.TestsForMapsInJavaUtil"/> -->
1626    
1627    <!-- <ivy:retrieve pathid="guava.testlib.classpath" -->
1628    <!--   type="*" inline="true" conf="*(private),*(public)" -->
1629    <!--   pattern="${guava.dir}/[artifact].[ext]" -->
1630    <!--   organisation="com.google.guava" module="guava-testlib"/> -->
1631    
1632    <!-- Work around bug below by downloading guava-testlib-tests.jar "by hand": -->
1633    <!-- https://issues.apache.org/jira/browse/IVY-1444 -->
1634    <!-- maven tests artifacts cannot be downloaded because they are mapped to private configurations -->
1635    
1636      <target name="init-ivy">
1637        <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.4.0/ivy-2.4.0.jar"
1638             dest="${build.dir}/ivy.jar" usetimestamp="true" skipexisting="true"/>
1639        <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"
1640                 classpath="${build.dir}/ivy.jar"/>
1641      </target>
1642    
1643      <target name="guava-tests" depends="jar, init-ivy"
1644              description="Guava tests run against jsr166 collections">
1645        <property name="guava.dir" value="${build.dir}/guava-testlib"/>
1646        <mkdir dir="${guava.dir}"/>
1647        <ivy:retrieve pathid="guava.testlib.classpath"
1648          type="jar,bundle" inline="true" conf="default,master"
1649          pattern="${guava.dir}/[artifact].[ext]"
1650          organisation="com.google.guava" module="guava-testlib"/>
1651        <property name="guava.version" value="21.0"/>
1652        <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"
1653             dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1654        <junit printsummary="true" showoutput="true" haltonfailure="true"
1655               jvm="${java9}" fork="true">
1656          <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>
1657          <formatter type="brief"/>
1658          <classpath>
1659            <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>
1660            <path refid="guava.testlib.classpath"/>
1661          </classpath>
1662    
1663          <!-- "6" in "OpenJdk6Tests" misleadingly means "6+" -->
1664          <test name="com.google.common.collect.testing.OpenJdk6Tests"/>
1665        </junit>
1666      </target>
1667    
1668  </project>  </project>

Legend:
Removed from v.1.166  
changed lines
  Added in v.1.237

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8