[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.236, Mon Mar 20 00:03:57 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>
613            <not> <antversion atleast="1.9.1"/> </not>
614          </condition>
615        </fail>
616    
617      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
618    
# Line 530  Line 633 
633    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
634    
635    
636    <target name="loops" depends="configure-compiler"    <!-- description="Benchmark from Doug Lea's AQS paper" -->
637            description="Benchmark from Doug Lea's AQS paper">    <target name="loops" depends="configure-compiler">
638    
639      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
640    
# Line 541  Line 644 
644         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
645        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
646             source="${build.sourcelevel}"             source="${build.sourcelevel}"
647               target="${build.sourcelevel}"
648             encoding="ASCII"
649               fork="true">               fork="true">
650    
651        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 568  Line 673 
673             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
674             includeAntRuntime="false"             includeAntRuntime="false"
675             includeJavaRuntime="false"             includeJavaRuntime="false"
676               encoding="ASCII"
677             executable="${javac9}"             executable="${javac9}"
678             fork="true">             fork="true">
679    
680        <include name="*.java"/>        <include name="*.java"/>
681        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
682        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
683        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
684        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
685    
# Line 582  Line 688 
688    </target>    </target>
689    
690    
691      <!-- jsr166 4jdk8 -->
692    
693      <target name="4jdk8compile"
694              depends="configure-compiler"
695              description="Compiles src/jdk8 sources, targeting jdk8">
696    
697        <mkdir dir="${build.4jdk8.classes.dir}"/>
698    
699        <javac srcdir="${4jdk8src.dir}"
700               destdir="${build.4jdk8.classes.dir}"
701               debug="${build.debug}"
702               debuglevel="${build.debuglevel}"
703               deprecation="${build.deprecation}"
704               source="8"
705               target="8"
706               classpath=""
707               bootclasspath="${bootclasspath8}"
708               includeAntRuntime="false"
709               includeJavaRuntime="false"
710               encoding="ASCII"
711               executable="${javac8}"
712               fork="true">
713    
714          <include name="**/*.java"/>
715          <compilerarg value="-Xprefer:source"/>
716          <compilerarg value="-XDignore.symbol.file=true"/>
717          <compilerarg value="-Xlint:all"/>
718          <compilerarg value="-Werror"/>
719          <compilerarg line="${build.args}"/>
720    
721        </javac>
722      </target>
723    
724      <target name="4jdk8doclint"
725              depends="configure-compiler"
726              description="Finds doclint warnings">
727    
728        <mkdir dir="${build.4jdk8.classes.dir}"/>
729    
730        <javac srcdir="${4jdk8src.dir}"
731               destdir="${build.4jdk8.classes.dir}"
732               debug="${build.debug}"
733               debuglevel="${build.debuglevel}"
734               deprecation="${build.deprecation}"
735               source="8"
736               target="8"
737               classpath=""
738               bootclasspath="${bootclasspath8}"
739               includeAntRuntime="false"
740               includeJavaRuntime="false"
741               encoding="ASCII"
742               executable="${javac8}"
743               fork="true">
744    
745          <include name="**/*.java"/>
746          <compilerarg value="-Xprefer:source"/>
747          <compilerarg value="-XDignore.symbol.file=true"/>
748          <compilerarg value="-Xlint:all"/>
749          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
750          <compilerarg line="${build.args}"/>
751    
752        </javac>
753      </target>
754    
755    
756      <target name="4jdk8jar"
757              depends="4jdk8compile"
758              description="Builds library jar from compiled sources">
759    
760        <jar destfile="${4jdk8product.jar}">
761          <fileset dir="${build.4jdk8.classes.dir}"/>
762          <manifest>
763            <attribute name="Built-By" value="${user.name}"/>
764            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
765          </manifest>
766        </jar>
767    
768      </target>
769    
770    
771      <target name="4jdk8-tck"
772              depends="4jdk8jar"
773              description="Runs tck tests for jsr166-4jdk8 directly">
774    
775        <run-tck-tests
776          target="8"
777          workdir="${build.4jdk8.dir}"
778          classes="${4jdk8product.jar}">
779          <javac-elements>
780            <!-- JDK9+ test classes -->
781            <exclude name="*9Test.java"/>
782            <exclude name="*10Test.java"/>
783            <compilerarg value="-Werror"/>
784          </javac-elements>
785        </run-tck-tests>
786      </target>
787    
788    
789      <target name="4jdk8-jtreg"
790              depends="4jdk8jar"
791              description="Runs jtreg tests for jsr166-4jdk8 using the jtreg ant task">
792        <run-jtreg-tests
793           target="8"
794           workdir="${build.4jdk8.dir}"
795           classes="${4jdk8product.jar}"/>
796      </target>
797    
798    
799      <target name="4jdk8-test"
800              depends="4jdk8-tck, 4jdk8-jtreg"
801              description="Runs tck and jtreg tests for jsr166-4jdk8">
802      </target>
803    
804    
805      <target name="4jdk8docs"
806              description="Builds javadocs for src/jdk8 to dist dir">
807    
808        <delete dir="${4jdk8docs.dir}"/>
809        <mkdir dir="${4jdk8docs.dir}"/>
810    
811        <javadoc destdir="${4jdk8docs.dir}"
812                 packagenames="none"
813                 link="${java8.api.url}"
814                 overview="${4jdk8src.dir}/intro.html"
815                 access="${build.javadoc.access}"
816                 sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
817                 classpath=""
818                 executable="${javadoc8}"
819                 failonerror = "true">
820          <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
821            <include name="**/*.java"/>
822          </fileset>
823          <arg line="-Xdocrootparent ${java8.docroot.url}"/>
824          <arg value="-XDignore.symbol.file=true"/>
825          <arg value="-tag"/>
826          <arg value="${javadoc.jls.option}"/>
827    <!-- @apiNote currently unused -->
828    <!--       <arg value="-tag"/> -->
829    <!--       <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/> -->
830          <arg value="-tag"/>
831          <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
832          <arg value="-tag"/>
833          <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
834        </javadoc>
835      </target>
836    
837    
838      <target name="4jdk8dist"
839              depends="4jdk8dist-jar, 4jdk8dist-docs"
840              description="Puts all distributable products in single hierarchy"/>
841    
842    
843      <target name="4jdk8clean"
844              description="Removes all 4jdk8 build products">
845    
846        <delete dir="${build.4jdk8.dir}"/>
847    
848      </target>
849    
850    
851      <target name="4jdk8dist-jar"
852              depends="4jdk8clean, 4jdk8jar">
853        <copy file="${4jdk8product.jar}" todir="${dist.dir}"/>
854      </target>
855    
856    
857      <target name="4jdk8dist-docs"
858              depends="4jdk8clean, 4jdk8docs">
859        <mirror-dir src="${4jdk8docs.dir}" dst="${dist.4jdk8docs.dir}"/>
860      </target>
861    
862    
863    
864    <!-- jsr166 4jdk7 -->    <!-- jsr166 4jdk7 -->
865    
866    <target name="4jdk7compile"    <target name="4jdk7compile"
# Line 596  Line 875 
875             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
876             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
877             source="6"             source="6"
878               target="6"
879             classpath=""             classpath=""
880             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
881             includeAntRuntime="false"             includeAntRuntime="false"
882             includeJavaRuntime="false"             includeJavaRuntime="false"
883               encoding="ASCII"
884             executable="${javac7}"             executable="${javac7}"
885             fork="true">             fork="true">
886    
# Line 625  Line 906 
906             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
907             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
908             source="6"             source="6"
909               target="6"
910             classpath=""             classpath=""
911             bootclasspath="${bootclasspath7}"             bootclasspath="${bootclasspath6}"
912             includeAntRuntime="false"             includeAntRuntime="false"
913             includeJavaRuntime="false"             includeJavaRuntime="false"
914               encoding="ASCII"
915             executable="${javac8}"             executable="${javac8}"
916             fork="true">             fork="true">
917    
# Line 649  Line 932 
932    
933      <jar destfile="${4jdk7product.jar}">      <jar destfile="${4jdk7product.jar}">
934        <fileset dir="${build.4jdk7.classes.dir}"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
935          <manifest>
936            <attribute name="Built-By" value="${user.name}"/>
937            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
938          </manifest>
939      </jar>      </jar>
940    
941    </target>    </target>
942    
943    
944    <target name="4jdk7-test-tck"    <target name="4jdk7-tck"
945            depends="4jdk7jar"            depends="4jdk7jar"
946            description="Runs tck tests for jsr166-4jdk7 directly">            description="Runs tck tests for jsr166-4jdk7 directly">
947    
# Line 666  Line 953 
953          <!-- JDK8+ test classes -->          <!-- JDK8+ test classes -->
954          <exclude name="*8Test.java"/>          <exclude name="*8Test.java"/>
955          <exclude name="*9Test.java"/>          <exclude name="*9Test.java"/>
956            <exclude name="*10Test.java"/>
957          <exclude name="DoubleAccumulatorTest.java"/>          <exclude name="DoubleAccumulatorTest.java"/>
958          <exclude name="DoubleAdderTest.java"/>          <exclude name="DoubleAdderTest.java"/>
959          <exclude name="LongAccumulatorTest.java"/>          <exclude name="LongAccumulatorTest.java"/>
# Line 673  Line 961 
961          <exclude name="CompletableFutureTest.java"/>          <exclude name="CompletableFutureTest.java"/>
962          <exclude name="SplittableRandomTest.java"/>          <exclude name="SplittableRandomTest.java"/>
963          <exclude name="StampedLockTest.java"/>          <exclude name="StampedLockTest.java"/>
964            <exclude name="SubmissionPublisherTest.java"/>
965            <compilerarg value="-Werror"/>
966        </javac-elements>        </javac-elements>
967      </run-tck-tests>      </run-tck-tests>
968    </target>    </target>
969    
970    
971    <target name="4jdk7-test-tck-junit"    <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
972            depends="4jdk7compile"    <target name="4jdk7-tck-junit"
973            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">            depends="4jdk7compile">
974    
975      <junit printsummary="true"      <junit printsummary="true"
976             showoutput="true"             showoutput="true"
# Line 706  Line 996 
996      </junit>      </junit>
997    </target>    </target>
998    
999    <target name="4jdk7-test-jtreg"    <target name="4jdk7-jtreg"
1000            depends="4jdk7jar"            depends="4jdk7jar"
1001            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
1002      <run-jtreg-tests      <run-jtreg-tests
# Line 717  Line 1007 
1007    
1008    
1009    <target name="4jdk7-test"    <target name="4jdk7-test"
1010            depends="4jdk7-test-tck, 4jdk7-test-jtreg"            depends="4jdk7-tck, 4jdk7-jtreg"
1011            description="Runs tck and jtreg tests for jsr166-4jdk7">            description="Runs tck and jtreg tests for jsr166-4jdk7">
1012    </target>    </target>
1013    
# Line 733  Line 1023 
1023               link="${java7.api.url}"               link="${java7.api.url}"
1024               overview="${4jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
1025               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1026               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
1027               classpath=""               classpath=""
1028               executable="${javadoc7}">               executable="${javadoc7}"
1029                 failonerror = "true">
1030        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
1031          <include name="**/*.java"/>          <include name="**/*.java"/>
1032        </fileset>        </fileset>
# Line 786  Line 1077 
1077             classpath=""             classpath=""
1078             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1079             source="5"             source="5"
1080               target="5"
1081             includeAntRuntime="false"             includeAntRuntime="false"
1082             includeJavaRuntime="false"             includeJavaRuntime="false"
1083               encoding="ASCII"
1084             executable="${javac7}"             executable="${javac7}"
1085             fork="true">             fork="true">
1086    
# Line 807  Line 1100 
1100    
1101      <jar destfile="${jsr166x.jar}">      <jar destfile="${jsr166x.jar}">
1102        <fileset dir="${build.jsr166x.classes.dir}"/>        <fileset dir="${build.jsr166x.classes.dir}"/>
1103          <manifest>
1104            <attribute name="Built-By" value="${user.name}"/>
1105            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1106          </manifest>
1107      </jar>      </jar>
1108    
1109    </target>    </target>
# Line 822  Line 1119 
1119               packagenames="jsr166x.*"               packagenames="jsr166x.*"
1120               link="${java.api.url}"               link="${java.api.url}"
1121               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1122               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1123               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1124               source="5"               source="5"
1125               executable="${javadoc7}">               executable="${javadoc7}"
1126                 failonerror = "true">
1127        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1128        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1129    
# Line 871  Line 1169 
1169             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1170             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1171             source="6"             source="6"
1172               target="6"
1173             classpath=""             classpath=""
1174             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1175             includeAntRuntime="false"             includeAntRuntime="false"
1176             includeJavaRuntime="false"             includeJavaRuntime="false"
1177               encoding="ASCII"
1178             executable="${javac7}"             executable="${javac7}"
1179             fork="true">             fork="true">
1180    
# Line 894  Line 1194 
1194    
1195      <jar destfile="${jsr166y.jar}" index="true">      <jar destfile="${jsr166y.jar}" index="true">
1196        <fileset dir="${build.jsr166y.classes.dir}"/>        <fileset dir="${build.jsr166y.classes.dir}"/>
1197          <manifest>
1198            <attribute name="Built-By" value="${user.name}"/>
1199            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1200          </manifest>
1201      </jar>      </jar>
1202    
1203    </target>    </target>
# Line 909  Line 1213 
1213               packagenames="jsr166y.*"               packagenames="jsr166y.*"
1214               link="${java.api.url}"               link="${java.api.url}"
1215               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1216               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1217               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1218               source="6"               source="6"
1219               executable="${javadoc7}">               executable="${javadoc7}"
1220                 failonerror = "true">
1221        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1222        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1223    
# Line 961  Line 1266 
1266             bootclasspath="@{jsr166y.jar}:${bootclasspath6}"             bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1267             classpath=""             classpath=""
1268             source="6"             source="6"
1269               target="6"
1270             includeAntRuntime="false"             includeAntRuntime="false"
1271             includeJavaRuntime="false"             includeJavaRuntime="false"
1272               encoding="ASCII"
1273             executable="${javac7}"             executable="${javac7}"
1274             fork="true">             fork="true">
1275    
# Line 982  Line 1289 
1289    
1290      <jar destfile="${extra166y.jar}" index="true">      <jar destfile="${extra166y.jar}" index="true">
1291        <fileset dir="${build.extra166y.classes.dir}"/>        <fileset dir="${build.extra166y.classes.dir}"/>
1292          <manifest>
1293            <attribute name="Built-By" value="${user.name}"/>
1294            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1295          </manifest>
1296      </jar>      </jar>
1297    
1298    </target>    </target>
# Line 997  Line 1308 
1308               packagenames="extra166y.*"               packagenames="extra166y.*"
1309               link="${java.api.url}"               link="${java.api.url}"
1310               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1311               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1312               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1313               source="6"               source="6"
1314               executable="${javadoc7}">               executable="${javadoc7}">
# Line 1048  Line 1359 
1359             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1360             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1361             source="${build.jsr166e.java.version}"             source="${build.jsr166e.java.version}"
1362               target="${build.jsr166e.java.version}"
1363             classpath=""             classpath=""
1364             includeAntRuntime="false"             includeAntRuntime="false"
1365             includeJavaRuntime="false"             includeJavaRuntime="false"
# Line 1074  Line 1386 
1386             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1387             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1388             source="${build.jsr166e.java.version}"             source="${build.jsr166e.java.version}"
1389               target="${build.jsr166e.java.version}"
1390             classpath=""             classpath=""
1391             bootclasspath="${bootclasspath7}"             bootclasspath="${bootclasspath6}"
1392             includeAntRuntime="false"             includeAntRuntime="false"
1393             includeJavaRuntime="false"             includeJavaRuntime="false"
1394             executable="${javac8}"             executable="${javac8}"
# Line 1097  Line 1410 
1410    
1411      <jar destfile="${jsr166e.jar}" index="true">      <jar destfile="${jsr166e.jar}" index="true">
1412        <fileset dir="${build.jsr166e.classes.dir}"/>        <fileset dir="${build.jsr166e.classes.dir}"/>
1413          <manifest>
1414            <attribute name="Built-By" value="${user.name}"/>
1415            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1416          </manifest>
1417      </jar>      </jar>
1418    
1419    </target>    </target>
# Line 1112  Line 1429 
1429               packagenames="jsr166e.*"               packagenames="jsr166e.*"
1430               link="${java.api.url}"               link="${java.api.url}"
1431               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1432               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1433               source="${build.jsr166e.java.version}"               source="${build.jsr166e.java.version}"
1434               executable="${javadoc7}">               executable="${javadoc7}"
1435                 failonerror = "true">
1436        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1437        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1438    
# Line 1122  Line 1440 
1440    </target>    </target>
1441    
1442    
1443    <target name="jsr166e-test-tck-one-java-version"    <target name="jsr166e-tck-one-java-version"
1444            depends="jsr166ejar">            depends="jsr166ejar">
1445    
1446      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
# Line 1134  Line 1452 
1452        classes="${jsr166e.jar}"/>        classes="${jsr166e.jar}"/>
1453    </target>    </target>
1454    
1455    <target name="jsr166e-test-tck"    <target name="jsr166e-tck"
1456            description="Runs tck tests for jsr166e for multiple java versions">            description="Runs tck tests for jsr166e for multiple java versions">
1457    
1458  <!--     <antcall target="clean"/> -->  <!--     <antcall target="clean"/> -->
1459  <!--     <antcall target="jsr166e-test-tck-one-java-version"> -->  <!--     <antcall target="jsr166e-tck-one-java-version"> -->
1460  <!--       <param name="build.jsr166e.java.version" value="8"/> -->  <!--       <param name="build.jsr166e.java.version" value="8"/> -->
1461  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->
1462  <!--     </antcall> -->  <!--     </antcall> -->
1463    
1464      <antcall target="clean"/>      <antcall target="clean"/>
1465      <antcall target="jsr166e-test-tck-one-java-version">      <antcall target="jsr166e-tck-one-java-version">
1466        <param name="build.jsr166e.java.version" value="7"/>        <param name="build.jsr166e.java.version" value="7"/>
1467        <param name="build.jsr166e.javac" value="${javac7}"/>        <param name="build.jsr166e.javac" value="${javac7}"/>
1468      </antcall>      </antcall>
1469    
1470      <antcall target="clean"/>      <antcall target="clean"/>
1471      <antcall target="jsr166e-test-tck-one-java-version">      <antcall target="jsr166e-tck-one-java-version">
1472        <param name="build.jsr166e.java.version" value="6"/>        <param name="build.jsr166e.java.version" value="6"/>
1473        <param name="build.jsr166e.javac" value="${javac6}"/>        <param name="build.jsr166e.javac" value="${javac6}"/>
1474      </antcall>      </antcall>
# Line 1158  Line 1476 
1476    
1477    
1478    <target name="jsr166e-test"    <target name="jsr166e-test"
1479            depends="jsr166e-test-tck"            depends="jsr166e-tck"
1480            description="Runs all tests for jsr166e">            description="Runs all tests for jsr166e">
1481    </target>    </target>
1482    
# Line 1200  Line 1518 
1518    </target>    </target>
1519    
1520    
1521    <!-- ==============================================================
1522      Experimental errorprone support - http://errorprone.info
1523      You may need to bring your own errorprone jar.
1524    =================================================================== -->
1525      <target name="errorprone"
1526              depends="clean, configure-compiler"
1527              description="Run errorprone over jsr166 source code">
1528    
1529        <local name="destdir"/>
1530        <property name="destdir" value="${build.classes.dir}/java.base"/>
1531        <mkdir dir="${destdir}"/>
1532    
1533        <javac srcdir="${src.dir}"
1534               destdir="${destdir}"
1535               debug="${build.debug}"
1536               debuglevel="${build.debuglevel}"
1537               deprecation="${build.deprecation}"
1538               classpath=""
1539               includeAntRuntime="false"
1540               includeJavaRuntime="false"
1541               encoding="ASCII"
1542               executable="${build.main.javac}"
1543               fork="true">
1544    
1545          <include name="**/*.java"/>
1546          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1547          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1548          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1549          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1550          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1551          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1552          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1553          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1554          <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1555          <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1556          <compilerarg value="-Xplugin:ErrorProne
1557                              -Xep:IdentityBinaryExpression:WARN
1558                              -Xep:MissingOverride:OFF
1559                              -Xep:MixedArrayDimensions:WARN
1560                              -Xep:RemoveUnusedImports:ERROR
1561                              -Xep:MethodCanBeStatic:WARN"/>
1562          <compilerarg value="--patch-module=java.base=${src.dir}"/>
1563          <compilerarg value="-Xprefer:source"/>
1564          <compilerarg value="-XDignore.symbol.file=true"/>
1565          <compilerarg value="-Xlint:all"/>
1566          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
1567          <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1568          <compilerarg line="${build.args}"/>
1569        </javac>
1570    
1571        <jar destfile="${product.jar}">
1572          <fileset dir="${destdir}"/>
1573        </jar>
1574    
1575        <run-tck-tests
1576          target="${build.main.java.version}"
1577          workdir="${build.dir}"
1578          classes="${product.jar}">
1579          <javac-elements>
1580            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1581            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1582            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1583            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1584            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1585            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1586            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1587            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1588            <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1589            <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1590            <compilerarg value="-Xplugin:ErrorProne
1591                                -Xep:IdentityBinaryExpression:WARN
1592                                -Xep:BoxedPrimitiveConstructor:OFF
1593                                -Xep:HashtableContains:OFF
1594                                -Xep:ModifyingCollectionWithItself:OFF
1595                                -Xep:MissingOverride:OFF
1596                                -Xep:MixedArrayDimensions:WARN
1597                                -Xep:RemoveUnusedImports:ERROR
1598                                -Xep:MethodCanBeStatic:WARN"/>
1599            <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1600          </javac-elements>
1601        </run-tck-tests>
1602      </target>
1603    
1604    
1605    <!-- ==============================================================
1606      Running guava tests against jsr166 code
1607    =================================================================== -->
1608    
1609    <!-- <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" -->
1610    <!--   organisation="com.google.guava" module="guava-testlib" revision="21.0"/> -->
1611    <!-- <property name="guava.version" value="21.0"/> -->
1612    
1613    <!-- HOWTO debug print a path id -->
1614    <!-- <pathconvert property="guava.testlib.classpath" refid="guava.testlib.classpath" /> -->
1615    <!-- <echo message="guava.testlib.classpath=${guava.testlib.classpath}"/> -->
1616    
1617    <!-- <ivy:retrieve pathid="guava.tests.classpath" type="jar" inline="true" conf="*" pattern="${lib.dir}/[type]/[artifact].[ext]" -->
1618    <!--   organisation="com.google.guava" module="guava-tests"/> -->
1619    <!-- <get src="http://repo2.maven.org/maven2/com/google/guava/guava-tests/${guava.version}/guava-tests-${guava.version}-tests.jar" -->
1620    <!--   dest="${lib.dir}/jar/guava-tests-tests.jar" usetimestamp="true"/> -->
1621    <!--     <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" type="*" -->
1622    <!--       organisation="com.google.guava" module="guava-testlib" revision="${guava.version}"/> -->
1623    
1624    <!-- <test name="com.google.common.collect.testing.TestsForQueuesInJavaUtil"/> -->
1625    <!-- <test name="com.google.common.collect.testing.TestsForListsInJavaUtil"/> -->
1626    <!-- <test name="com.google.common.collect.testing.TestsForSetsInJavaUtil"/> -->
1627    <!-- <test name="com.google.common.collect.testing.TestsForMapsInJavaUtil"/> -->
1628    
1629    <!-- <ivy:retrieve pathid="guava.testlib.classpath" -->
1630    <!--   type="*" inline="true" conf="*(private),*(public)" -->
1631    <!--   pattern="${guava.dir}/[artifact].[ext]" -->
1632    <!--   organisation="com.google.guava" module="guava-testlib"/> -->
1633    
1634    <!-- Work around bug below by downloading guava-testlib-tests.jar "by hand": -->
1635    <!-- https://issues.apache.org/jira/browse/IVY-1444 -->
1636    <!-- maven tests artifacts cannot be downloaded because they are mapped to private configurations -->
1637    
1638      <target name="init-ivy">
1639        <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.4.0/ivy-2.4.0.jar"
1640             dest="${build.dir}/ivy.jar" usetimestamp="true" skipexisting="true"/>
1641        <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"
1642                 classpath="${build.dir}/ivy.jar"/>
1643      </target>
1644    
1645      <target name="guava-tests" depends="jar, init-ivy"
1646              description="Guava tests run against jsr166 collections">
1647        <property name="guava.dir" value="${build.dir}/guava-testlib"/>
1648        <mkdir dir="${guava.dir}"/>
1649        <ivy:retrieve pathid="guava.testlib.classpath"
1650          type="jar,bundle" inline="true" conf="default,master"
1651          pattern="${guava.dir}/[artifact].[ext]"
1652          organisation="com.google.guava" module="guava-testlib"/>
1653        <property name="guava.version" value="21.0"/>
1654        <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"
1655             dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1656        <junit printsummary="true" showoutput="true" haltonfailure="true"
1657               jvm="${java9}" fork="true">
1658          <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>
1659          <formatter type="brief"/>
1660          <classpath>
1661            <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>
1662            <path refid="guava.testlib.classpath"/>
1663          </classpath>
1664    
1665          <!-- "6" in "OpenJdk6Tests" misleadingly means "6+" -->
1666          <test name="com.google.common.collect.testing.OpenJdk6Tests"/>
1667        </junit>
1668      </target>
1669    
1670  </project>  </project>

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

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8