[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.168, Wed Sep 2 02:14:59 2015 UTC revision 1.239, Sun Mar 26 10:40:29 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        <local name="use-doclint"/>
238        <condition property="use-doclint">
239          <not> <equals arg1="@{target}" arg2="7"/> </not>
240        </condition>
241    
242      <mkdir dir="@{workdir}/tck-classes"/>      <mkdir dir="@{workdir}/tck-classes"/>
243    
244      <javac srcdir="@{tck.src.dir}"      <javac srcdir="@{tck.src.dir}"
# Line 215  Line 251 
251             classpath="${junit.jar}"             classpath="${junit.jar}"
252             includeAntRuntime="false"             includeAntRuntime="false"
253             includeJavaRuntime="false"             includeJavaRuntime="false"
254               encoding="ASCII"
255             executable="${javac@{compile-target}}"             executable="${javac@{compile-target}}"
256             fork="true">             fork="true">
257    
258        <include name="*.java"/>        <include name="*.java"/>
259        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
260        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>
261        <compilerarg value="-Xbootclasspath/p:@{classes}"/>        <compilerarg value="-Xdoclint:reference/private" if:set="use-doclint"/>
262          <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
263          <compilerarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
264        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
265        <javac-elements/>        <javac-elements/>
266    
# Line 231  Line 270 
270            failonerror="true"            failonerror="true"
271            jvm="${java@{target}}"            jvm="${java@{target}}"
272            fork="true">            fork="true">
273          <jvmarg value="-Xbootclasspath/p:@{classes}"/>          <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
274            <jvmarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
275            <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" if:set="modules"/>
276            <jvmarg value="--add-opens=java.base/java.util=ALL-UNNAMED" if:set="modules"/>
277            <jvmarg value="--add-opens=java.base/java.util.concurrent=ALL-UNNAMED" if:set="modules"/>
278            <jvmarg value="--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED" if:set="modules"/>
279            <jvmarg value="--add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED" if:set="modules"/>
280          <jvmarg line="@{jvmflags}"/>          <jvmarg line="@{jvmflags}"/>
281            <!-- ant -Dvmoptions="-Xmx8m" -Djsr166.tckTestClass=CompletableFutureTest tck -->
282            <jvmarg line="${vmoptions}" if:set="vmoptions"/>
283    
284          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 test-tck -->          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
285          <syspropertyset id="java.util.concurrent.ForkJoinPool-properties">          <syspropertyset id="system-properties-used-by-tck">
286            <propertyref prefix="java.util.concurrent.ForkJoinPool"/>            <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
287              <propertyref prefix="jsr166."/>
288              <propertyref name="test.timeout.factor"/>
289          </syspropertyset>          </syspropertyset>
290    
         <sysproperty key="jsr166.profileTests"     value="${jsr166.profileTests}"/>  
         <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>  
         <sysproperty key="jsr166.runsPerTest"      value="${jsr166.runsPerTest}"/>  
291          <classpath>          <classpath>
292            <pathelement location="${junit.jar}"/>            <pathelement location="${junit.jar}"/>
293            <pathelement location="@{workdir}/tck-classes"/>            <pathelement location="@{workdir}/tck-classes"/>
# Line 252  Line 298 
298    </macrodef>    </macrodef>
299    
300    <!-- Define jtreg test sets for different jdk versions -->    <!-- Define jtreg test sets for different jdk versions -->
301    <fileset dir="${jtreg.src.dir}">    <fileset dir="${jtreg9.src.dir}">
302      <patternset id="jdk9.jtreg.tests">      <patternset id="jdk9.jtreg.tests">
303        <include name="**/*.java"/>        <include name="**/*.java"/>
304      </patternset>      </patternset>
305    </fileset>    </fileset>
306    
307    <fileset dir="${jtreg.src.dir}">    <fileset dir="${jtreg8.src.dir}">
308      <patternset id="jdk8.jtreg.tests">      <patternset id="jdk8.jtreg.tests">
309        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="util/Spliterator/SpliteratorCharacteristics.java"/>  
       <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->  
       <exclude name="util/WeakHashMap/GCDuringIteration.java"/>  
310      </patternset>      </patternset>
311    </fileset>    </fileset>
312    
313    <fileset dir="${jtreg.src.dir}">    <fileset dir="${jtreg7.src.dir}">
314      <patternset id="jdk7.jtreg.tests">      <patternset id="jdk7.jtreg.tests">
315        <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"/>  
316      </patternset>      </patternset>
317    </fileset>    </fileset>
318    
319      <!-- ant -Djtreg.flags=-timeoutFactor:4 -->
320      <property name="jtreg.flags" value=""/>
321    
322    <macrodef name="run-jtreg-tests">    <macrodef name="run-jtreg-tests">
323      <!-- 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}"/>  
324      <attribute name="source" default="7"/>      <attribute name="source" default="7"/>
325      <attribute name="target"/>      <attribute name="target"/>
326      <attribute name="workdir"/>      <attribute name="workdir"/>
327      <attribute name="classes"/>      <attribute name="classes"/>
328      <attribute name="jtregflags" default=""/>      <attribute name="jtregflags" default=""/>
329    
330      <sequential>      <sequential>
331    
332        <!-- ant -Djtreg.verbose=time,fail,error jtreg -->
333        <property name="jtreg.verbose" value="nopass,fail,error"/>
334    
335        <local name="modules"/>
336        <condition property="modules">
337          <available file="${jdk@{target}.home}/jmods" type="dir"/>
338        </condition>
339    
340      <delete dir="@{workdir}/JTwork"   quiet="true"/>      <delete dir="@{workdir}/JTwork"   quiet="true"/>
341      <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}"  
342             jdk="${jdk@{target}.home}"             jdk="${jdk@{target}.home}"
343             workDir="@{workdir}/JTwork"             workDir="@{workdir}/JTwork">
            reportDir="@{workdir}/JTreport">  
344        <patternset refid="jdk@{target}.jtreg.tests"/>        <patternset refid="jdk@{target}.jtreg.tests"/>
345        <arg value="-Xbootclasspath/p:@{classes}"/>        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
346          <arg value="-javacoptions:--patch-module java.base=@{classes}" if:set="modules"/>
347          <arg value="-vmoptions:--patch-module java.base=@{classes}" if:set="modules"/>
348        <arg value="-agentvm"/>        <arg value="-agentvm"/>
349        <arg value="-v:nopass,fail"/>        <arg value="-noreport"/>
350          <arg value="-verbose:${jtreg.verbose}"/>
351        <arg value="-vmoptions:-esa -ea"/>        <arg value="-vmoptions:-esa -ea"/>
352        <arg value="-automatic"/>        <arg value="-automatic"/>
353        <arg value="-k:!ignore"/>        <arg value="-k:!ignore"/>
354        <arg line="@{jtregflags}"/>        <arg line="@{jtregflags}"/>
355          <arg line="${jtreg.flags}"/>
356      </jtreg>      </jtreg>
357      </sequential>      </sequential>
358    </macrodef>    </macrodef>
# Line 323  Line 372 
372    <property name="build.main.javac" value="${javac9}"/>    <property name="build.main.javac" value="${javac9}"/>
373    
374    <target name="dists"    <target name="dists"
375            depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"            <!--
376                  depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
377              -->
378              depends="dist, 4jdk8dist"
379            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
380    
381    <target name="compile"    <target name="compile"
382            depends="configure-compiler"            depends="configure-compiler"
383            description="Compiles src/main sources to build dir">            description="Compiles src/main sources to build dir">
384    
385      <mkdir dir="${build.classes.dir}"/>      <local name="modules"/>
386        <condition property="modules">
387          <and>
388            <available file="${jdk9.home}/jmods" type="dir"/>
389            <equals arg1="9" arg2="${build.main.java.version}"/>
390          </and>
391        </condition>
392    
393        <local name="destdir"/>
394        <property name="destdir" value="${build.classes.dir}/java.base" if:set="modules"/>
395        <property name="destdir" value="${build.classes.dir}" unless:set="modules"/>
396    
397        <mkdir dir="${destdir}"/>
398    
399      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
400             destdir="${build.classes.dir}"             destdir="${destdir}"
401             debug="${build.debug}"             debug="${build.debug}"
402             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
403             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
404             classpath=""             classpath=""
405             includeAntRuntime="false"             includeAntRuntime="false"
406             includeJavaRuntime="false"             includeJavaRuntime="false"
407               encoding="ASCII"
408             executable="${build.main.javac}"             executable="${build.main.javac}"
409             fork="true">             fork="true">
410    
411        <include name="**/*.java"/>        <include name="**/*.java"/>
412          <compilerarg value="--patch-module=java.base=${src.dir}" if:set="modules"/>
413        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
414        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
415        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
416        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
417        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
418        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
419        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
420    
# Line 358  Line 424 
424    
425    <target name="jar"    <target name="jar"
426            depends="compile"            depends="compile"
427            description="Builds library jar from compiled sources">            description="Builds library jar for src/main from compiled sources">
428        <local name="subdir"/>
429        <available property="subdir" file="${build.classes.dir}/java.base" type="dir" value="/java.base"/>
430      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
431        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}${subdir}"/>
432          <manifest>
433            <attribute name="Built-By" value="${user.name}"/>
434            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
435          </manifest>
436      </jar>      </jar>
437    </target>    </target>
438    
# Line 375  Line 446 
446      <!-- the packagenames="none" hack below prevents scanning the -->      <!-- the packagenames="none" hack below prevents scanning the -->
447      <!-- sourcepath for packages -->      <!-- sourcepath for packages -->
448    
449    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}" -->
450    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}:${jdk9.src.home}/jdk/src/java.logging/share/classes" -->
451    <!-- TODO: sourcepath="${src.dir}:${jdk9.home}/src.zip" -->
452    <!-- TODO: <arg line="-sourcepath ${src.dir}:${jdk9.home}/src.zip"/> -->
453    <!-- TODO: <arg line="- -module-source-path ${jdk9.home}/src.zip"/> -->
454      <javadoc destdir="${docs.dir}"      <javadoc destdir="${docs.dir}"
455               packagenames="none"               packagenames="none"
456               link="${java9.api.url}"               link="${java9.api.url}"
457               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
458               access="${build.javadoc.access}"               access="${build.javadoc.access}"
459               sourcepath="${src.dir}:${jdk9src.dir}"               sourcepath="${src.dir}"
460               classpath=""               classpath=""
461               executable="${javadoc9}">               executable="${javadoc9}">
462        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
# Line 389  Line 465 
465        <arg line="-Xdocrootparent ${java9.docroot.url}"/>        <arg line="-Xdocrootparent ${java9.docroot.url}"/>
466        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
467        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
468          <arg value="--patch-module=java.base=${src.dir}"/>
469        <arg value="-tag"/>        <arg value="-tag"/>
470        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
471    <!-- @apiNote currently unused -->
472    <!--       <arg value="-tag"/> -->
473    <!--       <arg value="apiNote:a:API Note:"/> -->
474        <arg value="-tag"/>        <arg value="-tag"/>
475        <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>        <arg value="implSpec:a:Implementation Requirements:"/>
       <arg value="-tag"/>  
       <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>  
476        <arg value="-tag"/>        <arg value="-tag"/>
477        <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>        <arg value="implNote:a:Implementation Note:"/>
478    <!-- tags added in jdk9: currently unused -->
479    <!--       <arg value="-tag"/> -->
480    <!--       <arg value="revised:X"/> -->
481    <!--       <arg value="-tag"/> -->
482    <!--       <arg value="spec:X"/> -->
483      </javadoc>      </javadoc>
484    </target>    </target>
485    
# Line 420  Line 503 
503        <exclude name="src/emulation/**"/>        <exclude name="src/emulation/**"/>
504        <exclude name="**/SyntaxTest.java"/>        <exclude name="**/SyntaxTest.java"/>
505        <exclude name="**/SuperfluousAbstract.java"/>        <exclude name="**/SuperfluousAbstract.java"/>
506          <manifest>
507            <attribute name="Built-By" value="${user.name}"/>
508            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
509          </manifest>
510      </jar>      </jar>
511    </target>    </target>
512    
# Line 451  Line 538 
538      <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>      <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
539    </target>    </target>
540    
541    <target name="tck" depends="test-tck" description="alias for test-tck"/>    <target name="tck"
   <target name="test-tck"  
542            depends="jar"            depends="jar"
543            description="Runs tck tests for main directly">            description="Runs tck tests for src/main directly">
544    
545      <run-tck-tests      <run-tck-tests
546        target="${build.main.java.version}"        target="${build.main.java.version}"
547        workdir="${build.dir}"        workdir="${build.dir}"
548        classes="${product.jar}"/>        classes="${product.jar}">
549          <javac-elements>
550            <compilerarg value="-Werror"/>
551          </javac-elements>
552        </run-tck-tests>
553    </target>    </target>
554    
555    <target name="test-tck-parallelism-1"    <target name="tck-parallelism-1"
556            description="Runs test-tck with given common pool parallelism">            description="Runs tck with common pool parallelism 1">
557      <antcall target="test-tck">      <antcall target="tck">
558        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
559      </antcall>      </antcall>
560    </target>    </target>
561    
562    <target name="test-tck-parallelism-0"    <target name="tck-parallelism-0"
563            description="Runs test-tck with given common pool parallelism">            description="Runs tck with common pool parallelism 0">
564      <antcall target="test-tck">      <antcall target="tck">
565        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
566      </antcall>      </antcall>
567    </target>    </target>
568    
569    <target name="jtreg" depends="test-jtreg" description="alias for test-jtreg"/>    <target name="tck-security-manager"
570    <target name="test-jtreg"            description="Runs tck with a security manager">
571        <antcall target="tck">
572          <param name="jsr166.useSecurityManager" value="true"/>
573        </antcall>
574      </target>
575    
576      <target name="jtreg"
577            depends="jar"            depends="jar"
578            description="Runs jtreg tests for main using the jtreg ant task">            description="Runs jtreg tests for src/main using the jtreg ant task">
579      <run-jtreg-tests      <run-jtreg-tests
580         target="${build.main.java.version}"         target="${build.main.java.version}"
581         workdir="${build.dir}"         workdir="${build.dir}"
# Line 487  Line 583 
583    </target>    </target>
584    
585    <target name="test"    <target name="test"
586            depends="test-tck, test-tck-parallelism-1, test-jtreg"            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
587            description="Runs tck and jtreg tests for main">            description="Runs tck and jtreg tests for src/main">
588    </target>    </target>
589    
590    <target name="jtreg8" description="Runs jtreg tests with jdk8">  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
591    
592      <antcall target="jtreg">  <!--     <antcall target="jtreg"> -->
593        <param name="build.main.java.version" value="8"/>  <!--       <param name="build.main.java.version" value="8"/> -->
594        <param name="build.main.javac" value="${javac8}"/>  <!--       <param name="build.main.javac" value="${javac8}"/> -->
595      </antcall>  <!--     </antcall> -->
596    
597    </target>  <!--   </target> -->
598    
599    <target name="test89"  <!--   <target name="test89" -->
600            description="Runs tck and jtreg tests for main for multiple java versions">  <!--           description="Runs tck and jtreg tests for src/main for multiple java versions"> -->
601    
602      <antcall target="clean"/>  <!--     <antcall target="clean"/> -->
603      <antcall target="test">  <!--     <antcall target="test"> -->
604        <param name="build.main.java.version" value="8"/>  <!--       <param name="build.main.java.version" value="8"/> -->
605        <param name="build.main.javac" value="${javac8}"/>  <!--       <param name="build.main.javac" value="${javac8}"/> -->
606      </antcall>  <!--     </antcall> -->
607    
608      <antcall target="clean"/>  <!--     <antcall target="clean"/> -->
609      <antcall target="test">  <!--     <antcall target="test"> -->
610        <param name="build.main.java.version" value="9"/>  <!--       <param name="build.main.java.version" value="9"/> -->
611        <param name="build.main.javac" value="${javac9}"/>  <!--       <param name="build.main.javac" value="${javac9}"/> -->
612      </antcall>  <!--     </antcall> -->
613    
614    </target>  <!--   </target> -->
615    
616    
617    
618    <target name="configure-compiler">    <target name="configure-compiler">
619        <fail message="ant version too old">
620          <condition> <not> <antversion atleast="1.9.1"/> </not> </condition>
621        </fail>
622    
623      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
624    
# Line 540  Line 639 
639    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
640    
641    
642    <target name="loops" depends="configure-compiler"    <!-- description="Benchmark from Doug Lea's AQS paper" -->
643            description="Benchmark from Doug Lea's AQS paper">    <target name="loops" depends="configure-compiler">
644    
645      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
646    
# Line 551  Line 650 
650         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
651        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
652             source="${build.sourcelevel}"             source="${build.sourcelevel}"
653               target="${build.sourcelevel}"
654             encoding="ASCII"
655               fork="true">               fork="true">
656    
657        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 578  Line 679 
679             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
680             includeAntRuntime="false"             includeAntRuntime="false"
681             includeJavaRuntime="false"             includeJavaRuntime="false"
682               encoding="ASCII"
683             executable="${javac9}"             executable="${javac9}"
684             fork="true">             fork="true">
685    
# Line 592  Line 694 
694    </target>    </target>
695    
696    
697      <!-- jsr166 4jdk8 -->
698    
699      <target name="4jdk8compile"
700              depends="configure-compiler"
701              description="Compiles src/jdk8 sources, targeting jdk8">
702    
703        <mkdir dir="${build.4jdk8.classes.dir}"/>
704    
705        <javac srcdir="${4jdk8src.dir}"
706               destdir="${build.4jdk8.classes.dir}"
707               debug="${build.debug}"
708               debuglevel="${build.debuglevel}"
709               deprecation="${build.deprecation}"
710               source="8"
711               target="8"
712               classpath=""
713               bootclasspath="${bootclasspath8}"
714               includeAntRuntime="false"
715               includeJavaRuntime="false"
716               encoding="ASCII"
717               executable="${javac8}"
718               fork="true">
719    
720          <include name="**/*.java"/>
721          <compilerarg value="-Xprefer:source"/>
722          <compilerarg value="-XDignore.symbol.file=true"/>
723          <compilerarg value="-Xlint:all"/>
724          <compilerarg value="-Werror"/>
725          <compilerarg line="${build.args}"/>
726    
727        </javac>
728      </target>
729    
730      <target name="4jdk8doclint"
731              depends="configure-compiler"
732              description="Finds doclint warnings">
733    
734        <mkdir dir="${build.4jdk8.classes.dir}"/>
735    
736        <javac srcdir="${4jdk8src.dir}"
737               destdir="${build.4jdk8.classes.dir}"
738               debug="${build.debug}"
739               debuglevel="${build.debuglevel}"
740               deprecation="${build.deprecation}"
741               source="8"
742               target="8"
743               classpath=""
744               bootclasspath="${bootclasspath8}"
745               includeAntRuntime="false"
746               includeJavaRuntime="false"
747               encoding="ASCII"
748               executable="${javac8}"
749               fork="true">
750    
751          <include name="**/*.java"/>
752          <compilerarg value="-Xprefer:source"/>
753          <compilerarg value="-XDignore.symbol.file=true"/>
754          <compilerarg value="-Xlint:all"/>
755          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
756          <compilerarg line="${build.args}"/>
757    
758        </javac>
759      </target>
760    
761    
762      <target name="4jdk8jar"
763              depends="4jdk8compile"
764              description="Builds library jar from compiled sources">
765    
766        <jar destfile="${4jdk8product.jar}">
767          <fileset dir="${build.4jdk8.classes.dir}"/>
768          <manifest>
769            <attribute name="Built-By" value="${user.name}"/>
770            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
771          </manifest>
772        </jar>
773    
774      </target>
775    
776    
777      <target name="4jdk8-tck"
778              depends="4jdk8jar"
779              description="Runs tck tests for jsr166-4jdk8 directly">
780    
781        <run-tck-tests
782          target="8"
783          workdir="${build.4jdk8.dir}"
784          classes="${4jdk8product.jar}">
785          <javac-elements>
786            <!-- JDK9+ test classes -->
787            <exclude name="*9Test.java"/>
788            <exclude name="*10Test.java"/>
789            <compilerarg value="-Werror"/>
790          </javac-elements>
791        </run-tck-tests>
792      </target>
793    
794    
795      <target name="4jdk8-jtreg"
796              depends="4jdk8jar"
797              description="Runs jtreg tests for jsr166-4jdk8 using the jtreg ant task">
798        <run-jtreg-tests
799           target="8"
800           workdir="${build.4jdk8.dir}"
801           classes="${4jdk8product.jar}"/>
802      </target>
803    
804    
805      <target name="4jdk8-test"
806              depends="4jdk8-tck, 4jdk8-jtreg"
807              description="Runs tck and jtreg tests for jsr166-4jdk8">
808      </target>
809    
810    
811      <target name="4jdk8docs"
812              description="Builds javadocs for src/jdk8 to dist dir">
813    
814        <delete dir="${4jdk8docs.dir}"/>
815        <mkdir dir="${4jdk8docs.dir}"/>
816    
817        <javadoc destdir="${4jdk8docs.dir}"
818                 packagenames="none"
819                 link="${java8.api.url}"
820                 overview="${4jdk8src.dir}/intro.html"
821                 access="${build.javadoc.access}"
822                 sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
823                 classpath=""
824                 executable="${javadoc8}"
825                 failonerror = "true">
826          <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
827            <include name="**/*.java"/>
828          </fileset>
829          <arg line="-Xdocrootparent ${java8.docroot.url}"/>
830          <arg value="-XDignore.symbol.file=true"/>
831          <arg value="-tag"/>
832          <arg value="${javadoc.jls.option}"/>
833    <!-- @apiNote currently unused -->
834    <!--       <arg value="-tag"/> -->
835    <!--       <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/> -->
836          <arg value="-tag"/>
837          <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
838          <arg value="-tag"/>
839          <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
840        </javadoc>
841      </target>
842    
843    
844      <target name="4jdk8dist"
845              depends="4jdk8dist-jar, 4jdk8dist-docs"
846              description="Puts all distributable products in single hierarchy"/>
847    
848    
849      <target name="4jdk8clean"
850              description="Removes all 4jdk8 build products">
851    
852        <delete dir="${build.4jdk8.dir}"/>
853    
854      </target>
855    
856    
857      <target name="4jdk8dist-jar"
858              depends="4jdk8clean, 4jdk8jar">
859        <copy file="${4jdk8product.jar}" todir="${dist.dir}"/>
860      </target>
861    
862    
863      <target name="4jdk8dist-docs"
864              depends="4jdk8clean, 4jdk8docs">
865        <mirror-dir src="${4jdk8docs.dir}" dst="${dist.4jdk8docs.dir}"/>
866      </target>
867    
868    
869    
870    <!-- jsr166 4jdk7 -->    <!-- jsr166 4jdk7 -->
871    
872    <target name="4jdk7compile"    <target name="4jdk7compile"
# Line 606  Line 881 
881             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
882             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
883             source="6"             source="6"
884               target="6"
885             classpath=""             classpath=""
886             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
887             includeAntRuntime="false"             includeAntRuntime="false"
888             includeJavaRuntime="false"             includeJavaRuntime="false"
889               encoding="ASCII"
890             executable="${javac7}"             executable="${javac7}"
891             fork="true">             fork="true">
892    
# Line 635  Line 912 
912             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
913             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
914             source="6"             source="6"
915               target="6"
916             classpath=""             classpath=""
917             bootclasspath="${bootclasspath7}"             bootclasspath="${bootclasspath6}"
918             includeAntRuntime="false"             includeAntRuntime="false"
919             includeJavaRuntime="false"             includeJavaRuntime="false"
920               encoding="ASCII"
921             executable="${javac8}"             executable="${javac8}"
922             fork="true">             fork="true">
923    
# Line 659  Line 938 
938    
939      <jar destfile="${4jdk7product.jar}">      <jar destfile="${4jdk7product.jar}">
940        <fileset dir="${build.4jdk7.classes.dir}"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
941          <manifest>
942            <attribute name="Built-By" value="${user.name}"/>
943            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
944          </manifest>
945      </jar>      </jar>
946    
947    </target>    </target>
948    
949    
950    <target name="4jdk7-test-tck"    <target name="4jdk7-tck"
951            depends="4jdk7jar"            depends="4jdk7jar"
952            description="Runs tck tests for jsr166-4jdk7 directly">            description="Runs tck tests for jsr166-4jdk7 directly">
953    
# Line 676  Line 959 
959          <!-- JDK8+ test classes -->          <!-- JDK8+ test classes -->
960          <exclude name="*8Test.java"/>          <exclude name="*8Test.java"/>
961          <exclude name="*9Test.java"/>          <exclude name="*9Test.java"/>
962            <exclude name="*10Test.java"/>
963          <exclude name="DoubleAccumulatorTest.java"/>          <exclude name="DoubleAccumulatorTest.java"/>
964          <exclude name="DoubleAdderTest.java"/>          <exclude name="DoubleAdderTest.java"/>
965          <exclude name="LongAccumulatorTest.java"/>          <exclude name="LongAccumulatorTest.java"/>
# Line 683  Line 967 
967          <exclude name="CompletableFutureTest.java"/>          <exclude name="CompletableFutureTest.java"/>
968          <exclude name="SplittableRandomTest.java"/>          <exclude name="SplittableRandomTest.java"/>
969          <exclude name="StampedLockTest.java"/>          <exclude name="StampedLockTest.java"/>
970            <exclude name="SubmissionPublisherTest.java"/>
971            <compilerarg value="-Werror"/>
972        </javac-elements>        </javac-elements>
973      </run-tck-tests>      </run-tck-tests>
974    </target>    </target>
975    
976    
977    <target name="4jdk7-test-tck-junit"    <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
978            depends="4jdk7compile"    <target name="4jdk7-tck-junit"
979            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">            depends="4jdk7compile">
980    
981      <junit printsummary="true"      <junit printsummary="true"
982             showoutput="true"             showoutput="true"
# Line 716  Line 1002 
1002      </junit>      </junit>
1003    </target>    </target>
1004    
1005    <target name="4jdk7-test-jtreg"    <target name="4jdk7-jtreg"
1006            depends="4jdk7jar"            depends="4jdk7jar"
1007            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
1008      <run-jtreg-tests      <run-jtreg-tests
# Line 727  Line 1013 
1013    
1014    
1015    <target name="4jdk7-test"    <target name="4jdk7-test"
1016            depends="4jdk7-test-tck, 4jdk7-test-jtreg"            depends="4jdk7-tck, 4jdk7-jtreg"
1017            description="Runs tck and jtreg tests for jsr166-4jdk7">            description="Runs tck and jtreg tests for jsr166-4jdk7">
1018    </target>    </target>
1019    
# Line 743  Line 1029 
1029               link="${java7.api.url}"               link="${java7.api.url}"
1030               overview="${4jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
1031               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1032               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
1033               classpath=""               classpath=""
1034               executable="${javadoc7}">               executable="${javadoc7}"
1035                 failonerror = "true">
1036        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
1037          <include name="**/*.java"/>          <include name="**/*.java"/>
1038        </fileset>        </fileset>
# Line 796  Line 1083 
1083             classpath=""             classpath=""
1084             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1085             source="5"             source="5"
1086               target="5"
1087             includeAntRuntime="false"             includeAntRuntime="false"
1088             includeJavaRuntime="false"             includeJavaRuntime="false"
1089               encoding="ASCII"
1090             executable="${javac7}"             executable="${javac7}"
1091             fork="true">             fork="true">
1092    
# Line 817  Line 1106 
1106    
1107      <jar destfile="${jsr166x.jar}">      <jar destfile="${jsr166x.jar}">
1108        <fileset dir="${build.jsr166x.classes.dir}"/>        <fileset dir="${build.jsr166x.classes.dir}"/>
1109          <manifest>
1110            <attribute name="Built-By" value="${user.name}"/>
1111            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1112          </manifest>
1113      </jar>      </jar>
1114    
1115    </target>    </target>
# Line 832  Line 1125 
1125               packagenames="jsr166x.*"               packagenames="jsr166x.*"
1126               link="${java.api.url}"               link="${java.api.url}"
1127               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1128               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1129               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1130               source="5"               source="5"
1131               executable="${javadoc7}">               executable="${javadoc7}"
1132                 failonerror = "true">
1133        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1134        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1135    
# Line 881  Line 1175 
1175             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1176             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1177             source="6"             source="6"
1178               target="6"
1179             classpath=""             classpath=""
1180             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1181             includeAntRuntime="false"             includeAntRuntime="false"
1182             includeJavaRuntime="false"             includeJavaRuntime="false"
1183               encoding="ASCII"
1184             executable="${javac7}"             executable="${javac7}"
1185             fork="true">             fork="true">
1186    
# Line 904  Line 1200 
1200    
1201      <jar destfile="${jsr166y.jar}" index="true">      <jar destfile="${jsr166y.jar}" index="true">
1202        <fileset dir="${build.jsr166y.classes.dir}"/>        <fileset dir="${build.jsr166y.classes.dir}"/>
1203          <manifest>
1204            <attribute name="Built-By" value="${user.name}"/>
1205            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1206          </manifest>
1207      </jar>      </jar>
1208    
1209    </target>    </target>
# Line 919  Line 1219 
1219               packagenames="jsr166y.*"               packagenames="jsr166y.*"
1220               link="${java.api.url}"               link="${java.api.url}"
1221               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1222               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1223               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1224               source="6"               source="6"
1225               executable="${javadoc7}">               executable="${javadoc7}"
1226                 failonerror = "true">
1227        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1228        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1229    
# Line 971  Line 1272 
1272             bootclasspath="@{jsr166y.jar}:${bootclasspath6}"             bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1273             classpath=""             classpath=""
1274             source="6"             source="6"
1275               target="6"
1276             includeAntRuntime="false"             includeAntRuntime="false"
1277             includeJavaRuntime="false"             includeJavaRuntime="false"
1278               encoding="ASCII"
1279             executable="${javac7}"             executable="${javac7}"
1280             fork="true">             fork="true">
1281    
# Line 992  Line 1295 
1295    
1296      <jar destfile="${extra166y.jar}" index="true">      <jar destfile="${extra166y.jar}" index="true">
1297        <fileset dir="${build.extra166y.classes.dir}"/>        <fileset dir="${build.extra166y.classes.dir}"/>
1298          <manifest>
1299            <attribute name="Built-By" value="${user.name}"/>
1300            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1301          </manifest>
1302      </jar>      </jar>
1303    
1304    </target>    </target>
# Line 1007  Line 1314 
1314               packagenames="extra166y.*"               packagenames="extra166y.*"
1315               link="${java.api.url}"               link="${java.api.url}"
1316               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1317               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1318               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1319               source="6"               source="6"
1320               executable="${javadoc7}">               executable="${javadoc7}">
# Line 1058  Line 1365 
1365             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1366             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1367             source="${build.jsr166e.java.version}"             source="${build.jsr166e.java.version}"
1368               target="${build.jsr166e.java.version}"
1369             classpath=""             classpath=""
1370             includeAntRuntime="false"             includeAntRuntime="false"
1371             includeJavaRuntime="false"             includeJavaRuntime="false"
# Line 1084  Line 1392 
1392             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1393             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1394             source="${build.jsr166e.java.version}"             source="${build.jsr166e.java.version}"
1395               target="${build.jsr166e.java.version}"
1396             classpath=""             classpath=""
1397             bootclasspath="${bootclasspath7}"             bootclasspath="${bootclasspath6}"
1398             includeAntRuntime="false"             includeAntRuntime="false"
1399             includeJavaRuntime="false"             includeJavaRuntime="false"
1400             executable="${javac8}"             executable="${javac8}"
# Line 1107  Line 1416 
1416    
1417      <jar destfile="${jsr166e.jar}" index="true">      <jar destfile="${jsr166e.jar}" index="true">
1418        <fileset dir="${build.jsr166e.classes.dir}"/>        <fileset dir="${build.jsr166e.classes.dir}"/>
1419          <manifest>
1420            <attribute name="Built-By" value="${user.name}"/>
1421            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1422          </manifest>
1423      </jar>      </jar>
1424    
1425    </target>    </target>
# Line 1122  Line 1435 
1435               packagenames="jsr166e.*"               packagenames="jsr166e.*"
1436               link="${java.api.url}"               link="${java.api.url}"
1437               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1438               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1439               source="${build.jsr166e.java.version}"               source="${build.jsr166e.java.version}"
1440               executable="${javadoc7}">               executable="${javadoc7}"
1441                 failonerror = "true">
1442        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1443        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1444    
# Line 1132  Line 1446 
1446    </target>    </target>
1447    
1448    
1449    <target name="jsr166e-test-tck-one-java-version"    <target name="jsr166e-tck-one-java-version"
1450            depends="jsr166ejar">            depends="jsr166ejar">
1451    
1452      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
# Line 1144  Line 1458 
1458        classes="${jsr166e.jar}"/>        classes="${jsr166e.jar}"/>
1459    </target>    </target>
1460    
1461    <target name="jsr166e-test-tck"    <target name="jsr166e-tck"
1462            description="Runs tck tests for jsr166e for multiple java versions">            description="Runs tck tests for jsr166e for multiple java versions">
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="8"/> -->  <!--       <param name="build.jsr166e.java.version" value="8"/> -->
1467  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->
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="7"/>        <param name="build.jsr166e.java.version" value="7"/>
1473        <param name="build.jsr166e.javac" value="${javac7}"/>        <param name="build.jsr166e.javac" value="${javac7}"/>
1474      </antcall>      </antcall>
1475    
1476      <antcall target="clean"/>      <antcall target="clean"/>
1477      <antcall target="jsr166e-test-tck-one-java-version">      <antcall target="jsr166e-tck-one-java-version">
1478        <param name="build.jsr166e.java.version" value="6"/>        <param name="build.jsr166e.java.version" value="6"/>
1479        <param name="build.jsr166e.javac" value="${javac6}"/>        <param name="build.jsr166e.javac" value="${javac6}"/>
1480      </antcall>      </antcall>
# Line 1168  Line 1482 
1482    
1483    
1484    <target name="jsr166e-test"    <target name="jsr166e-test"
1485            depends="jsr166e-test-tck"            depends="jsr166e-tck"
1486            description="Runs all tests for jsr166e">            description="Runs all tests for jsr166e">
1487    </target>    </target>
1488    
# Line 1210  Line 1524 
1524    </target>    </target>
1525    
1526    
1527    <!-- ==============================================================
1528      Experimental errorprone support - http://errorprone.info
1529      You may need to bring your own errorprone jar.
1530    =================================================================== -->
1531      <target name="errorprone"
1532              depends="clean, configure-compiler"
1533              description="Run errorprone over jsr166 source code">
1534    
1535        <local name="destdir"/>
1536        <property name="destdir" value="${build.classes.dir}/java.base"/>
1537        <mkdir dir="${destdir}"/>
1538    
1539        <javac srcdir="${src.dir}"
1540               destdir="${destdir}"
1541               debug="${build.debug}"
1542               debuglevel="${build.debuglevel}"
1543               deprecation="${build.deprecation}"
1544               classpath=""
1545               includeAntRuntime="false"
1546               includeJavaRuntime="false"
1547               encoding="ASCII"
1548               executable="${build.main.javac}"
1549               fork="true">
1550    
1551          <include name="**/*.java"/>
1552          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1553          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1554          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1555          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1556          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1557          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1558          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1559          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1560          <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1561          <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1562          <compilerarg value="-Xplugin:ErrorProne
1563                              -Xep:IdentityBinaryExpression:WARN
1564                              -Xep:MissingOverride:OFF
1565                              -Xep:MixedArrayDimensions:WARN
1566                              -Xep:RemoveUnusedImports:ERROR
1567                              -Xep:MethodCanBeStatic:WARN"/>
1568          <compilerarg value="--patch-module=java.base=${src.dir}"/>
1569          <compilerarg value="-Xprefer:source"/>
1570          <compilerarg value="-XDignore.symbol.file=true"/>
1571          <compilerarg value="-Xlint:all"/>
1572          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
1573          <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1574          <compilerarg line="${build.args}"/>
1575        </javac>
1576    
1577        <jar destfile="${product.jar}">
1578          <fileset dir="${destdir}"/>
1579        </jar>
1580    
1581        <run-tck-tests
1582          target="${build.main.java.version}"
1583          workdir="${build.dir}"
1584          classes="${product.jar}">
1585          <javac-elements>
1586            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1587            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1588            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1589            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1590            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1591            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1592            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1593            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1594            <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1595            <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1596            <compilerarg value="-Xplugin:ErrorProne
1597                                -Xep:IdentityBinaryExpression:WARN
1598                                -Xep:BoxedPrimitiveConstructor:OFF
1599                                -Xep:HashtableContains:OFF
1600                                -Xep:ModifyingCollectionWithItself:OFF
1601                                -Xep:MissingOverride:OFF
1602                                -Xep:MixedArrayDimensions:WARN
1603                                -Xep:RemoveUnusedImports:ERROR
1604                                -Xep:MethodCanBeStatic:WARN"/>
1605            <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1606          </javac-elements>
1607        </run-tck-tests>
1608      </target>
1609    
1610    
1611    <!-- ==============================================================
1612      Running guava tests against jsr166 code
1613    =================================================================== -->
1614    
1615    <!-- <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" -->
1616    <!--   organisation="com.google.guava" module="guava-testlib" revision="21.0"/> -->
1617    <!-- <property name="guava.version" value="21.0"/> -->
1618    
1619    <!-- HOWTO debug print a path id -->
1620    <!-- <pathconvert property="guava.testlib.classpath" refid="guava.testlib.classpath" /> -->
1621    <!-- <echo message="guava.testlib.classpath=${guava.testlib.classpath}"/> -->
1622    
1623    <!-- <ivy:retrieve pathid="guava.tests.classpath" type="jar" inline="true" conf="*" pattern="${lib.dir}/[type]/[artifact].[ext]" -->
1624    <!--   organisation="com.google.guava" module="guava-tests"/> -->
1625    <!-- <get src="http://repo2.maven.org/maven2/com/google/guava/guava-tests/${guava.version}/guava-tests-${guava.version}-tests.jar" -->
1626    <!--   dest="${lib.dir}/jar/guava-tests-tests.jar" usetimestamp="true"/> -->
1627    <!--     <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" type="*" -->
1628    <!--       organisation="com.google.guava" module="guava-testlib" revision="${guava.version}"/> -->
1629    
1630    <!-- <test name="com.google.common.collect.testing.TestsForQueuesInJavaUtil"/> -->
1631    <!-- <test name="com.google.common.collect.testing.TestsForListsInJavaUtil"/> -->
1632    <!-- <test name="com.google.common.collect.testing.TestsForSetsInJavaUtil"/> -->
1633    <!-- <test name="com.google.common.collect.testing.TestsForMapsInJavaUtil"/> -->
1634    
1635    <!-- <ivy:retrieve pathid="guava.testlib.classpath" -->
1636    <!--   type="*" inline="true" conf="*(private),*(public)" -->
1637    <!--   pattern="${guava.dir}/[artifact].[ext]" -->
1638    <!--   organisation="com.google.guava" module="guava-testlib"/> -->
1639    
1640    <!-- Work around bug below by downloading guava-testlib-tests.jar "by hand": -->
1641    <!-- https://issues.apache.org/jira/browse/IVY-1444 -->
1642    <!-- maven tests artifacts cannot be downloaded because they are mapped to private configurations -->
1643    
1644      <target name="init-ivy">
1645        <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.4.0/ivy-2.4.0.jar"
1646             dest="${build.dir}/ivy.jar" usetimestamp="true" skipexisting="true"/>
1647        <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"
1648                 classpath="${build.dir}/ivy.jar"/>
1649      </target>
1650    
1651      <target name="guava-tests" depends="jar, init-ivy"
1652              description="Guava tests run against jsr166 collections">
1653        <property name="guava.dir" value="${build.dir}/guava-testlib"/>
1654        <mkdir dir="${guava.dir}"/>
1655        <ivy:retrieve pathid="guava.testlib.classpath"
1656          type="jar,bundle" inline="true" conf="default,master"
1657          pattern="${guava.dir}/[artifact].[ext]"
1658          organisation="com.google.guava" module="guava-testlib"/>
1659        <property name="guava.version" value="21.0"/>
1660        <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"
1661             dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1662        <junit printsummary="true" showoutput="true" haltonfailure="true"
1663               jvm="${java9}" fork="true">
1664          <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>
1665          <formatter type="brief"/>
1666          <classpath>
1667            <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>
1668            <path refid="guava.testlib.classpath"/>
1669          </classpath>
1670    
1671          <!-- "6" in "OpenJdk6Tests" misleadingly means "6+" -->
1672          <test name="com.google.common.collect.testing.OpenJdk6Tests"/>
1673        </junit>
1674      </target>
1675    
1676  </project>  </project>

Legend:
Removed from v.1.168  
changed lines
  Added in v.1.239

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8