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

Diff of /jsr166/build.xml

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

revision 1.144 by jsr166, Sun Jul 14 19:55:04 2013 UTC revision 1.235 by jsr166, Sun Mar 19 01:37:51 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
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
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  As of 2013-02, the very latest lambda 8 jdk is needed for jdk8.  
33      Alternatively, define ant variables thus:
34      ant -Djdk$N.home=... -Djdk$N.src.home=...
35      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    <target name="usage" description="Display main targets by running 'ant -projecthelp'">    <!-- Run 'ant -projecthelp' (default target) -->
42      <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 44  As of 2013-02, the very latest lambda 8 Line 58  As of 2013-02, the very latest lambda 8
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 -->  
   <!-- ant -Djsr166.profileTests=true -Djsr166.runsPerTest=100 test-tck -->  
   <property name="jsr166.profileTests"     value="false"/>  
   <property name="jsr166.profileThreshold" value="100"/>  
   <property name="jsr166.runsPerTest"      value="1"/>  
   <!-- Allow running an individual tck test class -->  
   <!-- ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck -->  
   <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 81  As of 2013-02, the very latest lambda 8 Line 90  As of 2013-02, the very latest lambda 8
90    <macrodef name="defjdklocations">    <macrodef name="defjdklocations">
91      <attribute name="v"/>      <attribute name="v"/>
92      <sequential>      <sequential>
93      <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>      <property name="jdk@{v}.home"     location="${jdks.home}/jdk@{v}"/>
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 114  As of 2013-02, the very latest lambda 8 Line 132  As of 2013-02, the very latest lambda 8
132    <defjdklocations v="6"/>    <defjdklocations v="6"/>
133    <defjdklocations v="7"/>    <defjdklocations v="7"/>
134    <defjdklocations v="8"/>    <defjdklocations v="8"/>
135      <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 133  As of 2013-02, the very latest lambda 8 Line 158  As of 2013-02, the very latest lambda 8
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 140  As of 2013-02, the very latest lambda 8 Line 166  As of 2013-02, the very latest lambda 8
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 148  As of 2013-02, the very latest lambda 8 Line 175  As of 2013-02, the very latest lambda 8
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"/>
182    <property name="extra166y.jar"    location="${build.extra166y.dir}/extra166y.jar"/>    <property name="extra166y.jar"    location="${build.extra166y.dir}/extra166y.jar"/>
183    <property name="junit.jar"        location="${lib.dir}/junit.jar"/>    <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
184    
185    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->    <!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag -->
186    <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>    <property name="java5.docroot.url"      value="http://docs.oracle.com/javase/1.5.0/docs"/>
187    <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>    <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>
188    <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>    <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"/>
190    <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>    <!-- The expected canonical location does not yet exist as of 2016-04 -->
191    <!-- The below does not yet exist as of 2013-01 -->    <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
192    <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->    <property name="java9.docroot.url"      value="http://download.java.net/java/jdk9/docs"/>
193      <!-- Default jdk doc location (latest stable release seems best) -->
194      <property name="java.docroot.url"       value="${java8.docroot.url}"/>
195    
196    <!-- Default jdk api doc location (latest stable release seems best) -->    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
197    <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>    <property name="java5.api.url"      value="${java5.docroot.url}/api/"/>
198      <property name="java6.api.url"      value="${java6.docroot.url}/api/"/>
199      <property name="java7.api.url"      value="${java7.docroot.url}/api/"/>
200      <property name="java8.api.url"      value="${java8.docroot.url}/api/"/>
201      <property name="java9.api.url"      value="${java9.docroot.url}/api/"/>
202      <property name="java.api.url"       value="${java.docroot.url}/api/"/>
203    
204    <!-- Define the "jtreg" task -->    <!-- Define the "jtreg" task -->
205    <!-- See the docs in "jtreg -onlineHelp" -->    <!-- See the docs in "jtreg -onlineHelp" -->
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      <attribute name="jvmflags" default=""/>      <!--
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"/>
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 197  As of 2013-02, the very latest lambda 8 Line 244  As of 2013-02, the very latest lambda 8
244             source="@{compile-target}"             source="@{compile-target}"
245             target="@{compile-target}"             target="@{compile-target}"
246             classpath="${junit.jar}"             classpath="${junit.jar}"
            bootclasspath="@{classes}:${bootclasspath@{compile-target}}"  
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="-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 215  As of 2013-02, the very latest lambda 8 Line 265  As of 2013-02, the very latest lambda 8
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          <sysproperty key="jsr166.profileTests"     value="${jsr166.profileTests}"/>          <!-- ant -Dvmoptions="-Xmx8m" -Djsr166.tckTestClass=CompletableFutureTest tck -->
277          <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>          <jvmarg line="${vmoptions}" if:set="vmoptions"/>
278          <sysproperty key="jsr166.runsPerTest"      value="${jsr166.runsPerTest}"/>  
279            <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
280            <syspropertyset id="system-properties-used-by-tck">
281              <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
282              <propertyref prefix="jsr166."/>
283              <propertyref name="test.timeout.factor"/>
284            </syspropertyset>
285    
286          <classpath>          <classpath>
287            <pathelement location="${junit.jar}"/>            <pathelement location="${junit.jar}"/>
288            <pathelement location="@{workdir}/tck-classes"/>            <pathelement location="@{workdir}/tck-classes"/>
# Line 229  As of 2013-02, the very latest lambda 8 Line 292  As of 2013-02, the very latest lambda 8
292      </sequential>      </sequential>
293    </macrodef>    </macrodef>
294    
295      <!-- Define jtreg test sets for different jdk versions -->
296      <fileset dir="${jtreg9.src.dir}">
297        <patternset id="jdk9.jtreg.tests">
298          <include name="**/*.java"/>
299        </patternset>
300      </fileset>
301    
302      <fileset dir="${jtreg8.src.dir}">
303        <patternset id="jdk8.jtreg.tests">
304          <include name="**/*.java"/>
305        </patternset>
306      </fileset>
307    
308      <fileset dir="${jtreg7.src.dir}">
309        <patternset id="jdk7.jtreg.tests">
310          <include name="**/*.java"/>
311        </patternset>
312      </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      <attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/>      <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
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">
339             reportDir="@{workdir}/JTreport">        <patternset refid="jdk@{target}.jtreg.tests"/>
340          <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
341        <arg value="-Xbootclasspath/p:@{classes}"/>        <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 268  As of 2013-02, the very latest lambda 8 Line 363  As of 2013-02, the very latest lambda 8
363    
364    <!-- Main targets -->    <!-- Main targets -->
365    
366      <property name="build.main.java.version" value="9"/>
367      <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             executable="${javac8}"             encoding="ASCII"
400               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"/>
409          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
410          <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
411        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
412    
413      </javac>      </javac>
# Line 301  As of 2013-02, the very latest lambda 8 Line 416  As of 2013-02, the very latest lambda 8
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 318  As of 2013-02, the very latest lambda 8 Line 438  As of 2013-02, the very latest lambda 8
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="${jdkapi8docs.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}:${jdk8src.dir}"               sourcepath="${src.dir}"
452               classpath=""               classpath=""
453               executable="${javadoc8}">               executable="${javadoc9}">
454        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
455          <include name="**/*.java"/>          <include name="**/*.java"/>
456        </fileset>        </fileset>
457          <arg line="-Xdocrootparent ${java9.docroot.url}"/>
458          <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 361  As of 2013-02, the very latest lambda 8 Line 495  As of 2013-02, the very latest lambda 8
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 376  As of 2013-02, the very latest lambda 8 Line 514  As of 2013-02, the very latest lambda 8
514    <target name="dist-clean"    <target name="dist-clean"
515            description="Removes all build and distribution products">            description="Removes all build and distribution products">
516    
517        <delete dir="${build.dir}"/>
518      <delete dir="${dist.dir}"/>      <delete dir="${dist.dir}"/>
519    
520    </target>    </target>
# Line 391  As of 2013-02, the very latest lambda 8 Line 530  As of 2013-02, the very latest lambda 8
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"
   <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="8"        target="${build.main.java.version}"
539        workdir="${build.dir}"        workdir="${build.dir}"
540        classes="${product.jar}"/>        classes="${product.jar}"/>
541    </target>    </target>
542    
543    <target name="test-jtreg"    <target name="tck-parallelism-1"
544              description="Runs tck with common pool parallelism 1">
545        <antcall target="tck">
546          <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
547        </antcall>
548      </target>
549    
550      <target name="tck-parallelism-0"
551              description="Runs tck with common pool parallelism 0">
552        <antcall target="tck">
553          <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
554        </antcall>
555      </target>
556    
557      <target name="tck-security-manager"
558              description="Runs tck with a security manager">
559        <antcall target="tck">
560          <param name="jsr166.useSecurityManager" value="true"/>
561        </antcall>
562      </target>
563    
564      <target name="jtreg"
565            depends="jar"            depends="jar"
566            description="Runs jtreg tests for main using the jtreg ant task">            description="Runs jtreg tests for src/main using the jtreg ant task">
567      <run-jtreg-tests      <run-jtreg-tests
568         target="8"         target="${build.main.java.version}"
569         workdir="${build.dir}"         workdir="${build.dir}"
570         classes="${product.jar}"/>         classes="${product.jar}"/>
571    </target>    </target>
572    
573    <target name="test"    <target name="test"
574            depends="test-tck, test-jtreg"            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
575            description="Runs tck and jtreg tests for main">            description="Runs tck and jtreg tests for src/main">
576    </target>    </target>
577    
578    <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
579    
580    <!--     <antcall target="jtreg"> -->
581    <!--       <param name="build.main.java.version" value="8"/> -->
582    <!--       <param name="build.main.javac" value="${javac8}"/> -->
583    <!--     </antcall> -->
584    
585    <!--   </target> -->
586    
587    <!--   <target name="test89" -->
588    <!--           description="Runs tck and jtreg tests for src/main for multiple java versions"> -->
589    
590    <!--     <antcall target="clean"/> -->
591    <!--     <antcall target="test"> -->
592    <!--       <param name="build.main.java.version" value="8"/> -->
593    <!--       <param name="build.main.javac" value="${javac8}"/> -->
594    <!--     </antcall> -->
595    
596    <!--     <antcall target="clean"/> -->
597    <!--     <antcall target="test"> -->
598    <!--       <param name="build.main.java.version" value="9"/> -->
599    <!--       <param name="build.main.javac" value="${javac9}"/> -->
600    <!--     </antcall> -->
601    
602    <!--   </target> -->
603    
604    
605    
606    <target name="configure-compiler">    <target name="configure-compiler">
607        <fail message="ant version too old">
608          <condition>
609            <not> <antversion atleast="1.9.1"/> </not>
610          </condition>
611        </fail>
612    
613      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
614    
# Line 439  As of 2013-02, the very latest lambda 8 Line 629  As of 2013-02, the very latest lambda 8
629    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
630    
631    
632    <target name="loops" depends="configure-compiler"    <!-- description="Benchmark from Doug Lea's AQS paper" -->
633            description="Benchmark from Doug Lea's AQS paper">    <target name="loops" depends="configure-compiler">
634    
635      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
636    
# Line 450  As of 2013-02, the very latest lambda 8 Line 640  As of 2013-02, the very latest lambda 8
640         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
641        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
642             source="${build.sourcelevel}"             source="${build.sourcelevel}"
643               target="${build.sourcelevel}"
644             encoding="ASCII"
645               fork="true">               fork="true">
646    
647        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 465  As of 2013-02, the very latest lambda 8 Line 657  As of 2013-02, the very latest lambda 8
657    </target>    </target>
658    
659    
660      <target name="compile-test-loops" depends="jar"
661              description="compile all the perf tests in src/test/loops">
662    
663        <mkdir dir="${build.dir}/test/loops"/>
664    
665        <javac srcdir="${basedir}/src/test/loops"
666               destdir="${build.dir}/test/loops"
667               debug="${build.debug}"
668               debuglevel="${build.debuglevel}"
669               deprecation="${build.deprecation}"
670               includeAntRuntime="false"
671               includeJavaRuntime="false"
672               encoding="ASCII"
673               executable="${javac9}"
674               fork="true">
675    
676          <include name="*.java"/>
677          <compilerarg value="-XDignore.symbol.file=true"/>
678          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
679          <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
680          <compilerarg line="${build.args}"/>
681    
682        </javac>
683    
684      </target>
685    
686    
687      <!-- jsr166 4jdk8 -->
688    
689      <target name="4jdk8compile"
690              depends="configure-compiler"
691              description="Compiles src/jdk8 sources, targeting jdk8">
692    
693        <mkdir dir="${build.4jdk8.classes.dir}"/>
694    
695        <javac srcdir="${4jdk8src.dir}"
696               destdir="${build.4jdk8.classes.dir}"
697               debug="${build.debug}"
698               debuglevel="${build.debuglevel}"
699               deprecation="${build.deprecation}"
700               source="8"
701               target="8"
702               classpath=""
703               bootclasspath="${bootclasspath8}"
704               includeAntRuntime="false"
705               includeJavaRuntime="false"
706               encoding="ASCII"
707               executable="${javac8}"
708               fork="true">
709    
710          <include name="**/*.java"/>
711          <compilerarg value="-Xprefer:source"/>
712          <compilerarg value="-XDignore.symbol.file=true"/>
713          <compilerarg value="-Xlint:all"/>
714          <compilerarg value="-Werror"/>
715          <compilerarg line="${build.args}"/>
716    
717        </javac>
718      </target>
719    
720      <target name="4jdk8doclint"
721              depends="configure-compiler"
722              description="Finds doclint warnings">
723    
724        <mkdir dir="${build.4jdk8.classes.dir}"/>
725    
726        <javac srcdir="${4jdk8src.dir}"
727               destdir="${build.4jdk8.classes.dir}"
728               debug="${build.debug}"
729               debuglevel="${build.debuglevel}"
730               deprecation="${build.deprecation}"
731               source="8"
732               target="8"
733               classpath=""
734               bootclasspath="${bootclasspath8}"
735               includeAntRuntime="false"
736               includeJavaRuntime="false"
737               encoding="ASCII"
738               executable="${javac8}"
739               fork="true">
740    
741          <include name="**/*.java"/>
742          <compilerarg value="-Xprefer:source"/>
743          <compilerarg value="-XDignore.symbol.file=true"/>
744          <compilerarg value="-Xlint:all"/>
745          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
746          <compilerarg line="${build.args}"/>
747    
748        </javac>
749      </target>
750    
751    
752      <target name="4jdk8jar"
753              depends="4jdk8compile"
754              description="Builds library jar from compiled sources">
755    
756        <jar destfile="${4jdk8product.jar}">
757          <fileset dir="${build.4jdk8.classes.dir}"/>
758          <manifest>
759            <attribute name="Built-By" value="${user.name}"/>
760            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
761          </manifest>
762        </jar>
763    
764      </target>
765    
766    
767      <target name="4jdk8-tck"
768              depends="4jdk8jar"
769              description="Runs tck tests for jsr166-4jdk8 directly">
770    
771        <run-tck-tests
772          target="8"
773          workdir="${build.4jdk8.dir}"
774          classes="${4jdk8product.jar}">
775          <javac-elements>
776            <!-- JDK9+ test classes -->
777            <exclude name="*9Test.java"/>
778            <exclude name="*10Test.java"/>
779          </javac-elements>
780        </run-tck-tests>
781      </target>
782    
783    
784      <target name="4jdk8-jtreg"
785              depends="4jdk8jar"
786              description="Runs jtreg tests for jsr166-4jdk8 using the jtreg ant task">
787        <run-jtreg-tests
788           target="8"
789           workdir="${build.4jdk8.dir}"
790           classes="${4jdk8product.jar}"/>
791      </target>
792    
793    
794      <target name="4jdk8-test"
795              depends="4jdk8-tck, 4jdk8-jtreg"
796              description="Runs tck and jtreg tests for jsr166-4jdk8">
797      </target>
798    
799    
800      <target name="4jdk8docs"
801              description="Builds javadocs for src/jdk8 to dist dir">
802    
803        <delete dir="${4jdk8docs.dir}"/>
804        <mkdir dir="${4jdk8docs.dir}"/>
805    
806        <javadoc destdir="${4jdk8docs.dir}"
807                 packagenames="none"
808                 link="${java8.api.url}"
809                 overview="${4jdk8src.dir}/intro.html"
810                 access="${build.javadoc.access}"
811                 sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
812                 classpath=""
813                 executable="${javadoc8}"
814                 failonerror = "true">
815          <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
816            <include name="**/*.java"/>
817          </fileset>
818          <arg line="-Xdocrootparent ${java8.docroot.url}"/>
819          <arg value="-XDignore.symbol.file=true"/>
820          <arg value="-tag"/>
821          <arg value="${javadoc.jls.option}"/>
822    <!-- @apiNote currently unused -->
823    <!--       <arg value="-tag"/> -->
824    <!--       <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/> -->
825          <arg value="-tag"/>
826          <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
827          <arg value="-tag"/>
828          <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
829        </javadoc>
830      </target>
831    
832    
833      <target name="4jdk8dist"
834              depends="4jdk8dist-jar, 4jdk8dist-docs"
835              description="Puts all distributable products in single hierarchy"/>
836    
837    
838      <target name="4jdk8clean"
839              description="Removes all 4jdk8 build products">
840    
841        <delete dir="${build.4jdk8.dir}"/>
842    
843      </target>
844    
845    
846      <target name="4jdk8dist-jar"
847              depends="4jdk8clean, 4jdk8jar">
848        <copy file="${4jdk8product.jar}" todir="${dist.dir}"/>
849      </target>
850    
851    
852      <target name="4jdk8dist-docs"
853              depends="4jdk8clean, 4jdk8docs">
854        <mirror-dir src="${4jdk8docs.dir}" dst="${dist.4jdk8docs.dir}"/>
855      </target>
856    
857    
858    
859    <!-- jsr166 4jdk7 -->    <!-- jsr166 4jdk7 -->
860    
861    <target name="4jdk7compile"    <target name="4jdk7compile"
# Line 479  As of 2013-02, the very latest lambda 8 Line 870  As of 2013-02, the very latest lambda 8
870             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
871             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
872             source="6"             source="6"
873               target="6"
874             classpath=""             classpath=""
875             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
876             includeAntRuntime="false"             includeAntRuntime="false"
877             includeJavaRuntime="false"             includeJavaRuntime="false"
878               encoding="ASCII"
879             executable="${javac7}"             executable="${javac7}"
880             fork="true">             fork="true">
881    
# Line 490  As of 2013-02, the very latest lambda 8 Line 883  As of 2013-02, the very latest lambda 8
883        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
884        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
885        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
886          <compilerarg value="-Werror"/>
887          <compilerarg line="${build.args}"/>
888    
889        </javac>
890      </target>
891    
892      <target name="4jdk7doclint"
893              depends="configure-compiler"
894              description="Finds doclint warnings">
895    
896        <mkdir dir="${build.4jdk7.classes.dir}"/>
897    
898        <javac srcdir="${4jdk7src.dir}"
899               destdir="${build.4jdk7.classes.dir}"
900               debug="${build.debug}"
901               debuglevel="${build.debuglevel}"
902               deprecation="${build.deprecation}"
903               source="6"
904               target="6"
905               classpath=""
906               bootclasspath="${bootclasspath6}"
907               includeAntRuntime="false"
908               includeJavaRuntime="false"
909               encoding="ASCII"
910               executable="${javac8}"
911               fork="true">
912    
913          <include name="**/*.java"/>
914          <compilerarg value="-Xprefer:source"/>
915          <compilerarg value="-XDignore.symbol.file=true"/>
916          <compilerarg value="-Xlint:all"/>
917          <compilerarg value="-Xdoclint:all/protected"/>
918        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
919    
920      </javac>      </javac>
# Line 502  As of 2013-02, the very latest lambda 8 Line 927  As of 2013-02, the very latest lambda 8
927    
928      <jar destfile="${4jdk7product.jar}">      <jar destfile="${4jdk7product.jar}">
929        <fileset dir="${build.4jdk7.classes.dir}"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
930          <manifest>
931            <attribute name="Built-By" value="${user.name}"/>
932            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
933          </manifest>
934      </jar>      </jar>
935    
936    </target>    </target>
937    
938    
939    <target name="4jdk7-test-tck"    <target name="4jdk7-tck"
940            depends="4jdk7jar"            depends="4jdk7jar"
941            description="Runs tck tests for jsr166-4jdk7 directly">            description="Runs tck tests for jsr166-4jdk7 directly">
942    
# Line 518  As of 2013-02, the very latest lambda 8 Line 947  As of 2013-02, the very latest lambda 8
947        <javac-elements>        <javac-elements>
948          <!-- JDK8+ test classes -->          <!-- JDK8+ test classes -->
949          <exclude name="*8Test.java"/>          <exclude name="*8Test.java"/>
950            <exclude name="*9Test.java"/>
951            <exclude name="*10Test.java"/>
952          <exclude name="DoubleAccumulatorTest.java"/>          <exclude name="DoubleAccumulatorTest.java"/>
953          <exclude name="DoubleAdderTest.java"/>          <exclude name="DoubleAdderTest.java"/>
954          <exclude name="LongAccumulatorTest.java"/>          <exclude name="LongAccumulatorTest.java"/>
955          <exclude name="LongAdderTest.java"/>          <exclude name="LongAdderTest.java"/>
956          <exclude name="CompletableFutureTest.java"/>          <exclude name="CompletableFutureTest.java"/>
957            <exclude name="SplittableRandomTest.java"/>
958          <exclude name="StampedLockTest.java"/>          <exclude name="StampedLockTest.java"/>
959            <exclude name="SubmissionPublisherTest.java"/>
960        </javac-elements>        </javac-elements>
961      </run-tck-tests>      </run-tck-tests>
962    </target>    </target>
963    
964    
965    <target name="4jdk7-test-tck-junit"    <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
966            depends="4jdk7compile"    <target name="4jdk7-tck-junit"
967            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">            depends="4jdk7compile">
968    
969      <junit printsummary="true"      <junit printsummary="true"
970             showoutput="true"             showoutput="true"
# Line 557  As of 2013-02, the very latest lambda 8 Line 990  As of 2013-02, the very latest lambda 8
990      </junit>      </junit>
991    </target>    </target>
992    
993    <target name="4jdk7-test-jtreg"    <target name="4jdk7-jtreg"
994            depends="4jdk7jar"            depends="4jdk7jar"
995            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
996      <run-jtreg-tests      <run-jtreg-tests
997         target="7"         target="7"
998         workdir="${build.4jdk7.dir}"         workdir="${build.4jdk7.dir}"
999         classes="${4jdk7product.jar}"         classes="${4jdk7product.jar}"/>
        jtregflags="-exclude:${jtreg.src.dir}/jdk8tests"/>  
1000    </target>    </target>
1001    
1002    
1003    <target name="4jdk7-test"    <target name="4jdk7-test"
1004            depends="4jdk7-test-tck, 4jdk7-test-jtreg"            depends="4jdk7-tck, 4jdk7-jtreg"
1005            description="Runs tck and jtreg tests for jsr166-4jdk7">            description="Runs tck and jtreg tests for jsr166-4jdk7">
1006    </target>    </target>
1007    
# Line 582  As of 2013-02, the very latest lambda 8 Line 1014  As of 2013-02, the very latest lambda 8
1014    
1015      <javadoc destdir="${4jdk7docs.dir}"      <javadoc destdir="${4jdk7docs.dir}"
1016               packagenames="none"               packagenames="none"
1017               link="${jdkapi7docs.url}"               link="${java7.api.url}"
1018               overview="${4jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
1019               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1020               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
1021               classpath=""               classpath=""
1022               executable="${javadoc7}">               executable="${javadoc7}"
1023                 failonerror = "true">
1024        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
1025          <include name="**/*.java"/>          <include name="**/*.java"/>
1026        </fileset>        </fileset>
1027          <arg line="-Xdocrootparent ${java7.docroot.url}"/>
1028        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1029      </javadoc>      </javadoc>
1030    </target>    </target>
# Line 609  As of 2013-02, the very latest lambda 8 Line 1043  As of 2013-02, the very latest lambda 8
1043    </target>    </target>
1044    
1045    
   <target name="4jdk7dist-clean"  
           description="Removes all build and distribution products">  
   
   </target>  
   
1046    <target name="4jdk7dist-jar"    <target name="4jdk7dist-jar"
1047            depends="4jdk7clean, 4jdk7jar">            depends="4jdk7clean, 4jdk7jar">
1048      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
# Line 642  As of 2013-02, the very latest lambda 8 Line 1071  As of 2013-02, the very latest lambda 8
1071             classpath=""             classpath=""
1072             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1073             source="5"             source="5"
1074               target="5"
1075             includeAntRuntime="false"             includeAntRuntime="false"
1076             includeJavaRuntime="false"             includeJavaRuntime="false"
1077               encoding="ASCII"
1078             executable="${javac7}"             executable="${javac7}"
1079             fork="true">             fork="true">
1080    
1081        <include name="jsr166x/**/*.java"/>        <include name="jsr166x/**/*.java"/>
1082        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1083        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
1084          <compilerarg value="-Werror"/>
1085        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
1086    
1087      </javac>      </javac>
# Line 662  As of 2013-02, the very latest lambda 8 Line 1094  As of 2013-02, the very latest lambda 8
1094    
1095      <jar destfile="${jsr166x.jar}">      <jar destfile="${jsr166x.jar}">
1096        <fileset dir="${build.jsr166x.classes.dir}"/>        <fileset dir="${build.jsr166x.classes.dir}"/>
1097          <manifest>
1098            <attribute name="Built-By" value="${user.name}"/>
1099            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1100          </manifest>
1101      </jar>      </jar>
1102    
1103    </target>    </target>
# Line 675  As of 2013-02, the very latest lambda 8 Line 1111  As of 2013-02, the very latest lambda 8
1111    
1112      <javadoc destdir="${jsr166xdocs.dir}"      <javadoc destdir="${jsr166xdocs.dir}"
1113               packagenames="jsr166x.*"               packagenames="jsr166x.*"
1114               link="${jdkapidocs.url}"               link="${java.api.url}"
1115               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1116               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1117               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1118               source="5"               source="5"
1119               executable="${javadoc7}">               executable="${javadoc7}"
1120                 failonerror = "true">
1121          <arg line="-Xdocrootparent ${java.docroot.url}"/>
1122        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1123    
1124      </javadoc>      </javadoc>
# Line 700  As of 2013-02, the very latest lambda 8 Line 1138  As of 2013-02, the very latest lambda 8
1138    </target>    </target>
1139    
1140    
   <target name="jsr166xdist-clean"  
           description="Removes all build and distribution products">  
   
   </target>  
   
   
1141    <target name="jsr166xdist-jar"    <target name="jsr166xdist-jar"
1142            depends="jsr166xclean, jsr166xjar">            depends="jsr166xclean, jsr166xjar">
1143      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
# Line 731  As of 2013-02, the very latest lambda 8 Line 1163  As of 2013-02, the very latest lambda 8
1163             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1164             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1165             source="6"             source="6"
1166               target="6"
1167             classpath=""             classpath=""
1168             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1169             includeAntRuntime="false"             includeAntRuntime="false"
1170             includeJavaRuntime="false"             includeJavaRuntime="false"
1171               encoding="ASCII"
1172             executable="${javac7}"             executable="${javac7}"
1173             fork="true">             fork="true">
1174    
1175        <include name="jsr166y/**/*.java"/>        <include name="jsr166y/**/*.java"/>
1176        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1177        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1178          <compilerarg value="-Werror"/>
1179        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
1180    
1181      </javac>      </javac>
# Line 753  As of 2013-02, the very latest lambda 8 Line 1188  As of 2013-02, the very latest lambda 8
1188    
1189      <jar destfile="${jsr166y.jar}" index="true">      <jar destfile="${jsr166y.jar}" index="true">
1190        <fileset dir="${build.jsr166y.classes.dir}"/>        <fileset dir="${build.jsr166y.classes.dir}"/>
1191          <manifest>
1192            <attribute name="Built-By" value="${user.name}"/>
1193            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1194          </manifest>
1195      </jar>      </jar>
1196    
1197    </target>    </target>
# Line 766  As of 2013-02, the very latest lambda 8 Line 1205  As of 2013-02, the very latest lambda 8
1205    
1206      <javadoc destdir="${jsr166ydocs.dir}"      <javadoc destdir="${jsr166ydocs.dir}"
1207               packagenames="jsr166y.*"               packagenames="jsr166y.*"
1208               link="${jdkapidocs.url}"               link="${java.api.url}"
1209               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1210               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1211               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1212               source="6"               source="6"
1213               executable="${javadoc7}">               executable="${javadoc7}"
1214                 failonerror = "true">
1215          <arg line="-Xdocrootparent ${java.docroot.url}"/>
1216        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1217    
1218      </javadoc>      </javadoc>
# Line 791  As of 2013-02, the very latest lambda 8 Line 1232  As of 2013-02, the very latest lambda 8
1232    </target>    </target>
1233    
1234    
   <target name="jsr166ydist-clean"  
           description="Removes all build and distribution products">  
   
   </target>  
   
1235    <target name="jsr166ydist-jar"    <target name="jsr166ydist-jar"
1236            depends="jsr166yclean, jsr166yjar">            depends="jsr166yclean, jsr166yjar">
1237      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
# Line 824  As of 2013-02, the very latest lambda 8 Line 1260  As of 2013-02, the very latest lambda 8
1260             bootclasspath="@{jsr166y.jar}:${bootclasspath6}"             bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1261             classpath=""             classpath=""
1262             source="6"             source="6"
1263               target="6"
1264             includeAntRuntime="false"             includeAntRuntime="false"
1265             includeJavaRuntime="false"             includeJavaRuntime="false"
1266               encoding="ASCII"
1267             executable="${javac7}"             executable="${javac7}"
1268             fork="true">             fork="true">
1269    
1270        <include name="extra166y/**/*.java"/>        <include name="extra166y/**/*.java"/>
1271        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1272        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1273          <compilerarg value="-Werror"/>
1274        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
1275    
1276      </javac>      </javac>
# Line 844  As of 2013-02, the very latest lambda 8 Line 1283  As of 2013-02, the very latest lambda 8
1283    
1284      <jar destfile="${extra166y.jar}" index="true">      <jar destfile="${extra166y.jar}" index="true">
1285        <fileset dir="${build.extra166y.classes.dir}"/>        <fileset dir="${build.extra166y.classes.dir}"/>
1286          <manifest>
1287            <attribute name="Built-By" value="${user.name}"/>
1288            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1289          </manifest>
1290      </jar>      </jar>
1291    
1292    </target>    </target>
# Line 857  As of 2013-02, the very latest lambda 8 Line 1300  As of 2013-02, the very latest lambda 8
1300    
1301      <javadoc destdir="${extra166ydocs.dir}"      <javadoc destdir="${extra166ydocs.dir}"
1302               packagenames="extra166y.*"               packagenames="extra166y.*"
1303               link="${jdkapidocs.url}"               link="${java.api.url}"
1304               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1305               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1306               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1307               source="6"               source="6"
1308               executable="${javadoc7}">               executable="${javadoc7}">
1309          <arg line="-Xdocrootparent ${java.docroot.url}"/>
1310        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1311    
1312      </javadoc>      </javadoc>
# Line 882  As of 2013-02, the very latest lambda 8 Line 1326  As of 2013-02, the very latest lambda 8
1326    </target>    </target>
1327    
1328    
   <target name="extra166ydist-clean"  
           description="Removes all build and distribution products">  
   
   </target>  
   
1329    <target name="extra166ydist-jar"    <target name="extra166ydist-jar"
1330            depends="extra166yclean, extra166yjar">            depends="extra166yclean, extra166yjar">
1331      <copy file="${extra166y.jar}" todir="${dist.dir}"/>      <copy file="${extra166y.jar}" todir="${dist.dir}"/>
# Line 914  As of 2013-02, the very latest lambda 8 Line 1353  As of 2013-02, the very latest lambda 8
1353             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1354             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1355             source="${build.jsr166e.java.version}"             source="${build.jsr166e.java.version}"
1356               target="${build.jsr166e.java.version}"
1357             classpath=""             classpath=""
1358             includeAntRuntime="false"             includeAntRuntime="false"
1359             includeJavaRuntime="false"             includeJavaRuntime="false"
# Line 923  As of 2013-02, the very latest lambda 8 Line 1363  As of 2013-02, the very latest lambda 8
1363        <include name="jsr166e/**/*.java"/>        <include name="jsr166e/**/*.java"/>
1364        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1365        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1366          <compilerarg value="-Werror"/>
1367        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
1368    
1369      </javac>      </javac>
1370    </target>    </target>
1371    
1372      <!-- jsr166e: find doclint errors -->
1373      <target name="jsr166edoclint">
1374    
1375        <mkdir dir="${build.jsr166e.classes.dir}"/>
1376    
1377        <javac srcdir="${topsrc.dir}"
1378               destdir="${build.jsr166e.classes.dir}"
1379               debug="${build.debug}"
1380               debuglevel="${build.debuglevel}"
1381               deprecation="${build.deprecation}"
1382               source="${build.jsr166e.java.version}"
1383               target="${build.jsr166e.java.version}"
1384               classpath=""
1385               bootclasspath="${bootclasspath6}"
1386               includeAntRuntime="false"
1387               includeJavaRuntime="false"
1388               executable="${javac8}"
1389               fork="true">
1390    
1391          <include name="jsr166e/**/*.java"/>
1392          <compilerarg value="-XDignore.symbol.file=true"/>
1393          <compilerarg value="-Xlint:all"/>
1394          <compilerarg value="-Werror"/>
1395          <compilerarg value="-Xdoclint:all/protected"/>
1396    
1397        </javac>
1398      </target>
1399    
1400    
1401    <target name="jsr166ejar"    <target name="jsr166ejar"
1402            depends="jsr166ecompile"            depends="jsr166ecompile"
# Line 935  As of 2013-02, the very latest lambda 8 Line 1404  As of 2013-02, the very latest lambda 8
1404    
1405      <jar destfile="${jsr166e.jar}" index="true">      <jar destfile="${jsr166e.jar}" index="true">
1406        <fileset dir="${build.jsr166e.classes.dir}"/>        <fileset dir="${build.jsr166e.classes.dir}"/>
1407          <manifest>
1408            <attribute name="Built-By" value="${user.name}"/>
1409            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1410          </manifest>
1411      </jar>      </jar>
1412    
1413    </target>    </target>
# Line 948  As of 2013-02, the very latest lambda 8 Line 1421  As of 2013-02, the very latest lambda 8
1421    
1422      <javadoc destdir="${jsr166edocs.dir}"      <javadoc destdir="${jsr166edocs.dir}"
1423               packagenames="jsr166e.*"               packagenames="jsr166e.*"
1424               link="${jdkapidocs.url}"               link="${java.api.url}"
1425               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1426               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1427               source="${build.jsr166e.java.version}"               source="${build.jsr166e.java.version}"
1428               executable="${javadoc7}">               executable="${javadoc7}"
1429                 failonerror = "true">
1430          <arg line="-Xdocrootparent ${java.docroot.url}"/>
1431        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1432    
1433      </javadoc>      </javadoc>
1434    </target>    </target>
1435    
1436    
1437    <target name="jsr166e-test-tck-one-java-version"    <target name="jsr166e-tck-one-java-version"
1438            depends="jsr166ejar"            depends="jsr166ejar">
           description="Runs tck tests for jsr166e">  
1439    
1440      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1441    
# Line 972  As of 2013-02, the very latest lambda 8 Line 1446  As of 2013-02, the very latest lambda 8
1446        classes="${jsr166e.jar}"/>        classes="${jsr166e.jar}"/>
1447    </target>    </target>
1448    
1449    <target name="jsr166e-test-tck"    <target name="jsr166e-tck"
1450            description="Runs tck tests for jsr166e for multiple java versions">            description="Runs tck tests for jsr166e for multiple java versions">
1451    
1452  <!--     <antcall target="clean"/> -->  <!--     <antcall target="clean"/> -->
1453  <!--     <antcall target="jsr166e-test-tck-one-java-version"> -->  <!--     <antcall target="jsr166e-tck-one-java-version"> -->
1454  <!--       <param name="build.jsr166e.java.version" value="8"/> -->  <!--       <param name="build.jsr166e.java.version" value="8"/> -->
1455  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->
1456  <!--     </antcall> -->  <!--     </antcall> -->
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="7"/>        <param name="build.jsr166e.java.version" value="7"/>
1461        <param name="build.jsr166e.javac" value="${javac7}"/>        <param name="build.jsr166e.javac" value="${javac7}"/>
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="6"/>        <param name="build.jsr166e.java.version" value="6"/>
1467        <param name="build.jsr166e.javac" value="${javac6}"/>        <param name="build.jsr166e.javac" value="${javac6}"/>
1468      </antcall>      </antcall>
1469    </target>    </target>
1470    
1471    
1472      <target name="jsr166e-test"
1473              depends="jsr166e-tck"
1474              description="Runs all tests for jsr166e">
1475      </target>
1476    
1477    <target name="jsr166edist"    <target name="jsr166edist"
1478            depends="jsr166edist-jar, jsr166edist-docs"            depends="jsr166edist-jar, jsr166edist-docs"
1479            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
# Line 1006  As of 2013-02, the very latest lambda 8 Line 1485  As of 2013-02, the very latest lambda 8
1485    </target>    </target>
1486    
1487    
   <target name="jsr166edist-clean"  
           description="Removes all build and distribution products">  
   
   </target>  
   
1488    <target name="jsr166edist-jar"    <target name="jsr166edist-jar"
1489            depends="jsr166eclean, jsr166ejar">            depends="jsr166eclean, jsr166ejar">
1490      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
# Line 1026  As of 2013-02, the very latest lambda 8 Line 1500  As of 2013-02, the very latest lambda 8
1500    
1501    <target name="lint">    <target name="lint">
1502      <antcall target="dists">      <antcall target="dists">
1503          <param name="build.javadoc.access" value="public"/>
1504        </antcall>
1505      </target>
1506    
1507    <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1508      <target name="lint-private">
1509        <antcall target="dist">
1510        <param name="build.javadoc.access" value="private"/>        <param name="build.javadoc.access" value="private"/>
1511      </antcall>      </antcall>
1512    </target>    </target>
1513    
1514    <!-- ==============================================================
1515      Running guava tests against jsr166 code
1516    =================================================================== -->
1517    
1518    <!-- <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" -->
1519    <!--   organisation="com.google.guava" module="guava-testlib" revision="21.0"/> -->
1520    <!-- <property name="guava.version" value="21.0"/> -->
1521    
1522    <!-- HOWTO debug print a path id -->
1523    <!-- <pathconvert property="guava.testlib.classpath" refid="guava.testlib.classpath" /> -->
1524    <!-- <echo message="guava.testlib.classpath=${guava.testlib.classpath}"/> -->
1525    
1526    <!-- <ivy:retrieve pathid="guava.tests.classpath" type="jar" inline="true" conf="*" pattern="${lib.dir}/[type]/[artifact].[ext]" -->
1527    <!--   organisation="com.google.guava" module="guava-tests"/> -->
1528    <!-- <get src="http://repo2.maven.org/maven2/com/google/guava/guava-tests/${guava.version}/guava-tests-${guava.version}-tests.jar" -->
1529    <!--   dest="${lib.dir}/jar/guava-tests-tests.jar" usetimestamp="true"/> -->
1530    <!--     <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" type="*" -->
1531    <!--       organisation="com.google.guava" module="guava-testlib" revision="${guava.version}"/> -->
1532    
1533    <!-- <test name="com.google.common.collect.testing.TestsForQueuesInJavaUtil"/> -->
1534    <!-- <test name="com.google.common.collect.testing.TestsForListsInJavaUtil"/> -->
1535    <!-- <test name="com.google.common.collect.testing.TestsForSetsInJavaUtil"/> -->
1536    <!-- <test name="com.google.common.collect.testing.TestsForMapsInJavaUtil"/> -->
1537    
1538    <!-- <ivy:retrieve pathid="guava.testlib.classpath" -->
1539    <!--   type="*" inline="true" conf="*(private),*(public)" -->
1540    <!--   pattern="${guava.dir}/[artifact].[ext]" -->
1541    <!--   organisation="com.google.guava" module="guava-testlib"/> -->
1542    
1543    <!-- Work around bug below by downloading guava-testlib-tests.jar "by hand": -->
1544    <!-- https://issues.apache.org/jira/browse/IVY-1444 -->
1545    <!-- maven tests artifacts cannot be downloaded because they are mapped to private configurations -->
1546    
1547      <target name="init-ivy">
1548        <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.4.0/ivy-2.4.0.jar"
1549             dest="${build.dir}/ivy.jar" usetimestamp="true" skipexisting="true"/>
1550        <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"
1551                 classpath="${build.dir}/ivy.jar"/>
1552      </target>
1553    
1554      <target name="guava-tests" depends="jar, init-ivy"
1555              description="Guava tests run against jsr166 collections">
1556        <property name="guava.dir" value="${build.dir}/guava-testlib"/>
1557        <mkdir dir="${guava.dir}"/>
1558        <ivy:retrieve pathid="guava.testlib.classpath"
1559          type="jar,bundle" inline="true" conf="default,master"
1560          pattern="${guava.dir}/[artifact].[ext]"
1561          organisation="com.google.guava" module="guava-testlib"/>
1562        <property name="guava.version" value="21.0"/>
1563        <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"
1564             dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1565        <junit printsummary="true" showoutput="true" haltonfailure="true"
1566               jvm="${java9}" fork="true">
1567          <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>
1568          <formatter type="brief"/>
1569          <classpath>
1570            <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>
1571            <path refid="guava.testlib.classpath"/>
1572          </classpath>
1573    
1574          <!-- "6" in "OpenJdk6Tests" misleadingly means "6+" -->
1575          <test name="com.google.common.collect.testing.OpenJdk6Tests"/>
1576        </junit>
1577      </target>
1578    
1579  </project>  </project>

Legend:
Removed from v.1.144  
changed lines
  Added in v.1.235

dl@cs.oswego.edu
ViewVC Help
Powered by ViewVC 1.1.27