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

Diff of /jsr166/build.xml

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

revision 1.201 by dl, Sat Mar 26 12:35:25 2016 UTC revision 1.247 by jsr166, Fri Jun 16 21:30:00 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">    xmlns:if="ant:if" xmlns:unless="ant:unless"
3      xmlns:ivy="antlib:org.apache.ivy.ant">
4    
5    <description>    <description>
6  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
# Line 7  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 14  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  
   $HOME/jdk/jdk7  
21    $HOME/jdk/jdk8    $HOME/jdk/jdk8
22    $HOME/jdk/jdk9    $HOME/jdk/jdk9
23      $HOME/jdk/jdk10
24    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  
   $HOME/jdk/src/jdk7  
25    $HOME/jdk/src/jdk8    $HOME/jdk/src/jdk8
26    $HOME/jdk/src/jdk9    $HOME/jdk/src/jdk9
27      $HOME/jdk/src/jdk10
28    where each of the above is a complete JDK source tree    where each of the above is a complete JDK source tree
29    (e.g. mercurial forest) or a symlink to same.    (e.g. mercurial forest) or a symlink to same.
30    
31    Alternatively, define ant variables thus:    Alternatively, define ant variables thus:
32    ant -Djdk$N.home=... -Djdk$N.src.home=...    ant -Djdk$N.home=... -Djdk$N.src.home=...
33    for $N in 6 7 8 9 ...    for $N in 8 9 10 ...
34    
35    As of 2015-09, there is incomplete hacky support for jigsaw    As of 2016-03, the sources in src/main are for jdk9+ only.
   Build for jigsaw using something like:  
   ant -Djdk9.home="$HOME/jdk/jigsaw" -Djdk9.src.home="$HOME/jdk/src/jigsaw" clean test dist  
   "docs" target is still broken.  
36  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
37    </description>    </description>
38    
39    <!-- Display main targets by running 'ant -projecthelp' -->    <!-- Run 'ant -projecthelp' (default target) -->
40    <target name="usage">    <target name="usage">
41      <java classname="org.apache.tools.ant.Main">      <java classname="org.apache.tools.ant.Main">
42        <arg value="-projecthelp" />        <arg value="-projecthelp" />
# Line 62  Line 61 
61    <property name="build.classes.dir"           location="${build.dir}/classes"/>    <property name="build.classes.dir"           location="${build.dir}/classes"/>
62    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>
63    <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"/>  
64    
65    <property name="build.4jdk7.dir"             location="${build.dir}/jsr166-4jdk7"/>    <property name="build.4jdk7.dir"             location="${build.dir}/jsr166-4jdk7"/>
66    <property name="build.4jdk7.classes.dir"     location="${build.4jdk7.dir}/classes"/>    <property name="build.4jdk7.classes.dir"     location="${build.4jdk7.dir}/classes"/>
# Line 133  Line 131 
131    <defjdklocations v="7"/>    <defjdklocations v="7"/>
132    <defjdklocations v="8"/>    <defjdklocations v="8"/>
133    <defjdklocations v="9"/>    <defjdklocations v="9"/>
134      <defjdklocations v="10"/>
135    
136    <!-- Source locations -->    <!-- Source locations -->
137    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
# Line 142  Line 141 
141    <property name="jtreg7.src.dir"       location="${test.src.dir}/jtreg-jdk7"/>    <property name="jtreg7.src.dir"       location="${test.src.dir}/jtreg-jdk7"/>
142    <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg-jdk8"/>    <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg-jdk8"/>
143    <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>    <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>
144      <property name="jtreg10.src.dir"      location="${test.src.dir}/jtreg"/>
145    <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>    <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>
146    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
147    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
# Line 185  Line 185 
185    <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>    <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>
186    <property name="java7.docroot.url"      value="http://docs.oracle.com/javase/7/docs"/>    <property name="java7.docroot.url"      value="http://docs.oracle.com/javase/7/docs"/>
187    <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>    <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>
188    <!-- The expected canonical location does not yet exist as of 2016-03 -->    <!-- The expected canonical location does not yet exist as of 2016-04 -->
189    <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->    <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
190    <property name="java9.docroot.url"      value="http://download.java.net/jdk9/docs"/>    <property name="java9.docroot.url"      value="http://download.java.net/java/jdk9/docs"/>
191    <!-- Default jdk doc location (latest stable release seems best) -->    <!-- Default jdk doc location (latest stable release seems best) -->
192    <property name="java.docroot.url"       value="${java8.docroot.url}"/>    <property name="java.docroot.url"       value="${java8.docroot.url}"/>
193    
# Line 232  Line 232 
232        <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>        <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>
233      </condition>      </condition>
234    
235        <local name="use-doclint"/>
236        <condition property="use-doclint">
237          <not> <equals arg1="@{target}" arg2="7"/> </not>
238        </condition>
239    
240      <mkdir dir="@{workdir}/tck-classes"/>      <mkdir dir="@{workdir}/tck-classes"/>
241    
242      <javac srcdir="@{tck.src.dir}"      <javac srcdir="@{tck.src.dir}"
# Line 244  Line 249 
249             classpath="${junit.jar}"             classpath="${junit.jar}"
250             includeAntRuntime="false"             includeAntRuntime="false"
251             includeJavaRuntime="false"             includeJavaRuntime="false"
252               encoding="ASCII"
253             executable="${javac@{compile-target}}"             executable="${javac@{compile-target}}"
254             fork="true">             fork="true">
255    
256        <include name="*.java"/>        <include name="*.java"/>
257        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
258        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>
259          <compilerarg value="-Xdoclint:reference/private" if:set="use-doclint"/>
260        <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>        <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
261        <compilerarg value="-Xpatch:${build.classes.dir}" if:set="modules"/>        <compilerarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
262        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
263        <javac-elements/>        <javac-elements/>
264    
# Line 262  Line 269 
269            jvm="${java@{target}}"            jvm="${java@{target}}"
270            fork="true">            fork="true">
271          <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>          <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
272          <jvmarg value="-Xpatch:${build.classes.dir}" if:set="modules"/>          <jvmarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
273            <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" if:set="modules"/>
274            <jvmarg value="--add-opens=java.base/java.util=ALL-UNNAMED" if:set="modules"/>
275            <jvmarg value="--add-opens=java.base/java.util.concurrent=ALL-UNNAMED" if:set="modules"/>
276            <jvmarg value="--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED" if:set="modules"/>
277            <jvmarg value="--add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED" if:set="modules"/>
278          <jvmarg line="@{jvmflags}"/>          <jvmarg line="@{jvmflags}"/>
279            <!-- ant -Dvmoptions="-Xmx8m" -Djsr166.tckTestClass=CompletableFutureTest tck -->
280            <jvmarg line="${vmoptions}" if:set="vmoptions"/>
281    
282          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
283          <syspropertyset id="system-properties-used-by-tck">          <syspropertyset id="system-properties-used-by-tck">
284            <propertyref prefix="java.util.concurrent.ForkJoinPool"/>            <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
285            <propertyref prefix="jsr166."/>            <propertyref prefix="jsr166."/>
# Line 282  Line 296 
296    </macrodef>    </macrodef>
297    
298    <!-- Define jtreg test sets for different jdk versions -->    <!-- Define jtreg test sets for different jdk versions -->
299      <fileset dir="${jtreg10.src.dir}">
300        <patternset id="jdk10.jtreg.tests">
301          <include name="**/*.java"/>
302        </patternset>
303      </fileset>
304    
305    <fileset dir="${jtreg9.src.dir}">    <fileset dir="${jtreg9.src.dir}">
306      <patternset id="jdk9.jtreg.tests">      <patternset id="jdk9.jtreg.tests">
307        <include name="**/*.java"/>        <include name="**/*.java"/>
# Line 291  Line 311 
311    <fileset dir="${jtreg8.src.dir}">    <fileset dir="${jtreg8.src.dir}">
312      <patternset id="jdk8.jtreg.tests">      <patternset id="jdk8.jtreg.tests">
313        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/SpliteratorCharacteristics.java"/>  
       <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->  
       <exclude name="**/GCDuringIteration.java"/>  
314      </patternset>      </patternset>
315    </fileset>    </fileset>
316    
# Line 308  Line 325 
325    
326    <macrodef name="run-jtreg-tests">    <macrodef name="run-jtreg-tests">
327      <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->      <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
     <attribute name="source" default="7"/>  
328      <attribute name="target"/>      <attribute name="target"/>
329      <attribute name="workdir"/>      <attribute name="workdir"/>
330      <attribute name="classes"/>      <attribute name="classes"/>
# Line 325  Line 341 
341      </condition>      </condition>
342    
343      <delete dir="@{workdir}/JTwork"   quiet="true"/>      <delete dir="@{workdir}/JTwork"   quiet="true"/>
     <delete dir="@{workdir}/JTreport" quiet="true"/>  
     <mkdir dir="@{workdir}/JTwork/scratch"/>  
     <!-- workaround for https://bugs.openjdk.java.net/browse/CODETOOLS-7901571 -->  
     <mkdir dir="@{workdir}/JTreport/html"/>  
     <mkdir dir="@{workdir}/JTreport/text"/>  
344      <jtreg dir="${jtreg@{target}.src.dir}"      <jtreg dir="${jtreg@{target}.src.dir}"
345             jdk="${jdk@{target}.home}"             jdk="${jdk@{target}.home}"
346             workDir="@{workdir}/JTwork"             workDir="@{workdir}/JTwork">
            reportDir="@{workdir}/JTreport">  
347        <patternset refid="jdk@{target}.jtreg.tests"/>        <patternset refid="jdk@{target}.jtreg.tests"/>
348        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
349        <arg value="-Xpatch:${build.classes.dir}" if:set="modules"/>        <arg value="-javacoptions:--patch-module java.base=@{classes}" if:set="modules"/>
350          <arg value="-vmoptions:--patch-module java.base=@{classes}" if:set="modules"/>
351        <arg value="-agentvm"/>        <arg value="-agentvm"/>
352          <arg value="-noreport"/>
353        <arg value="-verbose:${jtreg.verbose}"/>        <arg value="-verbose:${jtreg.verbose}"/>
354        <arg value="-vmoptions:-esa -ea"/>        <arg value="-vmoptions:-esa -ea"/>
355        <arg value="-automatic"/>        <arg value="-automatic"/>
# Line 360  Line 372 
372    <!-- Main targets -->    <!-- Main targets -->
373    
374    <property name="build.main.java.version" value="9"/>    <property name="build.main.java.version" value="9"/>
375    <property name="build.main.javac" value="${javac9}"/>    <!-- Workaround "no nested properties in ant" -->
376      <macrodef name="define-build-main-properties">
377        <attribute name="v"/>
378        <sequential>
379          <property name="build.main.java"    value="${java@{v}}"/>
380          <property name="build.main.javac"   value="${javac@{v}}"/>
381          <property name="build.main.javadoc" value="${javadoc@{v}}"/>
382        </sequential>
383      </macrodef>
384      <define-build-main-properties v="${build.main.java.version}"/>
385    
386    <target name="dists"    <target name="dists"
387            depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"            depends="dist, 4jdk8dist"
388            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
389              <!--
390                  depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
391              -->
392    
393    <target name="compile"    <target name="compile"
394            depends="configure-compiler"            depends="configure-compiler"
395            description="Compiles src/main sources to build dir">            description="Compiles src/main sources to build dir">
396    
     <local name="modules"/>  
     <condition property="modules">  
       <and>  
         <available file="${jdk9.home}/jmods" type="dir"/>  
         <equals arg1="9" arg2="${build.main.java.version}"/>  
       </and>  
     </condition>  
   
397      <local name="destdir"/>      <local name="destdir"/>
398      <property name="destdir" value="${build.classes.dir}/java.base" if:set="modules"/>      <property name="destdir" value="${build.classes.dir}/java.base"/>
     <property name="destdir" value="${build.classes.dir}" unless:set="modules"/>  
399    
400      <mkdir dir="${destdir}"/>      <mkdir dir="${destdir}"/>
401    
# Line 392  Line 407 
407             classpath=""             classpath=""
408             includeAntRuntime="false"             includeAntRuntime="false"
409             includeJavaRuntime="false"             includeJavaRuntime="false"
410               encoding="ASCII"
411             executable="${build.main.javac}"             executable="${build.main.javac}"
412             fork="true">             fork="true">
413    
414        <include name="**/*.java"/>        <include name="**/*.java"/>
415        <compilerarg value="-Xmodule:java.base" if:set="modules"/>        <compilerarg value="--patch-module=java.base=${src.dir}"/>
416        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
417        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
418        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
419          <compilerarg line="--doclint-format html5"/>
420          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
421        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
       <compilerarg value="-Xdoclint:all/protected"/>  
422        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
423        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
424    
425      </javac>      </javac>
   
     <!-- We need jdk9's Contended annotation, but at compile time only -->  
     <!--  
         <delete file="${destdir}/jdk/internal/vm/annotation/Contended.class"/>  
     -->  
426    </target>    </target>
427    
428    
429    <target name="jar"    <target name="jar"
430            depends="compile"            depends="compile"
431            description="Builds library jar from compiled sources">            description="Builds library jar for src/main from compiled sources">
432        <local name="subdir"/>
433        <available property="subdir" file="${build.classes.dir}/java.base" type="dir" value="/java.base"/>
434      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
435        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}${subdir}"/>
436        <manifest>        <manifest>
437          <attribute name="Built-By" value="${user.name}"/>          <attribute name="Built-By" value="${user.name}"/>
438          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
# Line 437  Line 450 
450      <!-- the packagenames="none" hack below prevents scanning the -->      <!-- the packagenames="none" hack below prevents scanning the -->
451      <!-- sourcepath for packages -->      <!-- sourcepath for packages -->
452    
453    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}" -->
454    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}:${jdk9.src.home}/jdk/src/java.logging/share/classes" -->
455    <!-- TODO: sourcepath="${src.dir}:${jdk9.home}/src.zip" -->
456    <!-- TODO: <arg line="-sourcepath ${src.dir}:${jdk9.home}/src.zip"/> -->
457    <!-- TODO: <arg line="- -module-source-path ${jdk9.home}/src.zip"/> -->
458      <javadoc destdir="${docs.dir}"      <javadoc destdir="${docs.dir}"
459               packagenames="none"               packagenames="none"
460               link="${java9.api.url}"               link="${java9.api.url}"
461               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
462               access="${build.javadoc.access}"               access="${build.javadoc.access}"
463               sourcepath="${src.dir}:${jdk9.src.dir}"               sourcepath="${src.dir}"
464               classpath=""               classpath=""
465               executable="${javadoc9}">               source="9"
466                 executable="${build.main.javadoc}">
467        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
468          <include name="**/*.java"/>          <include name="**/*.java"/>
469        </fileset>        </fileset>
470        <arg line="-Xdocrootparent ${java9.docroot.url}"/>        <arg line="-Xdocrootparent ${java9.docroot.url}"/>
471        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
472        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
473  <!--  TODO     <arg value="-Xmodule:java.base"/> -->        <arg value="-html5"/>
474          <arg value="--patch-module=java.base=${src.dir}"/>
475        <arg value="-tag"/>        <arg value="-tag"/>
476        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
477    <!-- @apiNote currently unused -->
478    <!--       <arg value="-tag"/> -->
479    <!--       <arg value="apiNote:a:API Note:"/> -->
480        <arg value="-tag"/>        <arg value="-tag"/>
481        <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>        <arg value="implSpec:a:Implementation Requirements:"/>
       <arg value="-tag"/>  
       <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>  
       <arg value="-tag"/>  
       <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>  
 <!-- tags added in jdk9 -->  
       <arg value="-tag"/>  
       <arg value="revised:X"/>  
482        <arg value="-tag"/>        <arg value="-tag"/>
483        <arg value="spec:X"/>        <arg value="implNote:a:Implementation Note:"/>
484    <!-- tags added in jdk9: currently unused -->
485    <!--       <arg value="-tag"/> -->
486    <!--       <arg value="revised:X"/> -->
487    <!--       <arg value="-tag"/> -->
488    <!--       <arg value="spec:X"/> -->
489      </javadoc>      </javadoc>
490    </target>    </target>
491    
# Line 498  Line 519 
519    
520    <target name="clean"    <target name="clean"
521            description="Removes all build products">            description="Removes all build products">
   
522      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
   
523    </target>    </target>
524    
525    
526    <target name="dist-clean"    <target name="dist-clean"
527            description="Removes all build and distribution products">            description="Removes all build and distribution products">
   
528      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
529      <delete dir="${dist.dir}"/>      <delete dir="${dist.dir}"/>
   
530    </target>    </target>
531    
532    
# Line 525  Line 542 
542    
543    <target name="tck"    <target name="tck"
544            depends="jar"            depends="jar"
545            description="Runs tck tests for main directly">            description="Runs tck tests for src/main directly">
546    
547      <run-tck-tests      <run-tck-tests
548        target="${build.main.java.version}"        target="${build.main.java.version}"
549        workdir="${build.dir}"        workdir="${build.dir}"
550        classes="${product.jar}"/>        classes="${product.jar}">
551          <javac-elements>
552            <compilerarg value="-Werror"/>
553          </javac-elements>
554        </run-tck-tests>
555    </target>    </target>
556    
557    <target name="tck-parallelism-1"    <target name="tck-parallelism-1"
558            description="Runs tck with given common pool parallelism">            description="Runs tck with common pool parallelism 1">
559      <antcall target="tck">      <antcall target="tck">
560        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
561      </antcall>      </antcall>
562    </target>    </target>
563    
564    <target name="tck-parallelism-0"    <target name="tck-parallelism-0"
565            description="Runs tck with given common pool parallelism">            description="Runs tck with common pool parallelism 0">
566      <antcall target="tck">      <antcall target="tck">
567        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
568      </antcall>      </antcall>
569    </target>    </target>
570    
571      <target name="tck-security-manager"
572              description="Runs tck with a security manager">
573        <antcall target="tck">
574          <param name="jsr166.useSecurityManager" value="true"/>
575        </antcall>
576      </target>
577    
578    <target name="jtreg"    <target name="jtreg"
579            depends="jar"            depends="jar"
580            description="Runs jtreg tests for main using the jtreg ant task">            description="Runs jtreg tests for src/main using the jtreg ant task">
581      <run-jtreg-tests      <run-jtreg-tests
582         target="${build.main.java.version}"         target="${build.main.java.version}"
583         workdir="${build.dir}"         workdir="${build.dir}"
# Line 557  Line 585 
585    </target>    </target>
586    
587    <target name="test"    <target name="test"
588            depends="tck, tck-parallelism-1, jtreg"            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
589            description="Runs tck and jtreg tests for main">            description="Runs tck and jtreg tests for src/main"/>
   </target>  
590    
591    <target name="jtreg8" description="Runs jtreg tests with jdk8">  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
592    
593      <antcall target="jtreg">  <!--     <antcall target="jtreg"> -->
594        <param name="build.main.java.version" value="8"/>  <!--       <param name="build.main.java.version" value="8"/> -->
595        <param name="build.main.javac" value="${javac8}"/>  <!--       <param name="build.main.javac" value="${javac8}"/> -->
596      </antcall>  <!--     </antcall> -->
597    
598    </target>  <!--   </target> -->
599    
600    <target name="test89"  <!--   <target name="test89" -->
601            description="Runs tck and jtreg tests for main for multiple java versions">  <!--           description="Runs tck and jtreg tests for src/main for multiple java versions"> -->
602    
603      <antcall target="clean"/>  <!--     <antcall target="clean"/> -->
604      <antcall target="test">  <!--     <antcall target="test"> -->
605        <param name="build.main.java.version" value="8"/>  <!--       <param name="build.main.java.version" value="8"/> -->
606        <param name="build.main.javac" value="${javac8}"/>  <!--       <param name="build.main.javac" value="${javac8}"/> -->
607      </antcall>  <!--     </antcall> -->
608    
609      <antcall target="clean"/>  <!--     <antcall target="clean"/> -->
610      <antcall target="test">  <!--     <antcall target="test"> -->
611        <param name="build.main.java.version" value="9"/>  <!--       <param name="build.main.java.version" value="9"/> -->
612        <param name="build.main.javac" value="${javac9}"/>  <!--       <param name="build.main.javac" value="${javac9}"/> -->
613      </antcall>  <!--     </antcall> -->
614    
615    </target>  <!--   </target> -->
616    
617    
618    
619    <target name="configure-compiler">    <target name="configure-compiler">
620      <fail message="ant version too old">      <fail message="ant version too old">
621        <condition>        <condition> <not> <antversion atleast="1.9.1"/> </not> </condition>
         <not> <antversion atleast="1.9.1"/> </not>  
       </condition>  
622      </fail>      </fail>
623    
624      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
# Line 615  Line 640 
640    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
641    
642    
643    <target name="loops" depends="configure-compiler"    <!-- description="Benchmark from Doug Lea's AQS paper" -->
644            description="Benchmark from Doug Lea's AQS paper">    <target name="loops" depends="configure-compiler">
645    
646      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
647    
# Line 627  Line 652 
652        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
653             source="${build.sourcelevel}"             source="${build.sourcelevel}"
654             target="${build.sourcelevel}"             target="${build.sourcelevel}"
655             encoding="ASCII"
656               fork="true">               fork="true">
657    
658        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 638  Line 664 
664      <java classname="ALoops" fork="true">      <java classname="ALoops" fork="true">
665        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
666      </java>      </java>
   
667    </target>    </target>
668    
669    
670    <target name="compile-test-loops" depends="jar"    <target name="compile-test-loops" depends="jar"
671            description="compile all the perf tests in src/test/loops">            description="Compiles all the perf tests in src/test/loops">
672    
673      <mkdir dir="${build.dir}/test/loops"/>      <mkdir dir="${build.dir}/test/loops"/>
674    
# Line 654  Line 679 
679             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
680             includeAntRuntime="false"             includeAntRuntime="false"
681             includeJavaRuntime="false"             includeJavaRuntime="false"
682             executable="${javac9}"             encoding="ASCII"
683               executable="${build.main.javac}"
684             fork="true">             fork="true">
685    
686        <include name="*.java"/>        <include name="*.java"/>
# Line 662  Line 688 
688        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
689        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
690        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
691      </javac>      </javac>
   
692    </target>    </target>
693    
694    
# Line 687  Line 711 
711             bootclasspath="${bootclasspath8}"             bootclasspath="${bootclasspath8}"
712             includeAntRuntime="false"             includeAntRuntime="false"
713             includeJavaRuntime="false"             includeJavaRuntime="false"
714               encoding="ASCII"
715             executable="${javac8}"             executable="${javac8}"
716             fork="true">             fork="true">
   
717        <include name="**/*.java"/>        <include name="**/*.java"/>
718        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
719        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
720        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
721        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
722        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
723      </javac>      </javac>
724    </target>    </target>
725    
# Line 717  Line 740 
740             bootclasspath="${bootclasspath8}"             bootclasspath="${bootclasspath8}"
741             includeAntRuntime="false"             includeAntRuntime="false"
742             includeJavaRuntime="false"             includeJavaRuntime="false"
743               encoding="ASCII"
744             executable="${javac8}"             executable="${javac8}"
745             fork="true">             fork="true">
   
746        <include name="**/*.java"/>        <include name="**/*.java"/>
747        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
748        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
749        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
750        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
751        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
752      </javac>      </javac>
753    </target>    </target>
754    
# Line 742  Line 764 
764          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
765        </manifest>        </manifest>
766      </jar>      </jar>
   
767    </target>    </target>
768    
769    
# Line 758  Line 779 
779          <!-- JDK9+ test classes -->          <!-- JDK9+ test classes -->
780          <exclude name="*9Test.java"/>          <exclude name="*9Test.java"/>
781          <exclude name="*10Test.java"/>          <exclude name="*10Test.java"/>
782            <compilerarg value="-Werror"/>
783        </javac-elements>        </javac-elements>
784      </run-tck-tests>      </run-tck-tests>
785    </target>    </target>
# Line 775  Line 797 
797    
798    <target name="4jdk8-test"    <target name="4jdk8-test"
799            depends="4jdk8-tck, 4jdk8-jtreg"            depends="4jdk8-tck, 4jdk8-jtreg"
800            description="Runs tck and jtreg tests for jsr166-4jdk8">            description="Runs tck and jtreg tests for jsr166-4jdk8"/>
   </target>  
801    
802    
803    <target name="4jdk8docs"    <target name="4jdk8docs"
# Line 792  Line 813 
813               access="${build.javadoc.access}"               access="${build.javadoc.access}"
814               sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"               sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
815               classpath=""               classpath=""
816               executable="${javadoc8}">               source="8"
817                 executable="${javadoc8}"
818                 failonerror = "true">
819        <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
820          <include name="**/*.java"/>          <include name="**/*.java"/>
821        </fileset>        </fileset>
# Line 800  Line 823 
823        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
824        <arg value="-tag"/>        <arg value="-tag"/>
825        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
826        <arg value="-tag"/>  <!-- @apiNote currently unused -->
827        <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>  <!--       <arg value="-tag"/> -->
828    <!--       <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/> -->
829        <arg value="-tag"/>        <arg value="-tag"/>
830        <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>        <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
831        <arg value="-tag"/>        <arg value="-tag"/>
# Line 817  Line 841 
841    
842    <target name="4jdk8clean"    <target name="4jdk8clean"
843            description="Removes all 4jdk8 build products">            description="Removes all 4jdk8 build products">
   
844      <delete dir="${build.4jdk8.dir}"/>      <delete dir="${build.4jdk8.dir}"/>
   
845    </target>    </target>
846    
847    
# Line 835  Line 857 
857    </target>    </target>
858    
859    
860      <!-- jsr166 4jdk7 (no longer maintained) -->
861    
862    <!-- jsr166 4jdk7 -->    <target name="4jdk7compile" depends="configure-compiler">
   
   <target name="4jdk7compile"  
           depends="configure-compiler"  
           description="Compiles src/jdk7 sources, targeting jdk7">  
   
863      <mkdir dir="${build.4jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
864    
865      <javac srcdir="${4jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
# Line 855  Line 873 
873             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
874             includeAntRuntime="false"             includeAntRuntime="false"
875             includeJavaRuntime="false"             includeJavaRuntime="false"
876               encoding="ASCII"
877             executable="${javac7}"             executable="${javac7}"
878             fork="true">             fork="true">
879    
# Line 864  Line 883 
883        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
884        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
885        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
886      </javac>      </javac>
887    </target>    </target>
888    
889    <target name="4jdk7doclint"    <target name="4jdk7doclint" depends="configure-compiler">
           depends="configure-compiler"  
           description="Finds doclint warnings">  
   
890      <mkdir dir="${build.4jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
891    
892      <javac srcdir="${4jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
# Line 885  Line 900 
900             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
901             includeAntRuntime="false"             includeAntRuntime="false"
902             includeJavaRuntime="false"             includeJavaRuntime="false"
903               encoding="ASCII"
904             executable="${javac8}"             executable="${javac8}"
905             fork="true">             fork="true">
906    
# Line 894  Line 910 
910        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
911        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected"/>
912        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
913      </javac>      </javac>
914    </target>    </target>
915    
916      <target name="4jdk7jar" depends="4jdk7compile">
   <target name="4jdk7jar"  
           depends="4jdk7compile"  
           description="Builds library jar from compiled sources">  
   
917      <jar destfile="${4jdk7product.jar}">      <jar destfile="${4jdk7product.jar}">
918        <fileset dir="${build.4jdk7.classes.dir}"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
919        <manifest>        <manifest>
# Line 910  Line 921 
921          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
922        </manifest>        </manifest>
923      </jar>      </jar>
   
924    </target>    </target>
925    
926      <target name="4jdk7-tck" depends="4jdk7jar">
   <target name="4jdk7-tck"  
           depends="4jdk7jar"  
           description="Runs tck tests for jsr166-4jdk7 directly">  
   
927      <run-tck-tests      <run-tck-tests
928        target="7"        target="7"
929        workdir="${build.4jdk7.dir}"        workdir="${build.4jdk7.dir}"
# Line 935  Line 941 
941          <exclude name="SplittableRandomTest.java"/>          <exclude name="SplittableRandomTest.java"/>
942          <exclude name="StampedLockTest.java"/>          <exclude name="StampedLockTest.java"/>
943          <exclude name="SubmissionPublisherTest.java"/>          <exclude name="SubmissionPublisherTest.java"/>
944            <compilerarg value="-Werror"/>
945        </javac-elements>        </javac-elements>
946      </run-tck-tests>      </run-tck-tests>
947    </target>    </target>
948    
949      <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
950    <target name="4jdk7-tck-junit"    <target name="4jdk7-tck-junit" depends="4jdk7compile">
           depends="4jdk7compile"  
           description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">  
951    
952      <junit printsummary="true"      <junit printsummary="true"
953             showoutput="true"             showoutput="true"
# Line 964  Line 969 
969    
970        <test name="${jsr166.tckTestClass}" haltonfailure="no">        <test name="${jsr166.tckTestClass}" haltonfailure="no">
971        </test>        </test>
   
972      </junit>      </junit>
973    </target>    </target>
974    
975    <target name="4jdk7-jtreg"    <target name="4jdk7-jtreg" depends="4jdk7jar">
           depends="4jdk7jar"  
           description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">  
976      <run-jtreg-tests      <run-jtreg-tests
977         target="7"         target="7"
978         workdir="${build.4jdk7.dir}"         workdir="${build.4jdk7.dir}"
979         classes="${4jdk7product.jar}"/>         classes="${4jdk7product.jar}"/>
980    </target>    </target>
981    
982      <target name="4jdk7-test" depends="4jdk7-tck, 4jdk7-jtreg"/>
983    
984    <target name="4jdk7-test"    <target name="4jdk7docs">
           depends="4jdk7-tck, 4jdk7-jtreg"  
           description="Runs tck and jtreg tests for jsr166-4jdk7">  
   </target>  
   
   
   <target name="4jdk7docs"  
           description="Builds javadocs for src/jdk7 to dist dir">  
   
985      <delete dir="${4jdk7docs.dir}"/>      <delete dir="${4jdk7docs.dir}"/>
986      <mkdir dir="${4jdk7docs.dir}"/>      <mkdir dir="${4jdk7docs.dir}"/>
987    
# Line 997  Line 992 
992               access="${build.javadoc.access}"               access="${build.javadoc.access}"
993               sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
994               classpath=""               classpath=""
995               executable="${javadoc7}">               executable="${javadoc7}"
996                 failonerror = "true">
997        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
998          <include name="**/*.java"/>          <include name="**/*.java"/>
999        </fileset>        </fileset>
# Line 1006  Line 1002 
1002      </javadoc>      </javadoc>
1003    </target>    </target>
1004    
1005      <target name="4jdk7dist" depends="4jdk7dist-jar, 4jdk7dist-docs"/>
1006    
1007    <target name="4jdk7dist"    <target name="4jdk7clean">
           depends="4jdk7dist-jar, 4jdk7dist-docs"  
           description="Puts all distributable products in single hierarchy"/>  
   
   
   <target name="4jdk7clean"  
           description="Removes all 4jdk7 build products">  
   
1008      <delete dir="${build.4jdk7.dir}"/>      <delete dir="${build.4jdk7.dir}"/>
   
1009    </target>    </target>
1010    
1011      <target name="4jdk7dist-jar" depends="4jdk7clean, 4jdk7jar">
   <target name="4jdk7dist-jar"  
           depends="4jdk7clean, 4jdk7jar">  
1012      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
1013    </target>    </target>
1014    
1015      <target name="4jdk7dist-docs" depends="4jdk7clean, 4jdk7docs">
   <target name="4jdk7dist-docs"  
           depends="4jdk7clean, 4jdk7docs">  
1016      <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>      <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
1017    </target>    </target>
1018    
1019    
1020    <!-- jsr166x -->    <!-- jsr166x (no longer maintained) -->
   
   <target name="jsr166xcompile"  
           depends="configure-compiler"  
           description="Compiles jsr166x sources to build dir">  
1021    
1022      <target name="jsr166xcompile" depends="configure-compiler">
1023      <mkdir dir="${build.jsr166x.classes.dir}"/>      <mkdir dir="${build.jsr166x.classes.dir}"/>
1024    
1025      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1051  Line 1033 
1033             target="5"             target="5"
1034             includeAntRuntime="false"             includeAntRuntime="false"
1035             includeJavaRuntime="false"             includeJavaRuntime="false"
1036               encoding="ASCII"
1037             executable="${javac7}"             executable="${javac7}"
1038             fork="true">             fork="true">
   
1039        <include name="jsr166x/**/*.java"/>        <include name="jsr166x/**/*.java"/>
1040        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1041        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
1042        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1043        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1044      </javac>      </javac>
1045    </target>    </target>
1046    
1047      <target name="jsr166xjar" depends="jsr166xcompile">
   <target name="jsr166xjar"  
           depends="jsr166xcompile"  
           description="Builds library jar from compiled sources">  
   
1048      <jar destfile="${jsr166x.jar}">      <jar destfile="${jsr166x.jar}">
1049        <fileset dir="${build.jsr166x.classes.dir}"/>        <fileset dir="${build.jsr166x.classes.dir}"/>
1050        <manifest>        <manifest>
# Line 1075  Line 1052 
1052          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1053        </manifest>        </manifest>
1054      </jar>      </jar>
   
1055    </target>    </target>
1056    
1057      <target name="jsr166xdocs">
   <target name="jsr166xdocs"  
           description="Builds javadocs to dist dir">  
   
1058      <delete dir="${jsr166xdocs.dir}"/>      <delete dir="${jsr166xdocs.dir}"/>
1059      <mkdir dir="${jsr166xdocs.dir}"/>      <mkdir dir="${jsr166xdocs.dir}"/>
1060    
# Line 1092  Line 1065 
1065               sourcepath="${topsrc.dir}:${jdk6.src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1066               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1067               source="5"               source="5"
1068               executable="${javadoc7}">               executable="${javadoc7}"
1069                 failonerror = "true">
1070        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1071        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1072      </javadoc>      </javadoc>
1073    </target>    </target>
1074    
1075      <target name="jsr166xdist" depends="jsr166xdist-jar, jsr166xdist-docs"/>
1076    
1077    <target name="jsr166xdist"    <target name="jsr166xclean">
           depends="jsr166xdist-jar, jsr166xdist-docs"  
           description="Puts all distributable products in single hierarchy"/>  
   
   
   <target name="jsr166xclean"  
           description="Removes all jsr166x build products">  
   
1078      <delete dir="${build.jsr166x.dir}"/>      <delete dir="${build.jsr166x.dir}"/>
   
1079    </target>    </target>
1080    
1081      <target name="jsr166xdist-jar" depends="jsr166xclean, jsr166xjar">
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
1082      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
1083    </target>    </target>
1084    
1085    <target name="jsr166xdist-docs"    <target name="jsr166xdist-docs" depends="jsr166xclean, jsr166xdocs">
           depends="jsr166xclean, jsr166xdocs">  
1086      <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>      <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
1087    </target>    </target>
1088    
   <!-- jsr166y -->  
1089    
1090      <!-- jsr166y (no longer maintained) -->
1091    
1092    <target name="jsr166ycompile"    <target name="jsr166ycompile" depends="configure-compiler">
           depends="configure-compiler"  
           description="Compiles jsr166y sources">  
   
1093      <mkdir dir="${build.jsr166y.classes.dir}"/>      <mkdir dir="${build.jsr166y.classes.dir}"/>
1094    
1095      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1143  Line 1103 
1103             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1104             includeAntRuntime="false"             includeAntRuntime="false"
1105             includeJavaRuntime="false"             includeJavaRuntime="false"
1106               encoding="ASCII"
1107             executable="${javac7}"             executable="${javac7}"
1108             fork="true">             fork="true">
1109    
# Line 1151  Line 1112 
1112        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1113        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1114        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1115      </javac>      </javac>
1116    </target>    </target>
1117    
1118      <target name="jsr166yjar" depends="jsr166ycompile">
   <target name="jsr166yjar"  
           depends="jsr166ycompile"  
           description="Builds library jar from compiled sources">  
   
1119      <jar destfile="${jsr166y.jar}" index="true">      <jar destfile="${jsr166y.jar}" index="true">
1120        <fileset dir="${build.jsr166y.classes.dir}"/>        <fileset dir="${build.jsr166y.classes.dir}"/>
1121        <manifest>        <manifest>
# Line 1167  Line 1123 
1123          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1124        </manifest>        </manifest>
1125      </jar>      </jar>
   
1126    </target>    </target>
1127    
1128      <target name="jsr166ydocs">
   <target name="jsr166ydocs"  
           description="Builds javadocs to dist dir">  
   
1129      <delete dir="${jsr166ydocs.dir}"/>      <delete dir="${jsr166ydocs.dir}"/>
1130      <mkdir dir="${jsr166ydocs.dir}"/>      <mkdir dir="${jsr166ydocs.dir}"/>
1131    
# Line 1184  Line 1136 
1136               sourcepath="${topsrc.dir}:${jdk6.src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1137               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1138               source="6"               source="6"
1139               executable="${javadoc7}">               executable="${javadoc7}"
1140                 failonerror = "true">
1141        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1142        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1143      </javadoc>      </javadoc>
1144    </target>    </target>
1145    
1146      <target name="jsr166ydist" depends="jsr166ydist-jar, jsr166ydist-docs"/>
1147    
1148    <target name="jsr166ydist"    <target name="jsr166yclean">
           depends="jsr166ydist-jar, jsr166ydist-docs"  
           description="Puts all distributable products in single hierarchy"/>  
   
   
   <target name="jsr166yclean"  
           description="Removes all jsr166y build products">  
   
1149      <delete dir="${build.jsr166y.dir}"/>      <delete dir="${build.jsr166y.dir}"/>
   
1150    </target>    </target>
1151    
1152      <target name="jsr166ydist-jar" depends="jsr166yclean, jsr166yjar">
   <target name="jsr166ydist-jar"  
           depends="jsr166yclean, jsr166yjar">  
1153      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1154    </target>    </target>
1155    
1156    <target name="jsr166ydist-docs"    <target name="jsr166ydist-docs" depends="jsr166yclean, jsr166ydocs">
           depends="jsr166yclean, jsr166ydocs">  
1157      <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>      <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1158    </target>    </target>
1159    
1160    
1161    <!-- extra166y -->    <!-- extra166y (no longer maintained) -->
   
   
   <target name="extra166ycompile"  
           depends="configure-compiler, jsr166yjar"  
           description="Compiles extra166y sources">  
1162    
1163      <target name="extra166ycompile" depends="configure-compiler, jsr166yjar">
1164      <mkdir dir="${build.extra166y.classes.dir}"/>      <mkdir dir="${build.extra166y.classes.dir}"/>
1165    
1166      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1236  Line 1174 
1174             target="6"             target="6"
1175             includeAntRuntime="false"             includeAntRuntime="false"
1176             includeJavaRuntime="false"             includeJavaRuntime="false"
1177               encoding="ASCII"
1178             executable="${javac7}"             executable="${javac7}"
1179             fork="true">             fork="true">
1180    
# Line 1244  Line 1183 
1183        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1184        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1185        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1186      </javac>      </javac>
1187    </target>    </target>
1188    
1189      <target name="extra166yjar" depends="extra166ycompile">
   <target name="extra166yjar"  
           depends="extra166ycompile"  
           description="Builds library jar from compiled sources">  
   
1190      <jar destfile="${extra166y.jar}" index="true">      <jar destfile="${extra166y.jar}" index="true">
1191        <fileset dir="${build.extra166y.classes.dir}"/>        <fileset dir="${build.extra166y.classes.dir}"/>
1192        <manifest>        <manifest>
# Line 1260  Line 1194 
1194          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1195        </manifest>        </manifest>
1196      </jar>      </jar>
   
1197    </target>    </target>
1198    
1199      <target name="extra166ydocs">
   <target name="extra166ydocs"  
           description="Builds javadocs to build dir">  
   
1200      <delete dir="${extra166ydocs.dir}"/>      <delete dir="${extra166ydocs.dir}"/>
1201      <mkdir dir="${extra166ydocs.dir}"/>      <mkdir dir="${extra166ydocs.dir}"/>
1202    
# Line 1280  Line 1210 
1210               executable="${javadoc7}">               executable="${javadoc7}">
1211        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1212        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1213      </javadoc>      </javadoc>
1214    </target>    </target>
1215    
1216      <target name="extra166ydist" depends="extra166ydist-jar, extra166ydist-docs"/>
1217    
1218    <target name="extra166ydist"    <target name="extra166yclean">
           depends="extra166ydist-jar, extra166ydist-docs"  
           description="Puts all distributable products in single hierarchy"/>  
   
   
   <target name="extra166yclean"  
           description="Removes all extra166y build products">  
   
1219      <delete dir="${build.extra166y.dir}"/>      <delete dir="${build.extra166y.dir}"/>
   
1220    </target>    </target>
1221    
1222      <target name="extra166ydist-jar" depends="extra166yclean, extra166yjar">
   <target name="extra166ydist-jar"  
           depends="extra166yclean, extra166yjar">  
1223      <copy file="${extra166y.jar}" todir="${dist.dir}"/>      <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1224    </target>    </target>
1225    
1226    <target name="extra166ydist-docs"    <target name="extra166ydist-docs" depends="extra166yclean, extra166ydocs">
           depends="extra166yclean, extra166ydocs">  
1227      <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>      <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1228    </target>    </target>
1229    
1230    <!-- jsr166e -->  
1231      <!-- jsr166e (no longer maintained) -->
1232    
1233    <property name="build.jsr166e.java.version" value="6"/>    <property name="build.jsr166e.java.version" value="6"/>
1234    <property name="build.jsr166e.javac" value="${javac6}"/>    <property name="build.jsr166e.javac" value="${javac6}"/>
1235    
1236    <target name="jsr166ecompile"    <target name="jsr166ecompile" depends="configure-compiler">
           depends="configure-compiler"  
           description="Compiles jsr166e sources">  
   
1237      <mkdir dir="${build.jsr166e.classes.dir}"/>      <mkdir dir="${build.jsr166e.classes.dir}"/>
1238    
1239      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1337  Line 1254 
1254        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1255        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1256        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1257      </javac>      </javac>
1258    </target>    </target>
1259    
   <!-- jsr166e: find doclint errors -->  
1260    <target name="jsr166edoclint">    <target name="jsr166edoclint">
   
1261      <mkdir dir="${build.jsr166e.classes.dir}"/>      <mkdir dir="${build.jsr166e.classes.dir}"/>
1262    
1263      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1365  Line 1279 
1279        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1280        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1281        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected"/>
   
1282      </javac>      </javac>
1283    </target>    </target>
1284    
1285      <target name="jsr166ejar" depends="jsr166ecompile">
   <target name="jsr166ejar"  
           depends="jsr166ecompile"  
           description="Builds library jar from compiled sources">  
   
1286      <jar destfile="${jsr166e.jar}" index="true">      <jar destfile="${jsr166e.jar}" index="true">
1287        <fileset dir="${build.jsr166e.classes.dir}"/>        <fileset dir="${build.jsr166e.classes.dir}"/>
1288        <manifest>        <manifest>
# Line 1381  Line 1290 
1290          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1291        </manifest>        </manifest>
1292      </jar>      </jar>
   
1293    </target>    </target>
1294    
1295      <target name="jsr166edocs">
   <target name="jsr166edocs"  
           description="Builds javadocs to build dir">  
   
1296      <delete dir="${jsr166edocs.dir}"/>      <delete dir="${jsr166edocs.dir}"/>
1297      <mkdir dir="${jsr166edocs.dir}"/>      <mkdir dir="${jsr166edocs.dir}"/>
1298    
# Line 1397  Line 1302 
1302               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1303               sourcepath="${topsrc.dir}:${jdk6.src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1304               source="${build.jsr166e.java.version}"               source="${build.jsr166e.java.version}"
1305               executable="${javadoc7}">               executable="${javadoc7}"
1306                 failonerror = "true">
1307        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1308        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1309      </javadoc>      </javadoc>
1310    </target>    </target>
1311    
1312      <target name="jsr166e-tck-one-java-version" depends="jsr166ejar">
   <target name="jsr166e-tck-one-java-version"  
           depends="jsr166ejar">  
   
1313      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
   
1314      <run-tck-tests      <run-tck-tests
1315        tck.src.dir="${test.src.dir}/tck-jsr166e"        tck.src.dir="${test.src.dir}/tck-jsr166e"
1316        target="${build.jsr166e.java.version}"        target="${build.jsr166e.java.version}"
# Line 1417  Line 1318 
1318        classes="${jsr166e.jar}"/>        classes="${jsr166e.jar}"/>
1319    </target>    </target>
1320    
1321    <target name="jsr166e-tck"    <target name="jsr166e-tck">
           description="Runs tck tests for jsr166e for multiple java versions">  
1322    
1323  <!--     <antcall target="clean"/> -->  <!--     <antcall target="clean"/> -->
1324  <!--     <antcall target="jsr166e-tck-one-java-version"> -->  <!--     <antcall target="jsr166e-tck-one-java-version"> -->
# Line 1439  Line 1339 
1339      </antcall>      </antcall>
1340    </target>    </target>
1341    
1342      <target name="jsr166e-test" depends="jsr166e-tck"/>
1343    
1344    <target name="jsr166e-test"    <target name="jsr166edist" depends="jsr166edist-jar, jsr166edist-docs"/>
           depends="jsr166e-tck"  
           description="Runs all tests for jsr166e">  
   </target>  
1345    
1346    <target name="jsr166edist"    <target name="jsr166eclean">
           depends="jsr166edist-jar, jsr166edist-docs"  
           description="Puts all distributable products in single hierarchy"/>  
   
   
   <target name="jsr166eclean"  
           description="Removes all jsr166e build products">  
1347      <delete dir="${build.jsr166e.dir}"/>      <delete dir="${build.jsr166e.dir}"/>
1348    </target>    </target>
1349    
   
1350    <target name="jsr166edist-jar"    <target name="jsr166edist-jar"
1351            depends="jsr166eclean, jsr166ejar">            depends="jsr166eclean, jsr166ejar">
1352      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1353    </target>    </target>
1354    
1355    <target name="jsr166edist-docs"    <target name="jsr166edist-docs" depends="jsr166eclean, jsr166edocs">
           depends="jsr166eclean, jsr166edocs">  
1356      <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>      <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1357    </target>    </target>
1358    
# Line 1483  Line 1373 
1373    </target>    </target>
1374    
1375    
1376    <!-- ==============================================================
1377      Experimental errorprone support - http://errorprone.info
1378      You may need to bring your own errorprone jar.
1379    =================================================================== -->
1380      <target name="errorprone"
1381              depends="clean, configure-compiler"
1382              description="Run errorprone over jsr166 source code (experimental)">
1383    
1384        <local name="destdir"/>
1385        <property name="destdir" value="${build.classes.dir}/java.base"/>
1386        <mkdir dir="${destdir}"/>
1387    
1388        <javac srcdir="${src.dir}"
1389               destdir="${destdir}"
1390               debug="${build.debug}"
1391               debuglevel="${build.debuglevel}"
1392               deprecation="${build.deprecation}"
1393               classpath=""
1394               includeAntRuntime="false"
1395               includeJavaRuntime="false"
1396               encoding="ASCII"
1397               executable="${build.main.javac}"
1398               fork="true">
1399    
1400          <include name="**/*.java"/>
1401          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1402          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1403          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1404          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1405          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1406          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1407          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1408          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1409          <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1410          <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1411          <compilerarg value="-Xplugin:ErrorProne
1412                              -Xep:IdentityBinaryExpression:WARN
1413                              -Xep:MissingOverride:OFF
1414                              -Xep:MixedArrayDimensions:WARN
1415                              -Xep:RemoveUnusedImports:ERROR
1416                              -Xep:ClassName:ERROR
1417                              -Xep:MultipleTopLevelClasses:ERROR
1418                              -Xep:EmptyIf:ERROR
1419                              -Xep:LongLiteralLowerCaseSuffix:ERROR
1420                              -Xep:ArgumentParameterSwap:ERROR
1421                              -Xep:RedundantThrows:ERROR
1422                              -Xep:MethodCanBeStatic:WARN"/>
1423          <compilerarg value="--patch-module=java.base=${src.dir}"/>
1424          <compilerarg value="-Xprefer:source"/>
1425          <compilerarg value="-XDignore.symbol.file=true"/>
1426          <compilerarg value="-Xlint:all"/>
1427          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
1428          <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1429          <compilerarg line="${build.args}"/>
1430        </javac>
1431    
1432        <jar destfile="${product.jar}">
1433          <fileset dir="${destdir}"/>
1434        </jar>
1435    
1436        <run-tck-tests
1437          target="${build.main.java.version}"
1438          workdir="${build.dir}"
1439          classes="${product.jar}">
1440          <javac-elements>
1441            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1442            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1443            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1444            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1445            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1446            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1447            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1448            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1449            <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1450            <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1451            <compilerarg value="-Xplugin:ErrorProne
1452                                -Xep:IdentityBinaryExpression:WARN
1453                                -Xep:BoxedPrimitiveConstructor:OFF
1454                                -Xep:HashtableContains:OFF
1455                                -Xep:ModifyingCollectionWithItself:OFF
1456                                -Xep:MissingOverride:OFF
1457                                -Xep:MixedArrayDimensions:WARN
1458                                -Xep:RemoveUnusedImports:ERROR
1459                                -Xep:ClassName:ERROR
1460                                -Xep:MultipleTopLevelClasses:ERROR
1461                                -Xep:EmptyIf:ERROR
1462                                -Xep:LongLiteralLowerCaseSuffix:ERROR
1463                                -Xep:ArgumentParameterSwap:ERROR
1464                                -Xep:RedundantThrows:ERROR
1465                                -Xep:MethodCanBeStatic:WARN"/>
1466            <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1467          </javac-elements>
1468        </run-tck-tests>
1469      </target>
1470    
1471    
1472    <!-- ==============================================================
1473      Running guava tests against jsr166 code
1474    =================================================================== -->
1475    
1476    <!-- <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" -->
1477    <!--   organisation="com.google.guava" module="guava-testlib" revision="21.0"/> -->
1478    <!-- <property name="guava.version" value="21.0"/> -->
1479    
1480    <!-- HOWTO debug print a path id -->
1481    <!-- <pathconvert property="guava.testlib.classpath" refid="guava.testlib.classpath" /> -->
1482    <!-- <echo message="guava.testlib.classpath=${guava.testlib.classpath}"/> -->
1483    
1484    <!-- <ivy:retrieve pathid="guava.tests.classpath" type="jar" inline="true" conf="*" pattern="${lib.dir}/[type]/[artifact].[ext]" -->
1485    <!--   organisation="com.google.guava" module="guava-tests"/> -->
1486    <!-- <get src="http://repo2.maven.org/maven2/com/google/guava/guava-tests/${guava.version}/guava-tests-${guava.version}-tests.jar" -->
1487    <!--   dest="${lib.dir}/jar/guava-tests-tests.jar" usetimestamp="true"/> -->
1488    <!--     <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" type="*" -->
1489    <!--       organisation="com.google.guava" module="guava-testlib" revision="${guava.version}"/> -->
1490    
1491    <!-- <test name="com.google.common.collect.testing.TestsForQueuesInJavaUtil"/> -->
1492    <!-- <test name="com.google.common.collect.testing.TestsForListsInJavaUtil"/> -->
1493    <!-- <test name="com.google.common.collect.testing.TestsForSetsInJavaUtil"/> -->
1494    <!-- <test name="com.google.common.collect.testing.TestsForMapsInJavaUtil"/> -->
1495    
1496    <!-- <ivy:retrieve pathid="guava.testlib.classpath" -->
1497    <!--   type="*" inline="true" conf="*(private),*(public)" -->
1498    <!--   pattern="${guava.dir}/[artifact].[ext]" -->
1499    <!--   organisation="com.google.guava" module="guava-testlib"/> -->
1500    
1501    <!-- Work around bug below by downloading guava-testlib-tests.jar "by hand": -->
1502    <!-- https://issues.apache.org/jira/browse/IVY-1444 -->
1503    <!-- maven tests artifacts cannot be downloaded because they are mapped to private configurations -->
1504    
1505      <target name="init-ivy">
1506        <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.4.0/ivy-2.4.0.jar"
1507             dest="${build.dir}/ivy.jar" usetimestamp="true" skipexisting="true"/>
1508        <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"
1509                 classpath="${build.dir}/ivy.jar"/>
1510      </target>
1511    
1512      <target name="guava-tests" depends="jar, init-ivy"
1513              description="Guava tests run against jsr166 collections">
1514        <property name="guava.dir" value="${build.dir}/guava-testlib"/>
1515        <mkdir dir="${guava.dir}"/>
1516        <ivy:retrieve pathid="guava.testlib.classpath"
1517          type="jar,bundle" inline="true" conf="default,master"
1518          pattern="${guava.dir}/[artifact].[ext]"
1519          organisation="com.google.guava" module="guava-testlib"/>
1520        <property name="guava.version" value="21.0"/>
1521        <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"
1522             dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1523        <junit printsummary="true" showoutput="true" haltonfailure="true"
1524               jvm="${build.main.java}" fork="true">
1525          <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>
1526          <formatter type="brief"/>
1527          <classpath>
1528            <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>
1529            <path refid="guava.testlib.classpath"/>
1530          </classpath>
1531    
1532          <!-- "6" in "OpenJdk6Tests" misleadingly means "6+" -->
1533          <test name="com.google.common.collect.testing.OpenJdk6Tests"/>
1534        </junit>
1535      </target>
1536    
1537  </project>  </project>

Legend:
Removed from v.1.201  
changed lines
  Added in v.1.247

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