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

Diff of /jsr166/build.xml

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

revision 1.235 by jsr166, Sun Mar 19 01:37:51 2017 UTC revision 1.264 by jsr166, Wed Jan 24 01:11:10 2018 UTC
# Line 18  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/jdk7  
21    $HOME/jdk/jdk8    $HOME/jdk/jdk8
22    $HOME/jdk/jdk9    $HOME/jdk/jdk9
23    $HOME/jdk/jdk10    $HOME/jdk/jdk10
24      $HOME/jdk/jdk11
25    where each of the above is a JDK or a symlink to same, and    where each of the above is a JDK or a symlink to same, and
   $HOME/jdk/src/jdk7  
26    $HOME/jdk/src/jdk8    $HOME/jdk/src/jdk8
27    $HOME/jdk/src/jdk9    $HOME/jdk/src/jdk9
28    $HOME/jdk/src/jdk10    $HOME/jdk/src/jdk10
29      $HOME/jdk/src/jdk11
30    where each of the above is a complete JDK source tree    where each of the above is a complete JDK source tree
31    (e.g. mercurial forest) or a symlink to same.    (e.g. mercurial forest) or a symlink to same.
32    
33    Alternatively, define ant variables thus:    Alternatively, define ant variables thus:
34    ant -Djdk$N.home=... -Djdk$N.src.home=...    ant -Djdk$N.home=... -Djdk$N.src.home=...
35    for $N in 7 8 9 10 ...    for $N in 8 9 10 ...
36    
37    As of 2016-03, the sources in src/main are for jdk9+ only.    As of 2016-03, the sources in src/main are for jdk9+ only.
38  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
# Line 134  Line 134 
134    <defjdklocations v="8"/>    <defjdklocations v="8"/>
135    <defjdklocations v="9"/>    <defjdklocations v="9"/>
136    <defjdklocations v="10"/>    <defjdklocations v="10"/>
137      <defjdklocations v="11"/>
138    
139    <!-- Source locations -->    <!-- Source locations -->
140    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
# Line 144  Line 145 
145    <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg-jdk8"/>    <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg-jdk8"/>
146    <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>    <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>
147    <property name="jtreg10.src.dir"      location="${test.src.dir}/jtreg"/>    <property name="jtreg10.src.dir"      location="${test.src.dir}/jtreg"/>
148      <property name="jtreg11.src.dir"      location="${test.src.dir}/jtreg"/>
149    <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>    <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>
150    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
151    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
# Line 183  Line 185 
185    <property name="junit.jar"        location="${lib.dir}/junit.jar"/>    <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
186    
187    <!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag -->    <!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag -->
188    <property name="java5.docroot.url"      value="http://docs.oracle.com/javase/1.5.0/docs"/>    <!-- Switched to https: in 2017-10 - JDK-8190312 -->
189    <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>    <property name="java5.docroot.url"  value="https://docs.oracle.com/javase/1.5.0/docs"/>
190    <property name="java7.docroot.url"      value="http://docs.oracle.com/javase/7/docs"/>    <property name="java6.docroot.url"  value="https://docs.oracle.com/javase/6/docs"/>
191    <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>    <property name="java7.docroot.url"  value="https://docs.oracle.com/javase/7/docs"/>
192    <!-- The expected canonical location does not yet exist as of 2016-04 -->    <property name="java8.docroot.url"  value="https://docs.oracle.com/javase/8/docs"/>
193    <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->    <property name="java9.docroot.url"  value="https://docs.oracle.com/javase/9/docs"/>
194    <property name="java9.docroot.url"      value="http://download.java.net/java/jdk9/docs"/>    <!-- The location of jdk9 early access docs (RIP) -->
195      <!-- <property name="java9.docroot.url" value="http://download.java.net/java/jdk9/docs"/> -->
196    <!-- Default jdk doc location (latest stable release seems best) -->    <!-- Default jdk doc location (latest stable release seems best) -->
197    <property name="java.docroot.url"       value="${java8.docroot.url}"/>    <property name="java10.docroot.url" value="http://download.java.net/java/jdk10/docs"/>
198      <property name="java11.docroot.url" value="http://download.java.net/java/jdk11/docs"/>
199      <property name="java.docroot.url"   value="${java9.docroot.url}"/>
200    
201    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
202    <property name="java5.api.url"      value="${java5.docroot.url}/api/"/>    <property name="java5.api.url"      value="${java5.docroot.url}/api/"/>
# Line 199  Line 204 
204    <property name="java7.api.url"      value="${java7.docroot.url}/api/"/>    <property name="java7.api.url"      value="${java7.docroot.url}/api/"/>
205    <property name="java8.api.url"      value="${java8.docroot.url}/api/"/>    <property name="java8.api.url"      value="${java8.docroot.url}/api/"/>
206    <property name="java9.api.url"      value="${java9.docroot.url}/api/"/>    <property name="java9.api.url"      value="${java9.docroot.url}/api/"/>
207      <property name="java10.api.url"     value="${java10.docroot.url}/api/"/>
208      <property name="java11.api.url"     value="${java11.docroot.url}/api/"/>
209    <property name="java.api.url"       value="${java.docroot.url}/api/"/>    <property name="java.api.url"       value="${java.docroot.url}/api/"/>
210    
211    <!-- Define the "jtreg" task -->    <!-- Define the "jtreg" task -->
# Line 234  Line 241 
241        <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>        <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>
242      </condition>      </condition>
243    
244        <local name="use-doclint"/>
245        <condition property="use-doclint">
246          <not> <equals arg1="@{target}" arg2="7"/> </not>
247        </condition>
248    
249      <mkdir dir="@{workdir}/tck-classes"/>      <mkdir dir="@{workdir}/tck-classes"/>
250    
251      <javac srcdir="@{tck.src.dir}"      <javac srcdir="@{tck.src.dir}"
# Line 253  Line 265 
265        <include name="*.java"/>        <include name="*.java"/>
266        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
267        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>
268        <compilerarg value="-Xdoclint:reference/private"/>        <compilerarg value="-Xdoclint:reference/private" if:set="use-doclint"/>
269        <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>        <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
270        <compilerarg value="--patch-module=java.base=@{classes}" if:set="modules"/>        <compilerarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
271        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 293  Line 305 
305    </macrodef>    </macrodef>
306    
307    <!-- Define jtreg test sets for different jdk versions -->    <!-- Define jtreg test sets for different jdk versions -->
308      <fileset dir="${jtreg11.src.dir}">
309        <patternset id="jdk11.jtreg.tests">
310          <include name="**/*.java"/>
311        </patternset>
312      </fileset>
313    
314      <fileset dir="${jtreg10.src.dir}">
315        <patternset id="jdk10.jtreg.tests">
316          <include name="**/*.java"/>
317        </patternset>
318      </fileset>
319    
320    <fileset dir="${jtreg9.src.dir}">    <fileset dir="${jtreg9.src.dir}">
321      <patternset id="jdk9.jtreg.tests">      <patternset id="jdk9.jtreg.tests">
322        <include name="**/*.java"/>        <include name="**/*.java"/>
# Line 316  Line 340 
340    
341    <macrodef name="run-jtreg-tests">    <macrodef name="run-jtreg-tests">
342      <!-- 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"/>  
343      <attribute name="target"/>      <attribute name="target"/>
344      <attribute name="workdir"/>      <attribute name="workdir"/>
345      <attribute name="classes"/>      <attribute name="classes"/>
346        <attribute name="verbose" default="${jtreg.verbose}"/>
347      <attribute name="jtregflags" default=""/>      <attribute name="jtregflags" default=""/>
348        <element name="jtreg-elements" optional="true"/>
349    
350      <sequential>      <sequential>
351    
# Line 338  Line 363 
363             workDir="@{workdir}/JTwork">             workDir="@{workdir}/JTwork">
364        <patternset refid="jdk@{target}.jtreg.tests"/>        <patternset refid="jdk@{target}.jtreg.tests"/>
365        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
366        <arg value="-javacoptions:--patch-module java.base=@{classes}" if:set="modules"/>        <arg value="-javacoptions:--patch-module=java.base=@{classes}" if:set="modules"/>
367        <arg value="-vmoptions:--patch-module java.base=@{classes}" if:set="modules"/>        <arg value="-vmoptions:--patch-module=java.base=@{classes}" if:set="modules"/>
368        <arg value="-agentvm"/>        <arg value="-agentvm"/>
369        <arg value="-noreport"/>        <arg value="-noreport"/>
370        <arg value="-verbose:${jtreg.verbose}"/>        <arg value="-verbose:@{verbose}"/>
371        <arg value="-vmoptions:-esa -ea"/>        <arg value="-vmoptions:-esa -ea"/>
372        <arg value="-automatic"/>        <arg value="-automatic"/>
373        <arg value="-k:!ignore"/>        <arg value="-k:!ignore"/>
374        <arg line="@{jtregflags}"/>        <arg line="@{jtregflags}"/>
375        <arg line="${jtreg.flags}"/>        <arg line="${jtreg.flags}"/>
376          <jtreg-elements/>
377      </jtreg>      </jtreg>
378      </sequential>      </sequential>
379    </macrodef>    </macrodef>
# Line 364  Line 390 
390    <!-- Main targets -->    <!-- Main targets -->
391    
392    <property name="build.main.java.version" value="9"/>    <property name="build.main.java.version" value="9"/>
393    <property name="build.main.javac" value="${javac9}"/>    <!-- Workaround "no nested properties in ant" -->
394      <macrodef name="define-build-main-properties">
395        <attribute name="v"/>
396        <sequential>
397          <property name="build.main.java"    value="${java@{v}}"/>
398          <property name="build.main.javac"   value="${javac@{v}}"/>
399          <property name="build.main.javadoc" value="${javadoc@{v}}"/>
400        </sequential>
401      </macrodef>
402      <define-build-main-properties v="${build.main.java.version}"/>
403    
404    <target name="dists"    <target name="dists"
405            depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"            depends="dist, 4jdk8dist"
406            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
407              <!--
408                  depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
409              -->
410    
411    <target name="compile"    <target name="compile"
412            depends="configure-compiler"            depends="configure-compiler"
413            description="Compiles src/main sources to build dir">            description="Compiles src/main sources to build dir">
414    
     <local name="modules"/>  
     <condition property="modules">  
       <and>  
         <available file="${jdk9.home}/jmods" type="dir"/>  
         <equals arg1="9" arg2="${build.main.java.version}"/>  
       </and>  
     </condition>  
   
415      <local name="destdir"/>      <local name="destdir"/>
416      <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"/>  
417    
418      <mkdir dir="${destdir}"/>      <mkdir dir="${destdir}"/>
419    
# Line 401  Line 430 
430             fork="true">             fork="true">
431    
432        <include name="**/*.java"/>        <include name="**/*.java"/>
433        <compilerarg value="--patch-module=java.base=${src.dir}" if:set="modules"/>        <compilerarg value="--patch-module=java.base=${src.dir}"/>
434        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
435        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
436        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
437        <compilerarg value="-Werror"/>        <compilerarg line="--doclint-format html5"/>
438        <compilerarg value="-Xdoclint:all/protected,reference/private"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
439          <compilerarg value="-Werror"/>
440        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
441        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
442    
# Line 450  Line 480 
480               access="${build.javadoc.access}"               access="${build.javadoc.access}"
481               sourcepath="${src.dir}"               sourcepath="${src.dir}"
482               classpath=""               classpath=""
483               executable="${javadoc9}">               source="9"
484                 executable="${build.main.javadoc}">
485        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
486          <include name="**/*.java"/>          <include name="**/*.java"/>
487        </fileset>        </fileset>
488        <arg line="-Xdocrootparent ${java9.docroot.url}"/>        <arg line="-Xdocrootparent ${java9.docroot.url}"/>
489        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
490        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
491          <arg value="-html5"/>
492        <arg value="--patch-module=java.base=${src.dir}"/>        <arg value="--patch-module=java.base=${src.dir}"/>
493        <arg value="-tag"/>        <arg value="-tag"/>
494        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
# Line 505  Line 537 
537    
538    <target name="clean"    <target name="clean"
539            description="Removes all build products">            description="Removes all build products">
   
540      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
   
541    </target>    </target>
542    
543    
544    <target name="dist-clean"    <target name="dist-clean"
545            description="Removes all build and distribution products">            description="Removes all build and distribution products">
   
546      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
547      <delete dir="${dist.dir}"/>      <delete dir="${dist.dir}"/>
   
548    </target>    </target>
549    
550    
# Line 537  Line 565 
565      <run-tck-tests      <run-tck-tests
566        target="${build.main.java.version}"        target="${build.main.java.version}"
567        workdir="${build.dir}"        workdir="${build.dir}"
568        classes="${product.jar}"/>        classes="${product.jar}">
569          <javac-elements>
570            <compilerarg value="-Werror"/>
571          </javac-elements>
572        </run-tck-tests>
573    </target>    </target>
574    
575    <target name="tck-parallelism-1"    <target name="tck-parallelism-1"
# Line 572  Line 604 
604    
605    <target name="test"    <target name="test"
606            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
607            description="Runs tck and jtreg tests for src/main">            description="Runs tck and jtreg tests for src/main"/>
   </target>  
608    
609  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
610    
# Line 584  Line 615 
615    
616  <!--   </target> -->  <!--   </target> -->
617    
618  <!--   <target name="test89" -->    <target name="test91011"
619  <!--           description="Runs tck and jtreg tests for src/main for multiple java versions"> -->            description="Runs tck and jtreg tests for src/main for multiple java versions">
620    
621  <!--     <antcall target="clean"/> -->      <antcall target="clean"/>
622  <!--     <antcall target="test"> -->      <antcall target="test">
623  <!--       <param name="build.main.java.version" value="8"/> -->        <param name="build.main.java.version" value="9"/>
624  <!--       <param name="build.main.javac" value="${javac8}"/> -->      </antcall>
 <!--     </antcall> -->  
625    
626  <!--     <antcall target="clean"/> -->      <antcall target="clean"/>
627  <!--     <antcall target="test"> -->      <antcall target="test">
628  <!--       <param name="build.main.java.version" value="9"/> -->        <param name="build.main.java.version" value="10"/>
629  <!--       <param name="build.main.javac" value="${javac9}"/> -->      </antcall>
 <!--     </antcall> -->  
630    
631  <!--   </target> -->      <antcall target="clean"/>
632        <antcall target="test">
633          <param name="build.main.java.version" value="11"/>
634        </antcall>
635    
636        <!-- Clean up to avoid obscure wrong class file version bugs -->
637        <antcall target="clean"/>
638    
639      </target>
640    
641    
642    
643    <target name="configure-compiler">    <target name="configure-compiler">
644      <fail message="ant version too old">      <fail message="ant version too old">
645        <condition>        <condition> <not> <antversion atleast="1.9.1"/> </not> </condition>
         <not> <antversion atleast="1.9.1"/> </not>  
       </condition>  
646      </fail>      </fail>
647    
648      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
# Line 653  Line 688 
688      <java classname="ALoops" fork="true">      <java classname="ALoops" fork="true">
689        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
690      </java>      </java>
   
691    </target>    </target>
692    
693    
694    <target name="compile-test-loops" depends="jar"    <target name="compile-test-loops" depends="jar"
695            description="compile all the perf tests in src/test/loops">            description="Compiles all the perf tests in src/test/loops">
696    
697      <mkdir dir="${build.dir}/test/loops"/>      <mkdir dir="${build.dir}/test/loops"/>
698    
# Line 670  Line 704 
704             includeAntRuntime="false"             includeAntRuntime="false"
705             includeJavaRuntime="false"             includeJavaRuntime="false"
706             encoding="ASCII"             encoding="ASCII"
707             executable="${javac9}"             executable="${build.main.javac}"
708             fork="true">             fork="true">
709    
710        <include name="*.java"/>        <include name="*.java"/>
# Line 678  Line 712 
712        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
713        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
714        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
715      </javac>      </javac>
   
716    </target>    </target>
717    
718    
# Line 706  Line 738 
738             encoding="ASCII"             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="-Werror"/>        <compilerarg value="-Werror"/>
746        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
747      </javac>      </javac>
748    </target>    </target>
749    
# Line 737  Line 767 
767             encoding="ASCII"             encoding="ASCII"
768             executable="${javac8}"             executable="${javac8}"
769             fork="true">             fork="true">
   
770        <include name="**/*.java"/>        <include name="**/*.java"/>
771        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
772        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
773        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
774        <compilerarg value="-Xdoclint:all/protected,reference/private"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
775        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
776      </javac>      </javac>
777    </target>    </target>
778    
# Line 760  Line 788 
788          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
789        </manifest>        </manifest>
790      </jar>      </jar>
   
791    </target>    </target>
792    
793    
# Line 776  Line 803 
803          <!-- JDK9+ test classes -->          <!-- JDK9+ test classes -->
804          <exclude name="*9Test.java"/>          <exclude name="*9Test.java"/>
805          <exclude name="*10Test.java"/>          <exclude name="*10Test.java"/>
806            <compilerarg value="-Werror"/>
807        </javac-elements>        </javac-elements>
808      </run-tck-tests>      </run-tck-tests>
809    </target>    </target>
# Line 793  Line 821 
821    
822    <target name="4jdk8-test"    <target name="4jdk8-test"
823            depends="4jdk8-tck, 4jdk8-jtreg"            depends="4jdk8-tck, 4jdk8-jtreg"
824            description="Runs tck and jtreg tests for jsr166-4jdk8">            description="Runs tck and jtreg tests for jsr166-4jdk8"/>
   </target>  
825    
826    
827    <target name="4jdk8docs"    <target name="4jdk8docs"
# Line 810  Line 837 
837               access="${build.javadoc.access}"               access="${build.javadoc.access}"
838               sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"               sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
839               classpath=""               classpath=""
840                 source="8"
841               executable="${javadoc8}"               executable="${javadoc8}"
842               failonerror = "true">               failonerror = "true">
843        <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
# Line 837  Line 865 
865    
866    <target name="4jdk8clean"    <target name="4jdk8clean"
867            description="Removes all 4jdk8 build products">            description="Removes all 4jdk8 build products">
   
868      <delete dir="${build.4jdk8.dir}"/>      <delete dir="${build.4jdk8.dir}"/>
   
869    </target>    </target>
870    
871    
# Line 855  Line 881 
881    </target>    </target>
882    
883    
884      <!-- jsr166 4jdk7 (no longer maintained) -->
885    
886    <!-- jsr166 4jdk7 -->    <target name="4jdk7compile" depends="configure-compiler">
   
   <target name="4jdk7compile"  
           depends="configure-compiler"  
           description="Compiles src/jdk7 sources, targeting jdk7">  
   
887      <mkdir dir="${build.4jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
888    
889      <javac srcdir="${4jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
# Line 885  Line 907 
907        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
908        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
909        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
910      </javac>      </javac>
911    </target>    </target>
912    
913    <target name="4jdk7doclint"    <target name="4jdk7doclint" depends="configure-compiler">
           depends="configure-compiler"  
           description="Finds doclint warnings">  
   
914      <mkdir dir="${build.4jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
915    
916      <javac srcdir="${4jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
# Line 916  Line 934 
934        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
935        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected"/>
936        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
937      </javac>      </javac>
938    </target>    </target>
939    
940      <target name="4jdk7jar" depends="4jdk7compile">
   <target name="4jdk7jar"  
           depends="4jdk7compile"  
           description="Builds library jar from compiled sources">  
   
941      <jar destfile="${4jdk7product.jar}">      <jar destfile="${4jdk7product.jar}">
942        <fileset dir="${build.4jdk7.classes.dir}"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
943        <manifest>        <manifest>
# Line 932  Line 945 
945          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
946        </manifest>        </manifest>
947      </jar>      </jar>
   
948    </target>    </target>
949    
950      <target name="4jdk7-tck" depends="4jdk7jar">
   <target name="4jdk7-tck"  
           depends="4jdk7jar"  
           description="Runs tck tests for jsr166-4jdk7 directly">  
   
951      <run-tck-tests      <run-tck-tests
952        target="7"        target="7"
953        workdir="${build.4jdk7.dir}"        workdir="${build.4jdk7.dir}"
# Line 957  Line 965 
965          <exclude name="SplittableRandomTest.java"/>          <exclude name="SplittableRandomTest.java"/>
966          <exclude name="StampedLockTest.java"/>          <exclude name="StampedLockTest.java"/>
967          <exclude name="SubmissionPublisherTest.java"/>          <exclude name="SubmissionPublisherTest.java"/>
968            <compilerarg value="-Werror"/>
969        </javac-elements>        </javac-elements>
970      </run-tck-tests>      </run-tck-tests>
971    </target>    </target>
972    
   
973    <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->    <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
974    <target name="4jdk7-tck-junit"    <target name="4jdk7-tck-junit" depends="4jdk7compile">
           depends="4jdk7compile">  
975    
976      <junit printsummary="true"      <junit printsummary="true"
977             showoutput="true"             showoutput="true"
# Line 986  Line 993 
993    
994        <test name="${jsr166.tckTestClass}" haltonfailure="no">        <test name="${jsr166.tckTestClass}" haltonfailure="no">
995        </test>        </test>
   
996      </junit>      </junit>
997    </target>    </target>
998    
999    <target name="4jdk7-jtreg"    <target name="4jdk7-jtreg" depends="4jdk7jar">
           depends="4jdk7jar"  
           description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">  
1000      <run-jtreg-tests      <run-jtreg-tests
1001         target="7"         target="7"
1002         workdir="${build.4jdk7.dir}"         workdir="${build.4jdk7.dir}"
1003         classes="${4jdk7product.jar}"/>         classes="${4jdk7product.jar}"/>
1004    </target>    </target>
1005    
1006      <target name="4jdk7-test" depends="4jdk7-tck, 4jdk7-jtreg"/>
1007    
1008    <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">  
   
1009      <delete dir="${4jdk7docs.dir}"/>      <delete dir="${4jdk7docs.dir}"/>
1010      <mkdir dir="${4jdk7docs.dir}"/>      <mkdir dir="${4jdk7docs.dir}"/>
1011    
# Line 1029  Line 1026 
1026      </javadoc>      </javadoc>
1027    </target>    </target>
1028    
1029      <target name="4jdk7dist" depends="4jdk7dist-jar, 4jdk7dist-docs"/>
1030    
1031    <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">  
   
1032      <delete dir="${build.4jdk7.dir}"/>      <delete dir="${build.4jdk7.dir}"/>
   
1033    </target>    </target>
1034    
1035      <target name="4jdk7dist-jar" depends="4jdk7clean, 4jdk7jar">
   <target name="4jdk7dist-jar"  
           depends="4jdk7clean, 4jdk7jar">  
1036      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
1037    </target>    </target>
1038    
1039      <target name="4jdk7dist-docs" depends="4jdk7clean, 4jdk7docs">
   <target name="4jdk7dist-docs"  
           depends="4jdk7clean, 4jdk7docs">  
1040      <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>      <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
1041    </target>    </target>
1042    
1043    
1044    <!-- jsr166x -->    <!-- jsr166x (no longer maintained) -->
   
   <target name="jsr166xcompile"  
           depends="configure-compiler"  
           description="Compiles jsr166x sources to build dir">  
1045    
1046      <target name="jsr166xcompile" depends="configure-compiler">
1047      <mkdir dir="${build.jsr166x.classes.dir}"/>      <mkdir dir="${build.jsr166x.classes.dir}"/>
1048    
1049      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1077  Line 1060 
1060             encoding="ASCII"             encoding="ASCII"
1061             executable="${javac7}"             executable="${javac7}"
1062             fork="true">             fork="true">
   
1063        <include name="jsr166x/**/*.java"/>        <include name="jsr166x/**/*.java"/>
1064        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1065        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
1066        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1067        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1068      </javac>      </javac>
1069    </target>    </target>
1070    
1071      <target name="jsr166xjar" depends="jsr166xcompile">
   <target name="jsr166xjar"  
           depends="jsr166xcompile"  
           description="Builds library jar from compiled sources">  
   
1072      <jar destfile="${jsr166x.jar}">      <jar destfile="${jsr166x.jar}">
1073        <fileset dir="${build.jsr166x.classes.dir}"/>        <fileset dir="${build.jsr166x.classes.dir}"/>
1074        <manifest>        <manifest>
# Line 1099  Line 1076 
1076          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1077        </manifest>        </manifest>
1078      </jar>      </jar>
   
1079    </target>    </target>
1080    
1081      <target name="jsr166xdocs">
   <target name="jsr166xdocs"  
           description="Builds javadocs to dist dir">  
   
1082      <delete dir="${jsr166xdocs.dir}"/>      <delete dir="${jsr166xdocs.dir}"/>
1083      <mkdir dir="${jsr166xdocs.dir}"/>      <mkdir dir="${jsr166xdocs.dir}"/>
1084    
# Line 1120  Line 1093 
1093               failonerror = "true">               failonerror = "true">
1094        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1095        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1096      </javadoc>      </javadoc>
1097    </target>    </target>
1098    
1099      <target name="jsr166xdist" depends="jsr166xdist-jar, jsr166xdist-docs"/>
1100    
1101    <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">  
   
1102      <delete dir="${build.jsr166x.dir}"/>      <delete dir="${build.jsr166x.dir}"/>
   
1103    </target>    </target>
1104    
1105      <target name="jsr166xdist-jar" depends="jsr166xclean, jsr166xjar">
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
1106      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
1107    </target>    </target>
1108    
1109    <target name="jsr166xdist-docs"    <target name="jsr166xdist-docs" depends="jsr166xclean, jsr166xdocs">
           depends="jsr166xclean, jsr166xdocs">  
1110      <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>      <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
1111    </target>    </target>
1112    
   <!-- jsr166y -->  
   
1113    
1114    <target name="jsr166ycompile"    <!-- jsr166y (no longer maintained) -->
           depends="configure-compiler"  
           description="Compiles jsr166y sources">  
1115    
1116      <target name="jsr166ycompile" depends="configure-compiler">
1117      <mkdir dir="${build.jsr166y.classes.dir}"/>      <mkdir dir="${build.jsr166y.classes.dir}"/>
1118    
1119      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1177  Line 1136 
1136        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1137        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1138        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1139      </javac>      </javac>
1140    </target>    </target>
1141    
1142      <target name="jsr166yjar" depends="jsr166ycompile">
   <target name="jsr166yjar"  
           depends="jsr166ycompile"  
           description="Builds library jar from compiled sources">  
   
1143      <jar destfile="${jsr166y.jar}" index="true">      <jar destfile="${jsr166y.jar}" index="true">
1144        <fileset dir="${build.jsr166y.classes.dir}"/>        <fileset dir="${build.jsr166y.classes.dir}"/>
1145        <manifest>        <manifest>
# Line 1193  Line 1147 
1147          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1148        </manifest>        </manifest>
1149      </jar>      </jar>
   
1150    </target>    </target>
1151    
1152      <target name="jsr166ydocs">
   <target name="jsr166ydocs"  
           description="Builds javadocs to dist dir">  
   
1153      <delete dir="${jsr166ydocs.dir}"/>      <delete dir="${jsr166ydocs.dir}"/>
1154      <mkdir dir="${jsr166ydocs.dir}"/>      <mkdir dir="${jsr166ydocs.dir}"/>
1155    
# Line 1214  Line 1164 
1164               failonerror = "true">               failonerror = "true">
1165        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1166        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1167      </javadoc>      </javadoc>
1168    </target>    </target>
1169    
1170      <target name="jsr166ydist" depends="jsr166ydist-jar, jsr166ydist-docs"/>
1171    
1172    <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">  
   
1173      <delete dir="${build.jsr166y.dir}"/>      <delete dir="${build.jsr166y.dir}"/>
   
1174    </target>    </target>
1175    
1176      <target name="jsr166ydist-jar" depends="jsr166yclean, jsr166yjar">
   <target name="jsr166ydist-jar"  
           depends="jsr166yclean, jsr166yjar">  
1177      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1178    </target>    </target>
1179    
1180    <target name="jsr166ydist-docs"    <target name="jsr166ydist-docs" depends="jsr166yclean, jsr166ydocs">
           depends="jsr166yclean, jsr166ydocs">  
1181      <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>      <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1182    </target>    </target>
1183    
1184    
1185    <!-- extra166y -->    <!-- extra166y (no longer maintained) -->
   
   
   <target name="extra166ycompile"  
           depends="configure-compiler, jsr166yjar"  
           description="Compiles extra166y sources">  
1186    
1187      <target name="extra166ycompile" depends="configure-compiler, jsr166yjar">
1188      <mkdir dir="${build.extra166y.classes.dir}"/>      <mkdir dir="${build.extra166y.classes.dir}"/>
1189    
1190      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1272  Line 1207 
1207        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1208        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1209        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1210      </javac>      </javac>
1211    </target>    </target>
1212    
1213      <target name="extra166yjar" depends="extra166ycompile">
   <target name="extra166yjar"  
           depends="extra166ycompile"  
           description="Builds library jar from compiled sources">  
   
1214      <jar destfile="${extra166y.jar}" index="true">      <jar destfile="${extra166y.jar}" index="true">
1215        <fileset dir="${build.extra166y.classes.dir}"/>        <fileset dir="${build.extra166y.classes.dir}"/>
1216        <manifest>        <manifest>
# Line 1288  Line 1218 
1218          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1219        </manifest>        </manifest>
1220      </jar>      </jar>
   
1221    </target>    </target>
1222    
1223      <target name="extra166ydocs">
   <target name="extra166ydocs"  
           description="Builds javadocs to build dir">  
   
1224      <delete dir="${extra166ydocs.dir}"/>      <delete dir="${extra166ydocs.dir}"/>
1225      <mkdir dir="${extra166ydocs.dir}"/>      <mkdir dir="${extra166ydocs.dir}"/>
1226    
# Line 1308  Line 1234 
1234               executable="${javadoc7}">               executable="${javadoc7}">
1235        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1236        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1237      </javadoc>      </javadoc>
1238    </target>    </target>
1239    
1240      <target name="extra166ydist" depends="extra166ydist-jar, extra166ydist-docs"/>
1241    
1242    <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">  
   
1243      <delete dir="${build.extra166y.dir}"/>      <delete dir="${build.extra166y.dir}"/>
   
1244    </target>    </target>
1245    
1246      <target name="extra166ydist-jar" depends="extra166yclean, extra166yjar">
   <target name="extra166ydist-jar"  
           depends="extra166yclean, extra166yjar">  
1247      <copy file="${extra166y.jar}" todir="${dist.dir}"/>      <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1248    </target>    </target>
1249    
1250    <target name="extra166ydist-docs"    <target name="extra166ydist-docs" depends="extra166yclean, extra166ydocs">
           depends="extra166yclean, extra166ydocs">  
1251      <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>      <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1252    </target>    </target>
1253    
1254    <!-- jsr166e -->  
1255      <!-- jsr166e (no longer maintained) -->
1256    
1257    <property name="build.jsr166e.java.version" value="6"/>    <property name="build.jsr166e.java.version" value="6"/>
1258    <property name="build.jsr166e.javac" value="${javac6}"/>    <property name="build.jsr166e.javac" value="${javac6}"/>
1259    
1260    <target name="jsr166ecompile"    <target name="jsr166ecompile" depends="configure-compiler">
           depends="configure-compiler"  
           description="Compiles jsr166e sources">  
   
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 1278 
1278        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1279        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1280        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1281      </javac>      </javac>
1282    </target>    </target>
1283    
   <!-- jsr166e: find doclint errors -->  
1284    <target name="jsr166edoclint">    <target name="jsr166edoclint">
   
1285      <mkdir dir="${build.jsr166e.classes.dir}"/>      <mkdir dir="${build.jsr166e.classes.dir}"/>
1286    
1287      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1393  Line 1303 
1303        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1304        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1305        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected"/>
   
1306      </javac>      </javac>
1307    </target>    </target>
1308    
1309      <target name="jsr166ejar" depends="jsr166ecompile">
   <target name="jsr166ejar"  
           depends="jsr166ecompile"  
           description="Builds library jar from compiled sources">  
   
1310      <jar destfile="${jsr166e.jar}" index="true">      <jar destfile="${jsr166e.jar}" index="true">
1311        <fileset dir="${build.jsr166e.classes.dir}"/>        <fileset dir="${build.jsr166e.classes.dir}"/>
1312        <manifest>        <manifest>
# Line 1409  Line 1314 
1314          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1315        </manifest>        </manifest>
1316      </jar>      </jar>
   
1317    </target>    </target>
1318    
1319      <target name="jsr166edocs">
   <target name="jsr166edocs"  
           description="Builds javadocs to build dir">  
   
1320      <delete dir="${jsr166edocs.dir}"/>      <delete dir="${jsr166edocs.dir}"/>
1321      <mkdir dir="${jsr166edocs.dir}"/>      <mkdir dir="${jsr166edocs.dir}"/>
1322    
# Line 1429  Line 1330 
1330               failonerror = "true">               failonerror = "true">
1331        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1332        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1333      </javadoc>      </javadoc>
1334    </target>    </target>
1335    
1336      <target name="jsr166e-tck-one-java-version" depends="jsr166ejar">
   <target name="jsr166e-tck-one-java-version"  
           depends="jsr166ejar">  
   
1337      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
   
1338      <run-tck-tests      <run-tck-tests
1339        tck.src.dir="${test.src.dir}/tck-jsr166e"        tck.src.dir="${test.src.dir}/tck-jsr166e"
1340        target="${build.jsr166e.java.version}"        target="${build.jsr166e.java.version}"
# Line 1446  Line 1342 
1342        classes="${jsr166e.jar}"/>        classes="${jsr166e.jar}"/>
1343    </target>    </target>
1344    
1345    <target name="jsr166e-tck"    <target name="jsr166e-tck">
           description="Runs tck tests for jsr166e for multiple java versions">  
1346    
1347  <!--     <antcall target="clean"/> -->  <!--     <antcall target="clean"/> -->
1348  <!--     <antcall target="jsr166e-tck-one-java-version"> -->  <!--     <antcall target="jsr166e-tck-one-java-version"> -->
# Line 1468  Line 1363 
1363      </antcall>      </antcall>
1364    </target>    </target>
1365    
1366      <target name="jsr166e-test" depends="jsr166e-tck"/>
1367    
1368    <target name="jsr166e-test"    <target name="jsr166edist" depends="jsr166edist-jar, jsr166edist-docs"/>
           depends="jsr166e-tck"  
           description="Runs all tests for jsr166e">  
   </target>  
1369    
1370    <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">  
1371      <delete dir="${build.jsr166e.dir}"/>      <delete dir="${build.jsr166e.dir}"/>
1372    </target>    </target>
1373    
   
1374    <target name="jsr166edist-jar"    <target name="jsr166edist-jar"
1375            depends="jsr166eclean, jsr166ejar">            depends="jsr166eclean, jsr166ejar">
1376      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1377    </target>    </target>
1378    
1379    <target name="jsr166edist-docs"    <target name="jsr166edist-docs" depends="jsr166eclean, jsr166edocs">
           depends="jsr166eclean, jsr166edocs">  
1380      <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>      <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1381    </target>    </target>
1382    
# Line 1511  Line 1396 
1396      </antcall>      </antcall>
1397    </target>    </target>
1398    
1399    
1400    <!-- ==============================================================
1401      Experimental errorprone support - http://errorprone.info
1402    =================================================================== -->
1403      <property name="errorprone.jar" location="${lib.dir}/error_prone_ant-2.2.0.jar"/>
1404      <property name="errorprone.jsr166.flags"
1405                value="-Xep:HashtableContains:OFF
1406                       -Xep:JdkObsolete:OFF
1407                       -Xep:MissingOverride:OFF
1408                       -Xep:MissingFail:OFF
1409                       -Xep:MixedArrayDimensions:ERROR
1410                       -Xep:RemoveUnusedImports:ERROR
1411                       -Xep:EmptyIf:ERROR
1412                       -Xep:MultipleTopLevelClasses:ERROR
1413                       -Xep:ClassName:ERROR
1414                       -Xep:LongLiteralLowerCaseSuffix:ERROR
1415                       -Xep:RedundantThrows:ERROR
1416                       -Xep:IdentityBinaryExpression:WARN
1417                       -Xep:MethodCanBeStatic:WARN"/>
1418      <!-- -Xep:WildcardImport:ERROR -->
1419      <property name="errorprone.jsr166.test.flags"
1420                value="-Xep:StringSplitter:OFF
1421                       -Xep:BoxedPrimitiveConstructor:OFF
1422                       -Xep:ModifyingCollectionWithItself:OFF"/>
1423      <!-- ant -emacs errorprone |& grep -EA1 '(warning|error):|warnings' -->
1424      <target name="errorprone"
1425              depends="clean, configure-compiler"
1426              description="Run errorprone over jsr166 source code (experimental)">
1427    
1428        <local name="destdir"/>
1429        <property name="destdir" value="${build.classes.dir}/java.base"/>
1430        <mkdir dir="${destdir}"/>
1431    
1432        <javac srcdir="${src.dir}"
1433               destdir="${destdir}"
1434               debug="${build.debug}"
1435               debuglevel="${build.debuglevel}"
1436               deprecation="${build.deprecation}"
1437               classpath=""
1438               includeAntRuntime="false"
1439               includeJavaRuntime="false"
1440               encoding="ASCII"
1441               executable="${build.main.javac}"
1442               fork="true">
1443    
1444          <include name="**/*.java"/>
1445          <compilerarg value="-XDcompilePolicy=simple"/>
1446          <compilerarg line="-processorpath ${errorprone.jar}"/>
1447          <compilerarg value="-Xplugin:ErrorProne
1448                              ${errorprone.jsr166.flags}"/>
1449          <compilerarg value="--patch-module=java.base=${src.dir}"/>
1450          <compilerarg value="-Xprefer:source"/>
1451          <compilerarg value="-XDignore.symbol.file=true"/>
1452          <compilerarg value="-Xlint:all"/>
1453          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
1454          <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1455          <compilerarg line="${build.args}"/>
1456        </javac>
1457    
1458        <jar destfile="${product.jar}">
1459          <fileset dir="${destdir}"/>
1460        </jar>
1461    
1462        <run-tck-tests
1463          target="${build.main.java.version}"
1464          workdir="${build.dir}"
1465          classes="${product.jar}">
1466          <javac-elements>
1467            <compilerarg value="-XDcompilePolicy=simple"/>
1468            <compilerarg line="-processorpath ${errorprone.jar}"/>
1469            <compilerarg value="-Xplugin:ErrorProne
1470                                ${errorprone.jsr166.flags}
1471                                ${errorprone.jsr166.test.flags}"/>
1472            <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1473          </javac-elements>
1474        </run-tck-tests>
1475      </target>
1476    
1477      <!-- ant -emacs errorprone-jtreg |& grep -EA1 '(warning|error):' -->
1478      <!-- -XDcompilePolicy=simple or byfile avoids confusing UnusedImports -->
1479      <target name="errorprone-jtreg"
1480              depends="jar"
1481              description="Run errorprone over jtreg tests (experimental)">
1482    
1483        <run-jtreg-tests
1484           target="${build.main.java.version}"
1485           workdir="${build.dir}"
1486           classes="${product.jar}"
1487           verbose="all">
1488          <jtreg-elements>
1489            <arg value="-javacoption:-XDcompilePolicy=simple"/>
1490            <arg value="-javacoption:-processorpath"/>
1491            <arg value="-javacoption:${errorprone.jar}"/>
1492            <arg value="-javacoption:-Xplugin:ErrorProne
1493                                ${errorprone.jsr166.flags}
1494                                ${errorprone.jsr166.test.flags}
1495                                -Xep:NonAtomicVolatileUpdate:OFF"/>
1496          </jtreg-elements>
1497        </run-jtreg-tests>
1498      </target>
1499    
1500    
1501  <!-- ==============================================================  <!-- ==============================================================
1502    Running guava tests against jsr166 code    Running guava tests against jsr166 code
1503  =================================================================== -->  =================================================================== -->
# Line 1563  Line 1550 
1550      <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"      <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"
1551           dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>           dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1552      <junit printsummary="true" showoutput="true" haltonfailure="true"      <junit printsummary="true" showoutput="true" haltonfailure="true"
1553             jvm="${java9}" fork="true">             jvm="${build.main.java}" fork="true">
1554        <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>        <jvmarg line="-ea -esa --patch-module=java.base=${product.jar}"/>
1555        <formatter type="brief"/>        <formatter type="brief"/>
1556        <classpath>        <classpath>
1557          <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>          <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>

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

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