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

Diff of /jsr166/build.xml

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

revision 1.213 by jsr166, Sat Jun 4 23:49:29 2016 UTC revision 1.244 by jsr166, Wed May 17 00:17:49 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 17  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 2016-03, the sources in src/main are for jdk9+ only.  The "docs"    As of 2016-03, the sources in src/main are for jdk9+ only.
   target is currently broken.  
36  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
37    </description>    </description>
38    
# Line 63  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 134  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 143  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 188  Line 187 
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-04 -->    <!-- 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://http://download.java.net/java/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 233  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 245  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:java.base=${build.classes.dir}/java.base" 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 263  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:java.base=${build.classes.dir}/java.base" 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 292  Line 305 
305    <fileset dir="${jtreg8.src.dir}">    <fileset dir="${jtreg8.src.dir}">
306      <patternset id="jdk8.jtreg.tests">      <patternset id="jdk8.jtreg.tests">
307        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/SpliteratorCharacteristics.java"/>  
       <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->  
       <exclude name="**/GCDuringIteration.java"/>  
308      </patternset>      </patternset>
309    </fileset>    </fileset>
310    
# Line 326  Line 336 
336      </condition>      </condition>
337    
338      <delete dir="@{workdir}/JTwork"   quiet="true"/>      <delete dir="@{workdir}/JTwork"   quiet="true"/>
     <delete dir="@{workdir}/JTreport" quiet="true"/>  
339      <jtreg dir="${jtreg@{target}.src.dir}"      <jtreg dir="${jtreg@{target}.src.dir}"
340             jdk="${jdk@{target}.home}"             jdk="${jdk@{target}.home}"
341             workDir="@{workdir}/JTwork"             workDir="@{workdir}/JTwork">
            reportDir="@{workdir}/JTreport">  
342        <patternset refid="jdk@{target}.jtreg.tests"/>        <patternset refid="jdk@{target}.jtreg.tests"/>
343        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
344        <arg value="-vmoption:-Xpatch:java.base=${build.classes.dir}/java.base" if:set="modules"/>        <arg value="-javacoptions:--patch-module java.base=@{classes}" if:set="modules"/>
345          <arg value="-vmoptions:--patch-module java.base=@{classes}" if:set="modules"/>
346        <arg value="-agentvm"/>        <arg value="-agentvm"/>
347          <arg value="-noreport"/>
348        <arg value="-verbose:${jtreg.verbose}"/>        <arg value="-verbose:${jtreg.verbose}"/>
349        <arg value="-vmoptions:-esa -ea"/>        <arg value="-vmoptions:-esa -ea"/>
350        <arg value="-automatic"/>        <arg value="-automatic"/>
# Line 360  Line 370 
370    <property name="build.main.javac" value="${javac9}"/>    <property name="build.main.javac" value="${javac9}"/>
371    
372    <target name="dists"    <target name="dists"
373            depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"            depends="dist, 4jdk8dist"
374            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
375              <!--
376                  depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
377              -->
378    
379    <target name="compile"    <target name="compile"
380            depends="configure-compiler"            depends="configure-compiler"
# Line 389  Line 402 
402             classpath=""             classpath=""
403             includeAntRuntime="false"             includeAntRuntime="false"
404             includeJavaRuntime="false"             includeJavaRuntime="false"
405               encoding="ASCII"
406             executable="${build.main.javac}"             executable="${build.main.javac}"
407             fork="true">             fork="true">
408    
409        <include name="**/*.java"/>        <include name="**/*.java"/>
410        <compilerarg value="-Xmodule:java.base" if:set="modules"/>        <compilerarg value="--patch-module=java.base=${src.dir}" if:set="modules"/>
411        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
412        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
413        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
414          <compilerarg line="--doclint-format html5"/>
415          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
416        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
       <compilerarg value="-Xdoclint:all/protected"/>  
417        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
418        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
419    
# Line 430  Line 445 
445      <!-- the packagenames="none" hack below prevents scanning the -->      <!-- the packagenames="none" hack below prevents scanning the -->
446      <!-- sourcepath for packages -->      <!-- sourcepath for packages -->
447    
448    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}" -->
449    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}:${jdk9.src.home}/jdk/src/java.logging/share/classes" -->
450    <!-- TODO: sourcepath="${src.dir}:${jdk9.home}/src.zip" -->
451    <!-- TODO: <arg line="-sourcepath ${src.dir}:${jdk9.home}/src.zip"/> -->
452    <!-- TODO: <arg line="- -module-source-path ${jdk9.home}/src.zip"/> -->
453      <javadoc destdir="${docs.dir}"      <javadoc destdir="${docs.dir}"
454               packagenames="none"               packagenames="none"
455               link="${java9.api.url}"               link="${java9.api.url}"
456               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
457               access="${build.javadoc.access}"               access="${build.javadoc.access}"
458               sourcepath="${src.dir}:${jdk9.src.dir}"               sourcepath="${src.dir}"
459               classpath=""               classpath=""
460                 source="9"
461               executable="${javadoc9}">               executable="${javadoc9}">
462        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
463          <include name="**/*.java"/>          <include name="**/*.java"/>
# Line 444  Line 465 
465        <arg line="-Xdocrootparent ${java9.docroot.url}"/>        <arg line="-Xdocrootparent ${java9.docroot.url}"/>
466        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
467        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
468  <!--  TODO     <arg value="-Xmodule:java.base"/> -->        <arg value="-html5"/>
469          <arg value="--patch-module=java.base=${src.dir}"/>
470        <arg value="-tag"/>        <arg value="-tag"/>
471        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
472    <!-- @apiNote currently unused -->
473    <!--       <arg value="-tag"/> -->
474    <!--       <arg value="apiNote:a:API Note:"/> -->
475        <arg value="-tag"/>        <arg value="-tag"/>
476        <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>        <arg value="implSpec:a:Implementation Requirements:"/>
477        <arg value="-tag"/>        <arg value="-tag"/>
478        <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>        <arg value="implNote:a:Implementation Note:"/>
479        <arg value="-tag"/>  <!-- tags added in jdk9: currently unused -->
480        <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>  <!--       <arg value="-tag"/> -->
481  <!-- tags added in jdk9 -->  <!--       <arg value="revised:X"/> -->
482        <arg value="-tag"/>  <!--       <arg value="-tag"/> -->
483        <arg value="revised:X"/>  <!--       <arg value="spec:X"/> -->
       <arg value="-tag"/>  
       <arg value="spec:X"/>  
484      </javadoc>      </javadoc>
485    </target>    </target>
486    
# Line 491  Line 514 
514    
515    <target name="clean"    <target name="clean"
516            description="Removes all build products">            description="Removes all build products">
   
517      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
   
518    </target>    </target>
519    
520    
521    <target name="dist-clean"    <target name="dist-clean"
522            description="Removes all build and distribution products">            description="Removes all build and distribution products">
   
523      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
524      <delete dir="${dist.dir}"/>      <delete dir="${dist.dir}"/>
   
525    </target>    </target>
526    
527    
# Line 523  Line 542 
542      <run-tck-tests      <run-tck-tests
543        target="${build.main.java.version}"        target="${build.main.java.version}"
544        workdir="${build.dir}"        workdir="${build.dir}"
545        classes="${product.jar}"/>        classes="${product.jar}">
546          <javac-elements>
547            <compilerarg value="-Werror"/>
548          </javac-elements>
549        </run-tck-tests>
550    </target>    </target>
551    
552    <target name="tck-parallelism-1"    <target name="tck-parallelism-1"
# Line 558  Line 581 
581    
582    <target name="test"    <target name="test"
583            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
584            description="Runs tck and jtreg tests for src/main">            description="Runs tck and jtreg tests for src/main"/>
   </target>  
585    
586  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
587    
# Line 591  Line 613 
613    
614    <target name="configure-compiler">    <target name="configure-compiler">
615      <fail message="ant version too old">      <fail message="ant version too old">
616        <condition>        <condition> <not> <antversion atleast="1.9.1"/> </not> </condition>
         <not> <antversion atleast="1.9.1"/> </not>  
       </condition>  
617      </fail>      </fail>
618    
619      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
# Line 627  Line 647 
647        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
648             source="${build.sourcelevel}"             source="${build.sourcelevel}"
649             target="${build.sourcelevel}"             target="${build.sourcelevel}"
650             encoding="ASCII"
651               fork="true">               fork="true">
652    
653        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 638  Line 659 
659      <java classname="ALoops" fork="true">      <java classname="ALoops" fork="true">
660        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
661      </java>      </java>
   
662    </target>    </target>
663    
664    
665    <target name="compile-test-loops" depends="jar"    <target name="compile-test-loops" depends="jar"
666            description="compile all the perf tests in src/test/loops">            description="Compiles all the perf tests in src/test/loops">
667    
668      <mkdir dir="${build.dir}/test/loops"/>      <mkdir dir="${build.dir}/test/loops"/>
669    
# Line 654  Line 674 
674             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
675             includeAntRuntime="false"             includeAntRuntime="false"
676             includeJavaRuntime="false"             includeJavaRuntime="false"
677               encoding="ASCII"
678             executable="${javac9}"             executable="${javac9}"
679             fork="true">             fork="true">
680    
# Line 662  Line 683 
683        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
684        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
685        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
686      </javac>      </javac>
   
687    </target>    </target>
688    
689    
# Line 687  Line 706 
706             bootclasspath="${bootclasspath8}"             bootclasspath="${bootclasspath8}"
707             includeAntRuntime="false"             includeAntRuntime="false"
708             includeJavaRuntime="false"             includeJavaRuntime="false"
709               encoding="ASCII"
710             executable="${javac8}"             executable="${javac8}"
711             fork="true">             fork="true">
   
712        <include name="**/*.java"/>        <include name="**/*.java"/>
713        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
714        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
715        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
716        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
717        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
718      </javac>      </javac>
719    </target>    </target>
720    
# Line 717  Line 735 
735             bootclasspath="${bootclasspath8}"             bootclasspath="${bootclasspath8}"
736             includeAntRuntime="false"             includeAntRuntime="false"
737             includeJavaRuntime="false"             includeJavaRuntime="false"
738               encoding="ASCII"
739             executable="${javac8}"             executable="${javac8}"
740             fork="true">             fork="true">
   
741        <include name="**/*.java"/>        <include name="**/*.java"/>
742        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
743        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
744        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
745        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
746        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
747      </javac>      </javac>
748    </target>    </target>
749    
# Line 742  Line 759 
759          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
760        </manifest>        </manifest>
761      </jar>      </jar>
   
762    </target>    </target>
763    
764    
# Line 758  Line 774 
774          <!-- JDK9+ test classes -->          <!-- JDK9+ test classes -->
775          <exclude name="*9Test.java"/>          <exclude name="*9Test.java"/>
776          <exclude name="*10Test.java"/>          <exclude name="*10Test.java"/>
777            <compilerarg value="-Werror"/>
778        </javac-elements>        </javac-elements>
779      </run-tck-tests>      </run-tck-tests>
780    </target>    </target>
# Line 775  Line 792 
792    
793    <target name="4jdk8-test"    <target name="4jdk8-test"
794            depends="4jdk8-tck, 4jdk8-jtreg"            depends="4jdk8-tck, 4jdk8-jtreg"
795            description="Runs tck and jtreg tests for jsr166-4jdk8">            description="Runs tck and jtreg tests for jsr166-4jdk8"/>
   </target>  
796    
797    
798    <target name="4jdk8docs"    <target name="4jdk8docs"
# Line 792  Line 808 
808               access="${build.javadoc.access}"               access="${build.javadoc.access}"
809               sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"               sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
810               classpath=""               classpath=""
811                 source="8"
812               executable="${javadoc8}"               executable="${javadoc8}"
813               failonerror = "true">               failonerror = "true">
814        <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
# Line 801  Line 818 
818        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
819        <arg value="-tag"/>        <arg value="-tag"/>
820        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
821        <arg value="-tag"/>  <!-- @apiNote currently unused -->
822        <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>  <!--       <arg value="-tag"/> -->
823    <!--       <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/> -->
824        <arg value="-tag"/>        <arg value="-tag"/>
825        <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>        <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
826        <arg value="-tag"/>        <arg value="-tag"/>
# Line 818  Line 836 
836    
837    <target name="4jdk8clean"    <target name="4jdk8clean"
838            description="Removes all 4jdk8 build products">            description="Removes all 4jdk8 build products">
   
839      <delete dir="${build.4jdk8.dir}"/>      <delete dir="${build.4jdk8.dir}"/>
   
840    </target>    </target>
841    
842    
# Line 836  Line 852 
852    </target>    </target>
853    
854    
855      <!-- jsr166 4jdk7 (no longer maintained) -->
856    
857    <!-- jsr166 4jdk7 -->    <target name="4jdk7compile" depends="configure-compiler">
   
   <target name="4jdk7compile"  
           depends="configure-compiler"  
           description="Compiles src/jdk7 sources, targeting jdk7">  
   
858      <mkdir dir="${build.4jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
859    
860      <javac srcdir="${4jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
# Line 856  Line 868 
868             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
869             includeAntRuntime="false"             includeAntRuntime="false"
870             includeJavaRuntime="false"             includeJavaRuntime="false"
871               encoding="ASCII"
872             executable="${javac7}"             executable="${javac7}"
873             fork="true">             fork="true">
874    
# Line 865  Line 878 
878        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
879        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
880        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
881      </javac>      </javac>
882    </target>    </target>
883    
884    <target name="4jdk7doclint"    <target name="4jdk7doclint" depends="configure-compiler">
           depends="configure-compiler"  
           description="Finds doclint warnings">  
   
885      <mkdir dir="${build.4jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
886    
887      <javac srcdir="${4jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
# Line 886  Line 895 
895             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
896             includeAntRuntime="false"             includeAntRuntime="false"
897             includeJavaRuntime="false"             includeJavaRuntime="false"
898               encoding="ASCII"
899             executable="${javac8}"             executable="${javac8}"
900             fork="true">             fork="true">
901    
# Line 895  Line 905 
905        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
906        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected"/>
907        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
908      </javac>      </javac>
909    </target>    </target>
910    
911      <target name="4jdk7jar" depends="4jdk7compile">
   <target name="4jdk7jar"  
           depends="4jdk7compile"  
           description="Builds library jar from compiled sources">  
   
912      <jar destfile="${4jdk7product.jar}">      <jar destfile="${4jdk7product.jar}">
913        <fileset dir="${build.4jdk7.classes.dir}"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
914        <manifest>        <manifest>
# Line 911  Line 916 
916          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
917        </manifest>        </manifest>
918      </jar>      </jar>
   
919    </target>    </target>
920    
921      <target name="4jdk7-tck" depends="4jdk7jar">
   <target name="4jdk7-tck"  
           depends="4jdk7jar"  
           description="Runs tck tests for jsr166-4jdk7 directly">  
   
922      <run-tck-tests      <run-tck-tests
923        target="7"        target="7"
924        workdir="${build.4jdk7.dir}"        workdir="${build.4jdk7.dir}"
# Line 936  Line 936 
936          <exclude name="SplittableRandomTest.java"/>          <exclude name="SplittableRandomTest.java"/>
937          <exclude name="StampedLockTest.java"/>          <exclude name="StampedLockTest.java"/>
938          <exclude name="SubmissionPublisherTest.java"/>          <exclude name="SubmissionPublisherTest.java"/>
939            <compilerarg value="-Werror"/>
940        </javac-elements>        </javac-elements>
941      </run-tck-tests>      </run-tck-tests>
942    </target>    </target>
943    
   
944    <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->    <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
945    <target name="4jdk7-tck-junit"    <target name="4jdk7-tck-junit" depends="4jdk7compile">
           depends="4jdk7compile">  
946    
947      <junit printsummary="true"      <junit printsummary="true"
948             showoutput="true"             showoutput="true"
# Line 965  Line 964 
964    
965        <test name="${jsr166.tckTestClass}" haltonfailure="no">        <test name="${jsr166.tckTestClass}" haltonfailure="no">
966        </test>        </test>
   
967      </junit>      </junit>
968    </target>    </target>
969    
970    <target name="4jdk7-jtreg"    <target name="4jdk7-jtreg" depends="4jdk7jar">
           depends="4jdk7jar"  
           description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">  
971      <run-jtreg-tests      <run-jtreg-tests
972         target="7"         target="7"
973         workdir="${build.4jdk7.dir}"         workdir="${build.4jdk7.dir}"
974         classes="${4jdk7product.jar}"/>         classes="${4jdk7product.jar}"/>
975    </target>    </target>
976    
977      <target name="4jdk7-test" depends="4jdk7-tck, 4jdk7-jtreg"/>
978    
979    <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">  
   
980      <delete dir="${4jdk7docs.dir}"/>      <delete dir="${4jdk7docs.dir}"/>
981      <mkdir dir="${4jdk7docs.dir}"/>      <mkdir dir="${4jdk7docs.dir}"/>
982    
# Line 1008  Line 997 
997      </javadoc>      </javadoc>
998    </target>    </target>
999    
1000      <target name="4jdk7dist" depends="4jdk7dist-jar, 4jdk7dist-docs"/>
1001    
1002    <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">  
   
1003      <delete dir="${build.4jdk7.dir}"/>      <delete dir="${build.4jdk7.dir}"/>
   
1004    </target>    </target>
1005    
1006      <target name="4jdk7dist-jar" depends="4jdk7clean, 4jdk7jar">
   <target name="4jdk7dist-jar"  
           depends="4jdk7clean, 4jdk7jar">  
1007      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
1008    </target>    </target>
1009    
1010      <target name="4jdk7dist-docs" depends="4jdk7clean, 4jdk7docs">
   <target name="4jdk7dist-docs"  
           depends="4jdk7clean, 4jdk7docs">  
1011      <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>      <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
1012    </target>    </target>
1013    
1014    
1015    <!-- jsr166x -->    <!-- jsr166x (no longer maintained) -->
   
   <target name="jsr166xcompile"  
           depends="configure-compiler"  
           description="Compiles jsr166x sources to build dir">  
1016    
1017      <target name="jsr166xcompile" depends="configure-compiler">
1018      <mkdir dir="${build.jsr166x.classes.dir}"/>      <mkdir dir="${build.jsr166x.classes.dir}"/>
1019    
1020      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1053  Line 1028 
1028             target="5"             target="5"
1029             includeAntRuntime="false"             includeAntRuntime="false"
1030             includeJavaRuntime="false"             includeJavaRuntime="false"
1031               encoding="ASCII"
1032             executable="${javac7}"             executable="${javac7}"
1033             fork="true">             fork="true">
   
1034        <include name="jsr166x/**/*.java"/>        <include name="jsr166x/**/*.java"/>
1035        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1036        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
1037        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1038        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1039      </javac>      </javac>
1040    </target>    </target>
1041    
1042      <target name="jsr166xjar" depends="jsr166xcompile">
   <target name="jsr166xjar"  
           depends="jsr166xcompile"  
           description="Builds library jar from compiled sources">  
   
1043      <jar destfile="${jsr166x.jar}">      <jar destfile="${jsr166x.jar}">
1044        <fileset dir="${build.jsr166x.classes.dir}"/>        <fileset dir="${build.jsr166x.classes.dir}"/>
1045        <manifest>        <manifest>
# Line 1077  Line 1047 
1047          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1048        </manifest>        </manifest>
1049      </jar>      </jar>
   
1050    </target>    </target>
1051    
1052      <target name="jsr166xdocs">
   <target name="jsr166xdocs"  
           description="Builds javadocs to dist dir">  
   
1053      <delete dir="${jsr166xdocs.dir}"/>      <delete dir="${jsr166xdocs.dir}"/>
1054      <mkdir dir="${jsr166xdocs.dir}"/>      <mkdir dir="${jsr166xdocs.dir}"/>
1055    
# Line 1098  Line 1064 
1064               failonerror = "true">               failonerror = "true">
1065        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1066        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1067      </javadoc>      </javadoc>
1068    </target>    </target>
1069    
1070      <target name="jsr166xdist" depends="jsr166xdist-jar, jsr166xdist-docs"/>
1071    
1072    <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">  
   
1073      <delete dir="${build.jsr166x.dir}"/>      <delete dir="${build.jsr166x.dir}"/>
   
1074    </target>    </target>
1075    
1076      <target name="jsr166xdist-jar" depends="jsr166xclean, jsr166xjar">
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
1077      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
1078    </target>    </target>
1079    
1080    <target name="jsr166xdist-docs"    <target name="jsr166xdist-docs" depends="jsr166xclean, jsr166xdocs">
           depends="jsr166xclean, jsr166xdocs">  
1081      <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>      <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
1082    </target>    </target>
1083    
   <!-- jsr166y -->  
1084    
1085      <!-- jsr166y (no longer maintained) -->
1086    
1087    <target name="jsr166ycompile"    <target name="jsr166ycompile" depends="configure-compiler">
           depends="configure-compiler"  
           description="Compiles jsr166y sources">  
   
1088      <mkdir dir="${build.jsr166y.classes.dir}"/>      <mkdir dir="${build.jsr166y.classes.dir}"/>
1089    
1090      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1146  Line 1098 
1098             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1099             includeAntRuntime="false"             includeAntRuntime="false"
1100             includeJavaRuntime="false"             includeJavaRuntime="false"
1101               encoding="ASCII"
1102             executable="${javac7}"             executable="${javac7}"
1103             fork="true">             fork="true">
1104    
# Line 1154  Line 1107 
1107        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1108        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1109        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1110      </javac>      </javac>
1111    </target>    </target>
1112    
1113      <target name="jsr166yjar" depends="jsr166ycompile">
   <target name="jsr166yjar"  
           depends="jsr166ycompile"  
           description="Builds library jar from compiled sources">  
   
1114      <jar destfile="${jsr166y.jar}" index="true">      <jar destfile="${jsr166y.jar}" index="true">
1115        <fileset dir="${build.jsr166y.classes.dir}"/>        <fileset dir="${build.jsr166y.classes.dir}"/>
1116        <manifest>        <manifest>
# Line 1170  Line 1118 
1118          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1119        </manifest>        </manifest>
1120      </jar>      </jar>
   
1121    </target>    </target>
1122    
1123      <target name="jsr166ydocs">
   <target name="jsr166ydocs"  
           description="Builds javadocs to dist dir">  
   
1124      <delete dir="${jsr166ydocs.dir}"/>      <delete dir="${jsr166ydocs.dir}"/>
1125      <mkdir dir="${jsr166ydocs.dir}"/>      <mkdir dir="${jsr166ydocs.dir}"/>
1126    
# Line 1191  Line 1135 
1135               failonerror = "true">               failonerror = "true">
1136        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1137        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1138      </javadoc>      </javadoc>
1139    </target>    </target>
1140    
1141      <target name="jsr166ydist" depends="jsr166ydist-jar, jsr166ydist-docs"/>
1142    
1143    <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">  
   
1144      <delete dir="${build.jsr166y.dir}"/>      <delete dir="${build.jsr166y.dir}"/>
   
1145    </target>    </target>
1146    
1147      <target name="jsr166ydist-jar" depends="jsr166yclean, jsr166yjar">
   <target name="jsr166ydist-jar"  
           depends="jsr166yclean, jsr166yjar">  
1148      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1149    </target>    </target>
1150    
1151    <target name="jsr166ydist-docs"    <target name="jsr166ydist-docs" depends="jsr166yclean, jsr166ydocs">
           depends="jsr166yclean, jsr166ydocs">  
1152      <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>      <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1153    </target>    </target>
1154    
1155    
1156    <!-- extra166y -->    <!-- extra166y (no longer maintained) -->
   
   
   <target name="extra166ycompile"  
           depends="configure-compiler, jsr166yjar"  
           description="Compiles extra166y sources">  
1157    
1158      <target name="extra166ycompile" depends="configure-compiler, jsr166yjar">
1159      <mkdir dir="${build.extra166y.classes.dir}"/>      <mkdir dir="${build.extra166y.classes.dir}"/>
1160    
1161      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1240  Line 1169 
1169             target="6"             target="6"
1170             includeAntRuntime="false"             includeAntRuntime="false"
1171             includeJavaRuntime="false"             includeJavaRuntime="false"
1172               encoding="ASCII"
1173             executable="${javac7}"             executable="${javac7}"
1174             fork="true">             fork="true">
1175    
# Line 1248  Line 1178 
1178        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1179        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1180        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1181      </javac>      </javac>
1182    </target>    </target>
1183    
1184      <target name="extra166yjar" depends="extra166ycompile">
   <target name="extra166yjar"  
           depends="extra166ycompile"  
           description="Builds library jar from compiled sources">  
   
1185      <jar destfile="${extra166y.jar}" index="true">      <jar destfile="${extra166y.jar}" index="true">
1186        <fileset dir="${build.extra166y.classes.dir}"/>        <fileset dir="${build.extra166y.classes.dir}"/>
1187        <manifest>        <manifest>
# Line 1264  Line 1189 
1189          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1190        </manifest>        </manifest>
1191      </jar>      </jar>
   
1192    </target>    </target>
1193    
1194      <target name="extra166ydocs">
   <target name="extra166ydocs"  
           description="Builds javadocs to build dir">  
   
1195      <delete dir="${extra166ydocs.dir}"/>      <delete dir="${extra166ydocs.dir}"/>
1196      <mkdir dir="${extra166ydocs.dir}"/>      <mkdir dir="${extra166ydocs.dir}"/>
1197    
# Line 1284  Line 1205 
1205               executable="${javadoc7}">               executable="${javadoc7}">
1206        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1207        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1208      </javadoc>      </javadoc>
1209    </target>    </target>
1210    
1211      <target name="extra166ydist" depends="extra166ydist-jar, extra166ydist-docs"/>
1212    
1213    <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">  
   
1214      <delete dir="${build.extra166y.dir}"/>      <delete dir="${build.extra166y.dir}"/>
   
1215    </target>    </target>
1216    
1217      <target name="extra166ydist-jar" depends="extra166yclean, extra166yjar">
   <target name="extra166ydist-jar"  
           depends="extra166yclean, extra166yjar">  
1218      <copy file="${extra166y.jar}" todir="${dist.dir}"/>      <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1219    </target>    </target>
1220    
1221    <target name="extra166ydist-docs"    <target name="extra166ydist-docs" depends="extra166yclean, extra166ydocs">
           depends="extra166yclean, extra166ydocs">  
1222      <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>      <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1223    </target>    </target>
1224    
1225    <!-- jsr166e -->  
1226      <!-- jsr166e (no longer maintained) -->
1227    
1228    <property name="build.jsr166e.java.version" value="6"/>    <property name="build.jsr166e.java.version" value="6"/>
1229    <property name="build.jsr166e.javac" value="${javac6}"/>    <property name="build.jsr166e.javac" value="${javac6}"/>
1230    
1231    <target name="jsr166ecompile"    <target name="jsr166ecompile" depends="configure-compiler">
           depends="configure-compiler"  
           description="Compiles jsr166e sources">  
   
1232      <mkdir dir="${build.jsr166e.classes.dir}"/>      <mkdir dir="${build.jsr166e.classes.dir}"/>
1233    
1234      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1341  Line 1249 
1249        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1250        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1251        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1252      </javac>      </javac>
1253    </target>    </target>
1254    
   <!-- jsr166e: find doclint errors -->  
1255    <target name="jsr166edoclint">    <target name="jsr166edoclint">
   
1256      <mkdir dir="${build.jsr166e.classes.dir}"/>      <mkdir dir="${build.jsr166e.classes.dir}"/>
1257    
1258      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1369  Line 1274 
1274        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1275        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1276        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected"/>
   
1277      </javac>      </javac>
1278    </target>    </target>
1279    
1280      <target name="jsr166ejar" depends="jsr166ecompile">
   <target name="jsr166ejar"  
           depends="jsr166ecompile"  
           description="Builds library jar from compiled sources">  
   
1281      <jar destfile="${jsr166e.jar}" index="true">      <jar destfile="${jsr166e.jar}" index="true">
1282        <fileset dir="${build.jsr166e.classes.dir}"/>        <fileset dir="${build.jsr166e.classes.dir}"/>
1283        <manifest>        <manifest>
# Line 1385  Line 1285 
1285          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1286        </manifest>        </manifest>
1287      </jar>      </jar>
   
1288    </target>    </target>
1289    
1290      <target name="jsr166edocs">
   <target name="jsr166edocs"  
           description="Builds javadocs to build dir">  
   
1291      <delete dir="${jsr166edocs.dir}"/>      <delete dir="${jsr166edocs.dir}"/>
1292      <mkdir dir="${jsr166edocs.dir}"/>      <mkdir dir="${jsr166edocs.dir}"/>
1293    
# Line 1405  Line 1301 
1301               failonerror = "true">               failonerror = "true">
1302        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1303        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1304      </javadoc>      </javadoc>
1305    </target>    </target>
1306    
1307      <target name="jsr166e-tck-one-java-version" depends="jsr166ejar">
   <target name="jsr166e-tck-one-java-version"  
           depends="jsr166ejar">  
   
1308      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
   
1309      <run-tck-tests      <run-tck-tests
1310        tck.src.dir="${test.src.dir}/tck-jsr166e"        tck.src.dir="${test.src.dir}/tck-jsr166e"
1311        target="${build.jsr166e.java.version}"        target="${build.jsr166e.java.version}"
# Line 1422  Line 1313 
1313        classes="${jsr166e.jar}"/>        classes="${jsr166e.jar}"/>
1314    </target>    </target>
1315    
1316    <target name="jsr166e-tck"    <target name="jsr166e-tck">
           description="Runs tck tests for jsr166e for multiple java versions">  
1317    
1318  <!--     <antcall target="clean"/> -->  <!--     <antcall target="clean"/> -->
1319  <!--     <antcall target="jsr166e-tck-one-java-version"> -->  <!--     <antcall target="jsr166e-tck-one-java-version"> -->
# Line 1444  Line 1334 
1334      </antcall>      </antcall>
1335    </target>    </target>
1336    
1337      <target name="jsr166e-test" depends="jsr166e-tck"/>
1338    
1339    <target name="jsr166e-test"    <target name="jsr166edist" depends="jsr166edist-jar, jsr166edist-docs"/>
           depends="jsr166e-tck"  
           description="Runs all tests for jsr166e">  
   </target>  
   
   <target name="jsr166edist"  
           depends="jsr166edist-jar, jsr166edist-docs"  
           description="Puts all distributable products in single hierarchy"/>  
1340    
1341      <target name="jsr166eclean">
   <target name="jsr166eclean"  
           description="Removes all jsr166e build products">  
1342      <delete dir="${build.jsr166e.dir}"/>      <delete dir="${build.jsr166e.dir}"/>
1343    </target>    </target>
1344    
   
1345    <target name="jsr166edist-jar"    <target name="jsr166edist-jar"
1346            depends="jsr166eclean, jsr166ejar">            depends="jsr166eclean, jsr166ejar">
1347      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1348    </target>    </target>
1349    
1350    <target name="jsr166edist-docs"    <target name="jsr166edist-docs" depends="jsr166eclean, jsr166edocs">
           depends="jsr166eclean, jsr166edocs">  
1351      <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>      <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1352    </target>    </target>
1353    
# Line 1488  Line 1368 
1368    </target>    </target>
1369    
1370    
1371    <!-- ==============================================================
1372      Experimental errorprone support - http://errorprone.info
1373      You may need to bring your own errorprone jar.
1374    =================================================================== -->
1375      <target name="errorprone"
1376              depends="clean, configure-compiler"
1377              description="Run errorprone over jsr166 source code (experimental)">
1378    
1379        <local name="destdir"/>
1380        <property name="destdir" value="${build.classes.dir}/java.base"/>
1381        <mkdir dir="${destdir}"/>
1382    
1383        <javac srcdir="${src.dir}"
1384               destdir="${destdir}"
1385               debug="${build.debug}"
1386               debuglevel="${build.debuglevel}"
1387               deprecation="${build.deprecation}"
1388               classpath=""
1389               includeAntRuntime="false"
1390               includeJavaRuntime="false"
1391               encoding="ASCII"
1392               executable="${build.main.javac}"
1393               fork="true">
1394    
1395          <include name="**/*.java"/>
1396          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1397          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1398          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1399          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1400          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1401          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1402          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1403          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1404          <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1405          <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1406          <compilerarg value="-Xplugin:ErrorProne
1407                              -Xep:IdentityBinaryExpression:WARN
1408                              -Xep:MissingOverride:OFF
1409                              -Xep:MixedArrayDimensions:WARN
1410                              -Xep:RemoveUnusedImports:ERROR
1411                              -Xep:ClassName:ERROR
1412                              -Xep:MultipleTopLevelClasses:ERROR
1413                              -Xep:EmptyIf:ERROR
1414                              -Xep:LongLiteralLowerCaseSuffix:ERROR
1415                              -Xep:ArgumentParameterSwap:ERROR
1416                              -Xep:RedundantThrows:ERROR
1417                              -Xep:MethodCanBeStatic:WARN"/>
1418          <compilerarg value="--patch-module=java.base=${src.dir}"/>
1419          <compilerarg value="-Xprefer:source"/>
1420          <compilerarg value="-XDignore.symbol.file=true"/>
1421          <compilerarg value="-Xlint:all"/>
1422          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
1423          <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1424          <compilerarg line="${build.args}"/>
1425        </javac>
1426    
1427        <jar destfile="${product.jar}">
1428          <fileset dir="${destdir}"/>
1429        </jar>
1430    
1431        <run-tck-tests
1432          target="${build.main.java.version}"
1433          workdir="${build.dir}"
1434          classes="${product.jar}">
1435          <javac-elements>
1436            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1437            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1438            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1439            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1440            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1441            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1442            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1443            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1444            <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1445            <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1446            <compilerarg value="-Xplugin:ErrorProne
1447                                -Xep:IdentityBinaryExpression:WARN
1448                                -Xep:BoxedPrimitiveConstructor:OFF
1449                                -Xep:HashtableContains:OFF
1450                                -Xep:ModifyingCollectionWithItself:OFF
1451                                -Xep:MissingOverride:OFF
1452                                -Xep:MixedArrayDimensions:WARN
1453                                -Xep:RemoveUnusedImports:ERROR
1454                                -Xep:ClassName:ERROR
1455                                -Xep:MultipleTopLevelClasses:ERROR
1456                                -Xep:EmptyIf:ERROR
1457                                -Xep:LongLiteralLowerCaseSuffix:ERROR
1458                                -Xep:ArgumentParameterSwap:ERROR
1459                                -Xep:RedundantThrows:ERROR
1460                                -Xep:MethodCanBeStatic:WARN"/>
1461            <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1462          </javac-elements>
1463        </run-tck-tests>
1464      </target>
1465    
1466    
1467    <!-- ==============================================================
1468      Running guava tests against jsr166 code
1469    =================================================================== -->
1470    
1471    <!-- <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" -->
1472    <!--   organisation="com.google.guava" module="guava-testlib" revision="21.0"/> -->
1473    <!-- <property name="guava.version" value="21.0"/> -->
1474    
1475    <!-- HOWTO debug print a path id -->
1476    <!-- <pathconvert property="guava.testlib.classpath" refid="guava.testlib.classpath" /> -->
1477    <!-- <echo message="guava.testlib.classpath=${guava.testlib.classpath}"/> -->
1478    
1479    <!-- <ivy:retrieve pathid="guava.tests.classpath" type="jar" inline="true" conf="*" pattern="${lib.dir}/[type]/[artifact].[ext]" -->
1480    <!--   organisation="com.google.guava" module="guava-tests"/> -->
1481    <!-- <get src="http://repo2.maven.org/maven2/com/google/guava/guava-tests/${guava.version}/guava-tests-${guava.version}-tests.jar" -->
1482    <!--   dest="${lib.dir}/jar/guava-tests-tests.jar" usetimestamp="true"/> -->
1483    <!--     <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" type="*" -->
1484    <!--       organisation="com.google.guava" module="guava-testlib" revision="${guava.version}"/> -->
1485    
1486    <!-- <test name="com.google.common.collect.testing.TestsForQueuesInJavaUtil"/> -->
1487    <!-- <test name="com.google.common.collect.testing.TestsForListsInJavaUtil"/> -->
1488    <!-- <test name="com.google.common.collect.testing.TestsForSetsInJavaUtil"/> -->
1489    <!-- <test name="com.google.common.collect.testing.TestsForMapsInJavaUtil"/> -->
1490    
1491    <!-- <ivy:retrieve pathid="guava.testlib.classpath" -->
1492    <!--   type="*" inline="true" conf="*(private),*(public)" -->
1493    <!--   pattern="${guava.dir}/[artifact].[ext]" -->
1494    <!--   organisation="com.google.guava" module="guava-testlib"/> -->
1495    
1496    <!-- Work around bug below by downloading guava-testlib-tests.jar "by hand": -->
1497    <!-- https://issues.apache.org/jira/browse/IVY-1444 -->
1498    <!-- maven tests artifacts cannot be downloaded because they are mapped to private configurations -->
1499    
1500      <target name="init-ivy">
1501        <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.4.0/ivy-2.4.0.jar"
1502             dest="${build.dir}/ivy.jar" usetimestamp="true" skipexisting="true"/>
1503        <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"
1504                 classpath="${build.dir}/ivy.jar"/>
1505      </target>
1506    
1507      <target name="guava-tests" depends="jar, init-ivy"
1508              description="Guava tests run against jsr166 collections">
1509        <property name="guava.dir" value="${build.dir}/guava-testlib"/>
1510        <mkdir dir="${guava.dir}"/>
1511        <ivy:retrieve pathid="guava.testlib.classpath"
1512          type="jar,bundle" inline="true" conf="default,master"
1513          pattern="${guava.dir}/[artifact].[ext]"
1514          organisation="com.google.guava" module="guava-testlib"/>
1515        <property name="guava.version" value="21.0"/>
1516        <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"
1517             dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1518        <junit printsummary="true" showoutput="true" haltonfailure="true"
1519               jvm="${java9}" fork="true">
1520          <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>
1521          <formatter type="brief"/>
1522          <classpath>
1523            <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>
1524            <path refid="guava.testlib.classpath"/>
1525          </classpath>
1526    
1527          <!-- "6" in "OpenJdk6Tests" misleadingly means "6+" -->
1528          <test name="com.google.common.collect.testing.OpenJdk6Tests"/>
1529        </junit>
1530      </target>
1531    
1532  </project>  </project>

Legend:
Removed from v.1.213  
changed lines
  Added in v.1.244

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