/[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.233 by jsr166, Wed Feb 15 19:27:33 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="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
257          <compilerarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
258        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
259        <javac-elements/>        <javac-elements/>
260    
# Line 215  As of 2013-02, the very latest lambda 8 Line 264  As of 2013-02, the very latest lambda 8
264            failonerror="true"            failonerror="true"
265            jvm="${java@{target}}"            jvm="${java@{target}}"
266            fork="true">            fork="true">
267          <jvmarg value="-Xbootclasspath/p:@{classes}"/>          <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
268            <jvmarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
269            <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" if:set="modules"/>
270            <jvmarg value="--add-opens=java.base/java.util=ALL-UNNAMED" if:set="modules"/>
271            <jvmarg value="--add-opens=java.base/java.util.concurrent=ALL-UNNAMED" if:set="modules"/>
272            <jvmarg value="--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED" if:set="modules"/>
273            <jvmarg value="--add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED" if:set="modules"/>
274          <jvmarg line="@{jvmflags}"/>          <jvmarg line="@{jvmflags}"/>
275          <sysproperty key="jsr166.profileTests"     value="${jsr166.profileTests}"/>          <!-- ant -Dvmoptions="-Xmx8m" -Djsr166.tckTestClass=CompletableFutureTest tck -->
276          <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>          <jvmarg line="${vmoptions}" if:set="vmoptions"/>
277          <sysproperty key="jsr166.runsPerTest"      value="${jsr166.runsPerTest}"/>  
278            <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
279            <syspropertyset id="system-properties-used-by-tck">
280              <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
281              <propertyref prefix="jsr166."/>
282              <propertyref name="test.timeout.factor"/>
283            </syspropertyset>
284    
285          <classpath>          <classpath>
286            <pathelement location="${junit.jar}"/>            <pathelement location="${junit.jar}"/>
287            <pathelement location="@{workdir}/tck-classes"/>            <pathelement location="@{workdir}/tck-classes"/>
# Line 229  As of 2013-02, the very latest lambda 8 Line 291  As of 2013-02, the very latest lambda 8
291      </sequential>      </sequential>
292    </macrodef>    </macrodef>
293    
294      <!-- Define jtreg test sets for different jdk versions -->
295      <fileset dir="${jtreg9.src.dir}">
296        <patternset id="jdk9.jtreg.tests">
297          <include name="**/*.java"/>
298        </patternset>
299      </fileset>
300    
301      <fileset dir="${jtreg8.src.dir}">
302        <patternset id="jdk8.jtreg.tests">
303          <include name="**/*.java"/>
304        </patternset>
305      </fileset>
306    
307      <fileset dir="${jtreg7.src.dir}">
308        <patternset id="jdk7.jtreg.tests">
309          <include name="**/*.java"/>
310        </patternset>
311      </fileset>
312    
313      <!-- ant -Djtreg.flags=-timeoutFactor:4 -->
314      <property name="jtreg.flags" value=""/>
315    
316    <macrodef name="run-jtreg-tests">    <macrodef name="run-jtreg-tests">
317      <attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/>      <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
318      <attribute name="source" default="7"/>      <attribute name="source" default="7"/>
319      <attribute name="target"/>      <attribute name="target"/>
320      <attribute name="workdir"/>      <attribute name="workdir"/>
321      <attribute name="classes"/>      <attribute name="classes"/>
322      <attribute name="jtregflags" default=""/>      <attribute name="jtregflags" default=""/>
323    
324      <sequential>      <sequential>
325    
326        <!-- ant -Djtreg.verbose=time,fail,error jtreg -->
327        <property name="jtreg.verbose" value="nopass,fail,error"/>
328    
329        <local name="modules"/>
330        <condition property="modules">
331          <available file="${jdk@{target}.home}/jmods" type="dir"/>
332        </condition>
333    
334      <delete dir="@{workdir}/JTwork"   quiet="true"/>      <delete dir="@{workdir}/JTwork"   quiet="true"/>
335      <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}"  
336             jdk="${jdk@{target}.home}"             jdk="${jdk@{target}.home}"
337             workDir="@{workdir}/JTwork"             workDir="@{workdir}/JTwork">
338             reportDir="@{workdir}/JTreport">        <patternset refid="jdk@{target}.jtreg.tests"/>
339          <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
340        <arg value="-Xbootclasspath/p:@{classes}"/>        <arg value="-javacoptions:--patch-module java.base=@{classes}" if:set="modules"/>
341          <arg value="-vmoptions:--patch-module java.base=@{classes}" if:set="modules"/>
342        <arg value="-agentvm"/>        <arg value="-agentvm"/>
343        <arg value="-v:nopass,fail"/>        <arg value="-noreport"/>
344          <arg value="-verbose:${jtreg.verbose}"/>
345        <arg value="-vmoptions:-esa -ea"/>        <arg value="-vmoptions:-esa -ea"/>
346        <arg value="-automatic"/>        <arg value="-automatic"/>
347        <arg value="-k:!ignore"/>        <arg value="-k:!ignore"/>
348        <arg line="@{jtregflags}"/>        <arg line="@{jtregflags}"/>
349          <arg line="${jtreg.flags}"/>
350      </jtreg>      </jtreg>
351      </sequential>      </sequential>
352    </macrodef>    </macrodef>
# Line 268  As of 2013-02, the very latest lambda 8 Line 362  As of 2013-02, the very latest lambda 8
362    
363    <!-- Main targets -->    <!-- Main targets -->
364    
365      <property name="build.main.java.version" value="9"/>
366      <property name="build.main.javac" value="${javac9}"/>
367    
368    <target name="dists"    <target name="dists"
369            depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"            depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
370            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
371    
372    <target name="compile"    <target name="compile"
373            depends="configure-compiler"            depends="configure-compiler"
374            description="Compiles src/main sources to build dir">            description="Compiles src/main sources to build dir">
375    
376      <mkdir dir="${build.classes.dir}"/>      <local name="modules"/>
377        <condition property="modules">
378          <and>
379            <available file="${jdk9.home}/jmods" type="dir"/>
380            <equals arg1="9" arg2="${build.main.java.version}"/>
381          </and>
382        </condition>
383    
384        <local name="destdir"/>
385        <property name="destdir" value="${build.classes.dir}/java.base" if:set="modules"/>
386        <property name="destdir" value="${build.classes.dir}" unless:set="modules"/>
387    
388        <mkdir dir="${destdir}"/>
389    
390      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
391             destdir="${build.classes.dir}"             destdir="${destdir}"
392             debug="${build.debug}"             debug="${build.debug}"
393             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
394             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
395             classpath=""             classpath=""
396             includeAntRuntime="false"             includeAntRuntime="false"
397             includeJavaRuntime="false"             includeJavaRuntime="false"
398             executable="${javac8}"             encoding="ASCII"
399               executable="${build.main.javac}"
400             fork="true">             fork="true">
401    
402        <include name="**/*.java"/>        <include name="**/*.java"/>
403          <compilerarg value="-Xmodule:java.base" if:set="modules"/>
404        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
405        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
406        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
407          <compilerarg value="-Werror"/>
408          <compilerarg value="-Xdoclint:all/protected"/>
409          <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
410        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
411    
412      </javac>      </javac>
# Line 301  As of 2013-02, the very latest lambda 8 Line 415  As of 2013-02, the very latest lambda 8
415    
416    <target name="jar"    <target name="jar"
417            depends="compile"            depends="compile"
418            description="Builds library jar from compiled sources">            description="Builds library jar for src/main from compiled sources">
419        <local name="subdir"/>
420        <available property="subdir" file="${build.classes.dir}/java.base" type="dir" value="/java.base"/>
421      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
422        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}${subdir}"/>
423          <manifest>
424            <attribute name="Built-By" value="${user.name}"/>
425            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
426          </manifest>
427      </jar>      </jar>
428    </target>    </target>
429    
# Line 318  As of 2013-02, the very latest lambda 8 Line 437  As of 2013-02, the very latest lambda 8
437      <!-- the packagenames="none" hack below prevents scanning the -->      <!-- the packagenames="none" hack below prevents scanning the -->
438      <!-- sourcepath for packages -->      <!-- sourcepath for packages -->
439    
440    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}" -->
441    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}:${jdk9.src.home}/jdk/src/java.logging/share/classes" -->
442    <!-- TODO: sourcepath="${src.dir}:${jdk9.home}/src.zip" -->
443    <!-- TODO: <arg line="-sourcepath ${src.dir}:${jdk9.home}/src.zip"/> -->
444    <!-- TODO: <arg line="- -module-source-path ${jdk9.home}/src.zip"/> -->
445      <javadoc destdir="${docs.dir}"      <javadoc destdir="${docs.dir}"
446               packagenames="none"               packagenames="none"
447               link="${jdkapi8docs.url}"               link="${java9.api.url}"
448               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
449               access="${build.javadoc.access}"               access="${build.javadoc.access}"
450               sourcepath="${src.dir}:${jdk8src.dir}"               sourcepath="${src.dir}"
451               classpath=""               classpath=""
452               executable="${javadoc8}">               executable="${javadoc9}">
453        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
454          <include name="**/*.java"/>          <include name="**/*.java"/>
455        </fileset>        </fileset>
456          <arg line="-Xdocrootparent ${java9.docroot.url}"/>
457          <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
458        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
459          <arg value="-Xmodule:java.base"/>
460        <arg value="-tag"/>        <arg value="-tag"/>
461        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
462    <!-- @apiNote currently unused -->
463    <!--       <arg value="-tag"/> -->
464    <!--       <arg value="apiNote:a:API Note:"/> -->
465        <arg value="-tag"/>        <arg value="-tag"/>
466        <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>        <arg value="implSpec:a:Implementation Requirements:"/>
467        <arg value="-tag"/>        <arg value="-tag"/>
468        <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>        <arg value="implNote:a:Implementation Note:"/>
469        <arg value="-tag"/>  <!-- tags added in jdk9: currently unused -->
470        <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>  <!--       <arg value="-tag"/> -->
471    <!--       <arg value="revised:X"/> -->
472    <!--       <arg value="-tag"/> -->
473    <!--       <arg value="spec:X"/> -->
474      </javadoc>      </javadoc>
475    </target>    </target>
476    
# Line 361  As of 2013-02, the very latest lambda 8 Line 494  As of 2013-02, the very latest lambda 8
494        <exclude name="src/emulation/**"/>        <exclude name="src/emulation/**"/>
495        <exclude name="**/SyntaxTest.java"/>        <exclude name="**/SyntaxTest.java"/>
496        <exclude name="**/SuperfluousAbstract.java"/>        <exclude name="**/SuperfluousAbstract.java"/>
497          <manifest>
498            <attribute name="Built-By" value="${user.name}"/>
499            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
500          </manifest>
501      </jar>      </jar>
502    </target>    </target>
503    
# Line 376  As of 2013-02, the very latest lambda 8 Line 513  As of 2013-02, the very latest lambda 8
513    <target name="dist-clean"    <target name="dist-clean"
514            description="Removes all build and distribution products">            description="Removes all build and distribution products">
515    
516        <delete dir="${build.dir}"/>
517      <delete dir="${dist.dir}"/>      <delete dir="${dist.dir}"/>
518    
519    </target>    </target>
# Line 391  As of 2013-02, the very latest lambda 8 Line 529  As of 2013-02, the very latest lambda 8
529      <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>      <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
530    </target>    </target>
531    
532      <target name="tck"
   <target name="test-tck"  
533            depends="jar"            depends="jar"
534            description="Runs tck tests for main directly">            description="Runs tck tests for src/main directly">
535    
536      <run-tck-tests      <run-tck-tests
537        target="8"        target="${build.main.java.version}"
538        workdir="${build.dir}"        workdir="${build.dir}"
539        classes="${product.jar}"/>        classes="${product.jar}"/>
540    </target>    </target>
541    
542    <target name="test-jtreg"    <target name="tck-parallelism-1"
543              description="Runs tck with common pool parallelism 1">
544        <antcall target="tck">
545          <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
546        </antcall>
547      </target>
548    
549      <target name="tck-parallelism-0"
550              description="Runs tck with common pool parallelism 0">
551        <antcall target="tck">
552          <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
553        </antcall>
554      </target>
555    
556      <target name="tck-security-manager"
557              description="Runs tck with a security manager">
558        <antcall target="tck">
559          <param name="jsr166.useSecurityManager" value="true"/>
560        </antcall>
561      </target>
562    
563      <target name="jtreg"
564            depends="jar"            depends="jar"
565            description="Runs jtreg tests for main using the jtreg ant task">            description="Runs jtreg tests for src/main using the jtreg ant task">
566      <run-jtreg-tests      <run-jtreg-tests
567         target="8"         target="${build.main.java.version}"
568         workdir="${build.dir}"         workdir="${build.dir}"
569         classes="${product.jar}"/>         classes="${product.jar}"/>
570    </target>    </target>
571    
572    <target name="test"    <target name="test"
573            depends="test-tck, test-jtreg"            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
574            description="Runs tck and jtreg tests for main">            description="Runs tck and jtreg tests for src/main">
575    </target>    </target>
576    
577    <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
578    
579    <!--     <antcall target="jtreg"> -->
580    <!--       <param name="build.main.java.version" value="8"/> -->
581    <!--       <param name="build.main.javac" value="${javac8}"/> -->
582    <!--     </antcall> -->
583    
584    <!--   </target> -->
585    
586    <!--   <target name="test89" -->
587    <!--           description="Runs tck and jtreg tests for src/main for multiple java versions"> -->
588    
589    <!--     <antcall target="clean"/> -->
590    <!--     <antcall target="test"> -->
591    <!--       <param name="build.main.java.version" value="8"/> -->
592    <!--       <param name="build.main.javac" value="${javac8}"/> -->
593    <!--     </antcall> -->
594    
595    <!--     <antcall target="clean"/> -->
596    <!--     <antcall target="test"> -->
597    <!--       <param name="build.main.java.version" value="9"/> -->
598    <!--       <param name="build.main.javac" value="${javac9}"/> -->
599    <!--     </antcall> -->
600    
601    <!--   </target> -->
602    
603    
604    
605    <target name="configure-compiler">    <target name="configure-compiler">
606        <fail message="ant version too old">
607          <condition>
608            <not> <antversion atleast="1.9.1"/> </not>
609          </condition>
610        </fail>
611    
612      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
613    
# Line 439  As of 2013-02, the very latest lambda 8 Line 628  As of 2013-02, the very latest lambda 8
628    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
629    
630    
631    <target name="loops" depends="configure-compiler"    <!-- description="Benchmark from Doug Lea's AQS paper" -->
632            description="Benchmark from Doug Lea's AQS paper">    <target name="loops" depends="configure-compiler">
633    
634      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
635    
# Line 450  As of 2013-02, the very latest lambda 8 Line 639  As of 2013-02, the very latest lambda 8
639         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
640        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
641             source="${build.sourcelevel}"             source="${build.sourcelevel}"
642               target="${build.sourcelevel}"
643             encoding="ASCII"
644               fork="true">               fork="true">
645    
646        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 465  As of 2013-02, the very latest lambda 8 Line 656  As of 2013-02, the very latest lambda 8
656    </target>    </target>
657    
658    
659      <target name="compile-test-loops" depends="jar"
660              description="compile all the perf tests in src/test/loops">
661    
662        <mkdir dir="${build.dir}/test/loops"/>
663    
664        <javac srcdir="${basedir}/src/test/loops"
665               destdir="${build.dir}/test/loops"
666               debug="${build.debug}"
667               debuglevel="${build.debuglevel}"
668               deprecation="${build.deprecation}"
669               includeAntRuntime="false"
670               includeJavaRuntime="false"
671               encoding="ASCII"
672               executable="${javac9}"
673               fork="true">
674    
675          <include name="*.java"/>
676          <compilerarg value="-XDignore.symbol.file=true"/>
677          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
678          <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
679          <compilerarg line="${build.args}"/>
680    
681        </javac>
682    
683      </target>
684    
685    
686      <!-- jsr166 4jdk8 -->
687    
688      <target name="4jdk8compile"
689              depends="configure-compiler"
690              description="Compiles src/jdk8 sources, targeting jdk8">
691    
692        <mkdir dir="${build.4jdk8.classes.dir}"/>
693    
694        <javac srcdir="${4jdk8src.dir}"
695               destdir="${build.4jdk8.classes.dir}"
696               debug="${build.debug}"
697               debuglevel="${build.debuglevel}"
698               deprecation="${build.deprecation}"
699               source="8"
700               target="8"
701               classpath=""
702               bootclasspath="${bootclasspath8}"
703               includeAntRuntime="false"
704               includeJavaRuntime="false"
705               encoding="ASCII"
706               executable="${javac8}"
707               fork="true">
708    
709          <include name="**/*.java"/>
710          <compilerarg value="-Xprefer:source"/>
711          <compilerarg value="-XDignore.symbol.file=true"/>
712          <compilerarg value="-Xlint:all"/>
713          <compilerarg value="-Werror"/>
714          <compilerarg line="${build.args}"/>
715    
716        </javac>
717      </target>
718    
719      <target name="4jdk8doclint"
720              depends="configure-compiler"
721              description="Finds doclint warnings">
722    
723        <mkdir dir="${build.4jdk8.classes.dir}"/>
724    
725        <javac srcdir="${4jdk8src.dir}"
726               destdir="${build.4jdk8.classes.dir}"
727               debug="${build.debug}"
728               debuglevel="${build.debuglevel}"
729               deprecation="${build.deprecation}"
730               source="8"
731               target="8"
732               classpath=""
733               bootclasspath="${bootclasspath8}"
734               includeAntRuntime="false"
735               includeJavaRuntime="false"
736               encoding="ASCII"
737               executable="${javac8}"
738               fork="true">
739    
740          <include name="**/*.java"/>
741          <compilerarg value="-Xprefer:source"/>
742          <compilerarg value="-XDignore.symbol.file=true"/>
743          <compilerarg value="-Xlint:all"/>
744          <compilerarg value="-Xdoclint:all/protected"/>
745          <compilerarg line="${build.args}"/>
746    
747        </javac>
748      </target>
749    
750    
751      <target name="4jdk8jar"
752              depends="4jdk8compile"
753              description="Builds library jar from compiled sources">
754    
755        <jar destfile="${4jdk8product.jar}">
756          <fileset dir="${build.4jdk8.classes.dir}"/>
757          <manifest>
758            <attribute name="Built-By" value="${user.name}"/>
759            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
760          </manifest>
761        </jar>
762    
763      </target>
764    
765    
766      <target name="4jdk8-tck"
767              depends="4jdk8jar"
768              description="Runs tck tests for jsr166-4jdk8 directly">
769    
770        <run-tck-tests
771          target="8"
772          workdir="${build.4jdk8.dir}"
773          classes="${4jdk8product.jar}">
774          <javac-elements>
775            <!-- JDK9+ test classes -->
776            <exclude name="*9Test.java"/>
777            <exclude name="*10Test.java"/>
778          </javac-elements>
779        </run-tck-tests>
780      </target>
781    
782    
783      <target name="4jdk8-jtreg"
784              depends="4jdk8jar"
785              description="Runs jtreg tests for jsr166-4jdk8 using the jtreg ant task">
786        <run-jtreg-tests
787           target="8"
788           workdir="${build.4jdk8.dir}"
789           classes="${4jdk8product.jar}"/>
790      </target>
791    
792    
793      <target name="4jdk8-test"
794              depends="4jdk8-tck, 4jdk8-jtreg"
795              description="Runs tck and jtreg tests for jsr166-4jdk8">
796      </target>
797    
798    
799      <target name="4jdk8docs"
800              description="Builds javadocs for src/jdk8 to dist dir">
801    
802        <delete dir="${4jdk8docs.dir}"/>
803        <mkdir dir="${4jdk8docs.dir}"/>
804    
805        <javadoc destdir="${4jdk8docs.dir}"
806                 packagenames="none"
807                 link="${java8.api.url}"
808                 overview="${4jdk8src.dir}/intro.html"
809                 access="${build.javadoc.access}"
810                 sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
811                 classpath=""
812                 executable="${javadoc8}"
813                 failonerror = "true">
814          <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
815            <include name="**/*.java"/>
816          </fileset>
817          <arg line="-Xdocrootparent ${java8.docroot.url}"/>
818          <arg value="-XDignore.symbol.file=true"/>
819          <arg value="-tag"/>
820          <arg value="${javadoc.jls.option}"/>
821    <!-- @apiNote currently unused -->
822    <!--       <arg value="-tag"/> -->
823    <!--       <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/> -->
824          <arg value="-tag"/>
825          <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
826          <arg value="-tag"/>
827          <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
828        </javadoc>
829      </target>
830    
831    
832      <target name="4jdk8dist"
833              depends="4jdk8dist-jar, 4jdk8dist-docs"
834              description="Puts all distributable products in single hierarchy"/>
835    
836    
837      <target name="4jdk8clean"
838              description="Removes all 4jdk8 build products">
839    
840        <delete dir="${build.4jdk8.dir}"/>
841    
842      </target>
843    
844    
845      <target name="4jdk8dist-jar"
846              depends="4jdk8clean, 4jdk8jar">
847        <copy file="${4jdk8product.jar}" todir="${dist.dir}"/>
848      </target>
849    
850    
851      <target name="4jdk8dist-docs"
852              depends="4jdk8clean, 4jdk8docs">
853        <mirror-dir src="${4jdk8docs.dir}" dst="${dist.4jdk8docs.dir}"/>
854      </target>
855    
856    
857    
858    <!-- jsr166 4jdk7 -->    <!-- jsr166 4jdk7 -->
859    
860    <target name="4jdk7compile"    <target name="4jdk7compile"
# Line 479  As of 2013-02, the very latest lambda 8 Line 869  As of 2013-02, the very latest lambda 8
869             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
870             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
871             source="6"             source="6"
872               target="6"
873             classpath=""             classpath=""
874             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
875             includeAntRuntime="false"             includeAntRuntime="false"
876             includeJavaRuntime="false"             includeJavaRuntime="false"
877               encoding="ASCII"
878             executable="${javac7}"             executable="${javac7}"
879             fork="true">             fork="true">
880    
# Line 490  As of 2013-02, the very latest lambda 8 Line 882  As of 2013-02, the very latest lambda 8
882        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
883        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
884        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
885          <compilerarg value="-Werror"/>
886          <compilerarg line="${build.args}"/>
887    
888        </javac>
889      </target>
890    
891      <target name="4jdk7doclint"
892              depends="configure-compiler"
893              description="Finds doclint warnings">
894    
895        <mkdir dir="${build.4jdk7.classes.dir}"/>
896    
897        <javac srcdir="${4jdk7src.dir}"
898               destdir="${build.4jdk7.classes.dir}"
899               debug="${build.debug}"
900               debuglevel="${build.debuglevel}"
901               deprecation="${build.deprecation}"
902               source="6"
903               target="6"
904               classpath=""
905               bootclasspath="${bootclasspath6}"
906               includeAntRuntime="false"
907               includeJavaRuntime="false"
908               encoding="ASCII"
909               executable="${javac8}"
910               fork="true">
911    
912          <include name="**/*.java"/>
913          <compilerarg value="-Xprefer:source"/>
914          <compilerarg value="-XDignore.symbol.file=true"/>
915          <compilerarg value="-Xlint:all"/>
916          <compilerarg value="-Xdoclint:all/protected"/>
917        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
918    
919      </javac>      </javac>
# Line 502  As of 2013-02, the very latest lambda 8 Line 926  As of 2013-02, the very latest lambda 8
926    
927      <jar destfile="${4jdk7product.jar}">      <jar destfile="${4jdk7product.jar}">
928        <fileset dir="${build.4jdk7.classes.dir}"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
929          <manifest>
930            <attribute name="Built-By" value="${user.name}"/>
931            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
932          </manifest>
933      </jar>      </jar>
934    
935    </target>    </target>
936    
937    
938    <target name="4jdk7-test-tck"    <target name="4jdk7-tck"
939            depends="4jdk7jar"            depends="4jdk7jar"
940            description="Runs tck tests for jsr166-4jdk7 directly">            description="Runs tck tests for jsr166-4jdk7 directly">
941    
# Line 518  As of 2013-02, the very latest lambda 8 Line 946  As of 2013-02, the very latest lambda 8
946        <javac-elements>        <javac-elements>
947          <!-- JDK8+ test classes -->          <!-- JDK8+ test classes -->
948          <exclude name="*8Test.java"/>          <exclude name="*8Test.java"/>
949            <exclude name="*9Test.java"/>
950            <exclude name="*10Test.java"/>
951          <exclude name="DoubleAccumulatorTest.java"/>          <exclude name="DoubleAccumulatorTest.java"/>
952          <exclude name="DoubleAdderTest.java"/>          <exclude name="DoubleAdderTest.java"/>
953          <exclude name="LongAccumulatorTest.java"/>          <exclude name="LongAccumulatorTest.java"/>
954          <exclude name="LongAdderTest.java"/>          <exclude name="LongAdderTest.java"/>
955          <exclude name="CompletableFutureTest.java"/>          <exclude name="CompletableFutureTest.java"/>
956            <exclude name="SplittableRandomTest.java"/>
957          <exclude name="StampedLockTest.java"/>          <exclude name="StampedLockTest.java"/>
958            <exclude name="SubmissionPublisherTest.java"/>
959        </javac-elements>        </javac-elements>
960      </run-tck-tests>      </run-tck-tests>
961    </target>    </target>
962    
963    
964    <target name="4jdk7-test-tck-junit"    <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
965            depends="4jdk7compile"    <target name="4jdk7-tck-junit"
966            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">            depends="4jdk7compile">
967    
968      <junit printsummary="true"      <junit printsummary="true"
969             showoutput="true"             showoutput="true"
# Line 557  As of 2013-02, the very latest lambda 8 Line 989  As of 2013-02, the very latest lambda 8
989      </junit>      </junit>
990    </target>    </target>
991    
992    <target name="4jdk7-test-jtreg"    <target name="4jdk7-jtreg"
993            depends="4jdk7jar"            depends="4jdk7jar"
994            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
995      <run-jtreg-tests      <run-jtreg-tests
996         target="7"         target="7"
997         workdir="${build.4jdk7.dir}"         workdir="${build.4jdk7.dir}"
998         classes="${4jdk7product.jar}"         classes="${4jdk7product.jar}"/>
        jtregflags="-exclude:${jtreg.src.dir}/jdk8tests"/>  
999    </target>    </target>
1000    
1001    
1002    <target name="4jdk7-test"    <target name="4jdk7-test"
1003            depends="4jdk7-test-tck, 4jdk7-test-jtreg"            depends="4jdk7-tck, 4jdk7-jtreg"
1004            description="Runs tck and jtreg tests for jsr166-4jdk7">            description="Runs tck and jtreg tests for jsr166-4jdk7">
1005    </target>    </target>
1006    
# Line 582  As of 2013-02, the very latest lambda 8 Line 1013  As of 2013-02, the very latest lambda 8
1013    
1014      <javadoc destdir="${4jdk7docs.dir}"      <javadoc destdir="${4jdk7docs.dir}"
1015               packagenames="none"               packagenames="none"
1016               link="${jdkapi7docs.url}"               link="${java7.api.url}"
1017               overview="${4jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
1018               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1019               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
1020               classpath=""               classpath=""
1021               executable="${javadoc7}">               executable="${javadoc7}"
1022                 failonerror = "true">
1023        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
1024          <include name="**/*.java"/>          <include name="**/*.java"/>
1025        </fileset>        </fileset>
1026          <arg line="-Xdocrootparent ${java7.docroot.url}"/>
1027        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1028      </javadoc>      </javadoc>
1029    </target>    </target>
# Line 609  As of 2013-02, the very latest lambda 8 Line 1042  As of 2013-02, the very latest lambda 8
1042    </target>    </target>
1043    
1044    
   <target name="4jdk7dist-clean"  
           description="Removes all build and distribution products">  
   
   </target>  
   
1045    <target name="4jdk7dist-jar"    <target name="4jdk7dist-jar"
1046            depends="4jdk7clean, 4jdk7jar">            depends="4jdk7clean, 4jdk7jar">
1047      <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 1070  As of 2013-02, the very latest lambda 8
1070             classpath=""             classpath=""
1071             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1072             source="5"             source="5"
1073               target="5"
1074             includeAntRuntime="false"             includeAntRuntime="false"
1075             includeJavaRuntime="false"             includeJavaRuntime="false"
1076               encoding="ASCII"
1077             executable="${javac7}"             executable="${javac7}"
1078             fork="true">             fork="true">
1079    
1080        <include name="jsr166x/**/*.java"/>        <include name="jsr166x/**/*.java"/>
1081        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1082        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
1083          <compilerarg value="-Werror"/>
1084        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
1085    
1086      </javac>      </javac>
# Line 662  As of 2013-02, the very latest lambda 8 Line 1093  As of 2013-02, the very latest lambda 8
1093    
1094      <jar destfile="${jsr166x.jar}">      <jar destfile="${jsr166x.jar}">
1095        <fileset dir="${build.jsr166x.classes.dir}"/>        <fileset dir="${build.jsr166x.classes.dir}"/>
1096          <manifest>
1097            <attribute name="Built-By" value="${user.name}"/>
1098            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1099          </manifest>
1100      </jar>      </jar>
1101    
1102    </target>    </target>
# Line 675  As of 2013-02, the very latest lambda 8 Line 1110  As of 2013-02, the very latest lambda 8
1110    
1111      <javadoc destdir="${jsr166xdocs.dir}"      <javadoc destdir="${jsr166xdocs.dir}"
1112               packagenames="jsr166x.*"               packagenames="jsr166x.*"
1113               link="${jdkapidocs.url}"               link="${java.api.url}"
1114               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1115               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1116               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1117               source="5"               source="5"
1118               executable="${javadoc7}">               executable="${javadoc7}"
1119                 failonerror = "true">
1120          <arg line="-Xdocrootparent ${java.docroot.url}"/>
1121        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1122    
1123      </javadoc>      </javadoc>
# Line 700  As of 2013-02, the very latest lambda 8 Line 1137  As of 2013-02, the very latest lambda 8
1137    </target>    </target>
1138    
1139    
   <target name="jsr166xdist-clean"  
           description="Removes all build and distribution products">  
   
   </target>  
   
   
1140    <target name="jsr166xdist-jar"    <target name="jsr166xdist-jar"
1141            depends="jsr166xclean, jsr166xjar">            depends="jsr166xclean, jsr166xjar">
1142      <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 1162  As of 2013-02, the very latest lambda 8
1162             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1163             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1164             source="6"             source="6"
1165               target="6"
1166             classpath=""             classpath=""
1167             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1168             includeAntRuntime="false"             includeAntRuntime="false"
1169             includeJavaRuntime="false"             includeJavaRuntime="false"
1170               encoding="ASCII"
1171             executable="${javac7}"             executable="${javac7}"
1172             fork="true">             fork="true">
1173    
1174        <include name="jsr166y/**/*.java"/>        <include name="jsr166y/**/*.java"/>
1175        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1176        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1177          <compilerarg value="-Werror"/>
1178        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
1179    
1180      </javac>      </javac>
# Line 753  As of 2013-02, the very latest lambda 8 Line 1187  As of 2013-02, the very latest lambda 8
1187    
1188      <jar destfile="${jsr166y.jar}" index="true">      <jar destfile="${jsr166y.jar}" index="true">
1189        <fileset dir="${build.jsr166y.classes.dir}"/>        <fileset dir="${build.jsr166y.classes.dir}"/>
1190          <manifest>
1191            <attribute name="Built-By" value="${user.name}"/>
1192            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1193          </manifest>
1194      </jar>      </jar>
1195    
1196    </target>    </target>
# Line 766  As of 2013-02, the very latest lambda 8 Line 1204  As of 2013-02, the very latest lambda 8
1204    
1205      <javadoc destdir="${jsr166ydocs.dir}"      <javadoc destdir="${jsr166ydocs.dir}"
1206               packagenames="jsr166y.*"               packagenames="jsr166y.*"
1207               link="${jdkapidocs.url}"               link="${java.api.url}"
1208               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1209               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1210               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1211               source="6"               source="6"
1212               executable="${javadoc7}">               executable="${javadoc7}"
1213                 failonerror = "true">
1214          <arg line="-Xdocrootparent ${java.docroot.url}"/>
1215        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1216    
1217      </javadoc>      </javadoc>
# Line 791  As of 2013-02, the very latest lambda 8 Line 1231  As of 2013-02, the very latest lambda 8
1231    </target>    </target>
1232    
1233    
   <target name="jsr166ydist-clean"  
           description="Removes all build and distribution products">  
   
   </target>  
   
1234    <target name="jsr166ydist-jar"    <target name="jsr166ydist-jar"
1235            depends="jsr166yclean, jsr166yjar">            depends="jsr166yclean, jsr166yjar">
1236      <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 1259  As of 2013-02, the very latest lambda 8
1259             bootclasspath="@{jsr166y.jar}:${bootclasspath6}"             bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1260             classpath=""             classpath=""
1261             source="6"             source="6"
1262               target="6"
1263             includeAntRuntime="false"             includeAntRuntime="false"
1264             includeJavaRuntime="false"             includeJavaRuntime="false"
1265               encoding="ASCII"
1266             executable="${javac7}"             executable="${javac7}"
1267             fork="true">             fork="true">
1268    
1269        <include name="extra166y/**/*.java"/>        <include name="extra166y/**/*.java"/>
1270        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1271        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1272          <compilerarg value="-Werror"/>
1273        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
1274    
1275      </javac>      </javac>
# Line 844  As of 2013-02, the very latest lambda 8 Line 1282  As of 2013-02, the very latest lambda 8
1282    
1283      <jar destfile="${extra166y.jar}" index="true">      <jar destfile="${extra166y.jar}" index="true">
1284        <fileset dir="${build.extra166y.classes.dir}"/>        <fileset dir="${build.extra166y.classes.dir}"/>
1285          <manifest>
1286            <attribute name="Built-By" value="${user.name}"/>
1287            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1288          </manifest>
1289      </jar>      </jar>
1290    
1291    </target>    </target>
# Line 857  As of 2013-02, the very latest lambda 8 Line 1299  As of 2013-02, the very latest lambda 8
1299    
1300      <javadoc destdir="${extra166ydocs.dir}"      <javadoc destdir="${extra166ydocs.dir}"
1301               packagenames="extra166y.*"               packagenames="extra166y.*"
1302               link="${jdkapidocs.url}"               link="${java.api.url}"
1303               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1304               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1305               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1306               source="6"               source="6"
1307               executable="${javadoc7}">               executable="${javadoc7}">
1308          <arg line="-Xdocrootparent ${java.docroot.url}"/>
1309        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1310    
1311      </javadoc>      </javadoc>
# Line 882  As of 2013-02, the very latest lambda 8 Line 1325  As of 2013-02, the very latest lambda 8
1325    </target>    </target>
1326    
1327    
   <target name="extra166ydist-clean"  
           description="Removes all build and distribution products">  
   
   </target>  
   
1328    <target name="extra166ydist-jar"    <target name="extra166ydist-jar"
1329            depends="extra166yclean, extra166yjar">            depends="extra166yclean, extra166yjar">
1330      <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 1352  As of 2013-02, the very latest lambda 8
1352             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
1353             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
1354             source="${build.jsr166e.java.version}"             source="${build.jsr166e.java.version}"
1355               target="${build.jsr166e.java.version}"
1356             classpath=""             classpath=""
1357             includeAntRuntime="false"             includeAntRuntime="false"
1358             includeJavaRuntime="false"             includeJavaRuntime="false"
# Line 923  As of 2013-02, the very latest lambda 8 Line 1362  As of 2013-02, the very latest lambda 8
1362        <include name="jsr166e/**/*.java"/>        <include name="jsr166e/**/*.java"/>
1363        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1364        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1365          <compilerarg value="-Werror"/>
1366        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
1367    
1368      </javac>      </javac>
1369    </target>    </target>
1370    
1371      <!-- jsr166e: find doclint errors -->
1372      <target name="jsr166edoclint">
1373    
1374        <mkdir dir="${build.jsr166e.classes.dir}"/>
1375    
1376        <javac srcdir="${topsrc.dir}"
1377               destdir="${build.jsr166e.classes.dir}"
1378               debug="${build.debug}"
1379               debuglevel="${build.debuglevel}"
1380               deprecation="${build.deprecation}"
1381               source="${build.jsr166e.java.version}"
1382               target="${build.jsr166e.java.version}"
1383               classpath=""
1384               bootclasspath="${bootclasspath6}"
1385               includeAntRuntime="false"
1386               includeJavaRuntime="false"
1387               executable="${javac8}"
1388               fork="true">
1389    
1390          <include name="jsr166e/**/*.java"/>
1391          <compilerarg value="-XDignore.symbol.file=true"/>
1392          <compilerarg value="-Xlint:all"/>
1393          <compilerarg value="-Werror"/>
1394          <compilerarg value="-Xdoclint:all/protected"/>
1395    
1396        </javac>
1397      </target>
1398    
1399    
1400    <target name="jsr166ejar"    <target name="jsr166ejar"
1401            depends="jsr166ecompile"            depends="jsr166ecompile"
# Line 935  As of 2013-02, the very latest lambda 8 Line 1403  As of 2013-02, the very latest lambda 8
1403    
1404      <jar destfile="${jsr166e.jar}" index="true">      <jar destfile="${jsr166e.jar}" index="true">
1405        <fileset dir="${build.jsr166e.classes.dir}"/>        <fileset dir="${build.jsr166e.classes.dir}"/>
1406          <manifest>
1407            <attribute name="Built-By" value="${user.name}"/>
1408            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1409          </manifest>
1410      </jar>      </jar>
1411    
1412    </target>    </target>
# Line 948  As of 2013-02, the very latest lambda 8 Line 1420  As of 2013-02, the very latest lambda 8
1420    
1421      <javadoc destdir="${jsr166edocs.dir}"      <javadoc destdir="${jsr166edocs.dir}"
1422               packagenames="jsr166e.*"               packagenames="jsr166e.*"
1423               link="${jdkapidocs.url}"               link="${java.api.url}"
1424               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1425               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1426               source="${build.jsr166e.java.version}"               source="${build.jsr166e.java.version}"
1427               executable="${javadoc7}">               executable="${javadoc7}"
1428                 failonerror = "true">
1429          <arg line="-Xdocrootparent ${java.docroot.url}"/>
1430        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1431    
1432      </javadoc>      </javadoc>
1433    </target>    </target>
1434    
1435    
1436    <target name="jsr166e-test-tck-one-java-version"    <target name="jsr166e-tck-one-java-version"
1437            depends="jsr166ejar"            depends="jsr166ejar">
           description="Runs tck tests for jsr166e">  
1438    
1439      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1440    
# Line 972  As of 2013-02, the very latest lambda 8 Line 1445  As of 2013-02, the very latest lambda 8
1445        classes="${jsr166e.jar}"/>        classes="${jsr166e.jar}"/>
1446    </target>    </target>
1447    
1448    <target name="jsr166e-test-tck"    <target name="jsr166e-tck"
1449            description="Runs tck tests for jsr166e for multiple java versions">            description="Runs tck tests for jsr166e for multiple java versions">
1450    
1451  <!--     <antcall target="clean"/> -->  <!--     <antcall target="clean"/> -->
1452  <!--     <antcall target="jsr166e-test-tck-one-java-version"> -->  <!--     <antcall target="jsr166e-tck-one-java-version"> -->
1453  <!--       <param name="build.jsr166e.java.version" value="8"/> -->  <!--       <param name="build.jsr166e.java.version" value="8"/> -->
1454  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->
1455  <!--     </antcall> -->  <!--     </antcall> -->
1456    
1457      <antcall target="clean"/>      <antcall target="clean"/>
1458      <antcall target="jsr166e-test-tck-one-java-version">      <antcall target="jsr166e-tck-one-java-version">
1459        <param name="build.jsr166e.java.version" value="7"/>        <param name="build.jsr166e.java.version" value="7"/>
1460        <param name="build.jsr166e.javac" value="${javac7}"/>        <param name="build.jsr166e.javac" value="${javac7}"/>
1461      </antcall>      </antcall>
1462    
1463      <antcall target="clean"/>      <antcall target="clean"/>
1464      <antcall target="jsr166e-test-tck-one-java-version">      <antcall target="jsr166e-tck-one-java-version">
1465        <param name="build.jsr166e.java.version" value="6"/>        <param name="build.jsr166e.java.version" value="6"/>
1466        <param name="build.jsr166e.javac" value="${javac6}"/>        <param name="build.jsr166e.javac" value="${javac6}"/>
1467      </antcall>      </antcall>
1468    </target>    </target>
1469    
1470    
1471      <target name="jsr166e-test"
1472              depends="jsr166e-tck"
1473              description="Runs all tests for jsr166e">
1474      </target>
1475    
1476    <target name="jsr166edist"    <target name="jsr166edist"
1477            depends="jsr166edist-jar, jsr166edist-docs"            depends="jsr166edist-jar, jsr166edist-docs"
1478            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 1484  As of 2013-02, the very latest lambda 8
1484    </target>    </target>
1485    
1486    
   <target name="jsr166edist-clean"  
           description="Removes all build and distribution products">  
   
   </target>  
   
1487    <target name="jsr166edist-jar"    <target name="jsr166edist-jar"
1488            depends="jsr166eclean, jsr166ejar">            depends="jsr166eclean, jsr166ejar">
1489      <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 1499  As of 2013-02, the very latest lambda 8
1499    
1500    <target name="lint">    <target name="lint">
1501      <antcall target="dists">      <antcall target="dists">
1502          <param name="build.javadoc.access" value="public"/>
1503        </antcall>
1504      </target>
1505    
1506    <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1507      <target name="lint-private">
1508        <antcall target="dist">
1509        <param name="build.javadoc.access" value="private"/>        <param name="build.javadoc.access" value="private"/>
1510      </antcall>      </antcall>
1511    </target>    </target>
1512    
1513    <!-- ==============================================================
1514      Running guava tests against jsr166 code
1515    =================================================================== -->
1516    
1517    <!-- <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" -->
1518    <!--   organisation="com.google.guava" module="guava-testlib" revision="21.0"/> -->
1519    <!-- <property name="guava.version" value="21.0"/> -->
1520    
1521    <!-- HOWTO debug print a path id -->
1522    <!-- <pathconvert property="guava.testlib.classpath" refid="guava.testlib.classpath" /> -->
1523    <!-- <echo message="guava.testlib.classpath=${guava.testlib.classpath}"/> -->
1524    
1525    <!-- <ivy:retrieve pathid="guava.tests.classpath" type="jar" inline="true" conf="*" pattern="${lib.dir}/[type]/[artifact].[ext]" -->
1526    <!--   organisation="com.google.guava" module="guava-tests"/> -->
1527    <!-- <get src="http://repo2.maven.org/maven2/com/google/guava/guava-tests/${guava.version}/guava-tests-${guava.version}-tests.jar" -->
1528    <!--   dest="${lib.dir}/jar/guava-tests-tests.jar" usetimestamp="true"/> -->
1529    <!--     <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" type="*" -->
1530    <!--       organisation="com.google.guava" module="guava-testlib" revision="${guava.version}"/> -->
1531    
1532    <!-- <test name="com.google.common.collect.testing.TestsForQueuesInJavaUtil"/> -->
1533    <!-- <test name="com.google.common.collect.testing.TestsForListsInJavaUtil"/> -->
1534    <!-- <test name="com.google.common.collect.testing.TestsForSetsInJavaUtil"/> -->
1535    <!-- <test name="com.google.common.collect.testing.TestsForMapsInJavaUtil"/> -->
1536    
1537    <!-- <ivy:retrieve pathid="guava.testlib.classpath" -->
1538    <!--   type="*" inline="true" conf="*(private),*(public)" -->
1539    <!--   pattern="${guava.dir}/[artifact].[ext]" -->
1540    <!--   organisation="com.google.guava" module="guava-testlib"/> -->
1541    
1542    <!-- Work around bug below by downloading guava-testlib-tests.jar "by hand": -->
1543    <!-- https://issues.apache.org/jira/browse/IVY-1444 -->
1544    <!-- maven tests artifacts cannot be downloaded because they are mapped to private configurations -->
1545    
1546      <target name="init-ivy">
1547        <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.4.0/ivy-2.4.0.jar"
1548             dest="${build.dir}/ivy.jar" usetimestamp="true" skipexisting="true"/>
1549        <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"
1550                 classpath="${build.dir}/ivy.jar"/>
1551      </target>
1552    
1553      <target name="guava-tests" depends="jar, init-ivy"
1554              description="Guava tests run against jsr166 collections">
1555        <property name="guava.dir" value="${build.dir}/guava-testlib"/>
1556        <mkdir dir="${guava.dir}"/>
1557        <ivy:retrieve pathid="guava.testlib.classpath"
1558          type="jar,bundle" inline="true" conf="default,master"
1559          pattern="${guava.dir}/[artifact].[ext]"
1560          organisation="com.google.guava" module="guava-testlib"/>
1561        <property name="guava.version" value="21.0"/>
1562        <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"
1563             dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1564        <junit printsummary="true" showoutput="true" haltonfailure="true"
1565               jvm="${java9}" fork="true">
1566          <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>
1567          <formatter type="brief"/>
1568          <classpath>
1569            <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>
1570            <path refid="guava.testlib.classpath"/>
1571          </classpath>
1572    
1573          <!-- "6" in "OpenJdk6Tests" misleadingly means "6+" -->
1574          <test name="com.google.common.collect.testing.OpenJdk6Tests"/>
1575        </junit>
1576      </target>
1577    
1578  </project>  </project>

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

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