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

Diff of /jsr166/build.xml

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

revision 1.212 by jsr166, Sat May 21 00:35:58 2016 UTC revision 1.238 by jsr166, Fri Mar 24 16:33:02 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  
21    $HOME/jdk/jdk7    $HOME/jdk/jdk7
22    $HOME/jdk/jdk8    $HOME/jdk/jdk8
23    $HOME/jdk/jdk9    $HOME/jdk/jdk9
24      $HOME/jdk/jdk10
25    where each of the above is a JDK or a symlink to same, and    where each of the above is a JDK or a symlink to same, and
   $HOME/jdk/src/jdk6  
26    $HOME/jdk/src/jdk7    $HOME/jdk/src/jdk7
27    $HOME/jdk/src/jdk8    $HOME/jdk/src/jdk8
28    $HOME/jdk/src/jdk9    $HOME/jdk/src/jdk9
29      $HOME/jdk/src/jdk10
30    where each of the above is a complete JDK source tree    where each of the above is a complete JDK source tree
31    (e.g. mercurial forest) or a symlink to same.    (e.g. mercurial forest) or a symlink to same.
32    
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 6 7 8 9 ...    for $N in 7 8 9 10 ...
36    
37    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.  
38  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
39    </description>    </description>
40    
# Line 63  Line 63 
63    <property name="build.classes.dir"           location="${build.dir}/classes"/>    <property name="build.classes.dir"           location="${build.dir}/classes"/>
64    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>
65    <property name="build.loops.dir"             location="${build.dir}/loops"/>    <property name="build.loops.dir"             location="${build.dir}/loops"/>
   <property name="build.reports.dir"           location="${build.dir}/reports"/>  
66    
67    <property name="build.4jdk7.dir"             location="${build.dir}/jsr166-4jdk7"/>    <property name="build.4jdk7.dir"             location="${build.dir}/jsr166-4jdk7"/>
68    <property name="build.4jdk7.classes.dir"     location="${build.4jdk7.dir}/classes"/>    <property name="build.4jdk7.classes.dir"     location="${build.4jdk7.dir}/classes"/>
# Line 134  Line 133 
133    <defjdklocations v="7"/>    <defjdklocations v="7"/>
134    <defjdklocations v="8"/>    <defjdklocations v="8"/>
135    <defjdklocations v="9"/>    <defjdklocations v="9"/>
136      <defjdklocations v="10"/>
137    
138    <!-- Source locations -->    <!-- Source locations -->
139    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
# Line 143  Line 143 
143    <property name="jtreg7.src.dir"       location="${test.src.dir}/jtreg-jdk7"/>    <property name="jtreg7.src.dir"       location="${test.src.dir}/jtreg-jdk7"/>
144    <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg-jdk8"/>    <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg-jdk8"/>
145    <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>    <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>
146      <property name="jtreg10.src.dir"      location="${test.src.dir}/jtreg"/>
147    <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>    <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>
148    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
149    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
# Line 188  Line 189 
189    <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"/>
190    <!-- The expected canonical location does not yet exist as of 2016-04 -->    <!-- The expected canonical location does not yet exist as of 2016-04 -->
191    <!-- <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"/> -->
192    <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"/>
193    <!-- Default jdk doc location (latest stable release seems best) -->    <!-- Default jdk doc location (latest stable release seems best) -->
194    <property name="java.docroot.url"       value="${java8.docroot.url}"/>    <property name="java.docroot.url"       value="${java8.docroot.url}"/>
195    
# Line 233  Line 234 
234        <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>        <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>
235      </condition>      </condition>
236    
237        <local name="use-doclint"/>
238        <condition property="use-doclint">
239          <not> <equals arg1="@{target}" arg2="7"/> </not>
240        </condition>
241    
242      <mkdir dir="@{workdir}/tck-classes"/>      <mkdir dir="@{workdir}/tck-classes"/>
243    
244      <javac srcdir="@{tck.src.dir}"      <javac srcdir="@{tck.src.dir}"
# Line 245  Line 251 
251             classpath="${junit.jar}"             classpath="${junit.jar}"
252             includeAntRuntime="false"             includeAntRuntime="false"
253             includeJavaRuntime="false"             includeJavaRuntime="false"
254               encoding="ASCII"
255             executable="${javac@{compile-target}}"             executable="${javac@{compile-target}}"
256             fork="true">             fork="true">
257    
258        <include name="*.java"/>        <include name="*.java"/>
259        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
260        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>
261          <compilerarg value="-Xdoclint:reference/private" if:set="use-doclint"/>
262        <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>        <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
263        <compilerarg value="-Xpatch:java.base=${build.classes.dir}/java.base" if:set="modules"/>        <compilerarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
264        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
265        <javac-elements/>        <javac-elements/>
266    
# Line 263  Line 271 
271            jvm="${java@{target}}"            jvm="${java@{target}}"
272            fork="true">            fork="true">
273          <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>          <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
274          <jvmarg value="-Xpatch:java.base=${build.classes.dir}/java.base" if:set="modules"/>          <jvmarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
275            <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" if:set="modules"/>
276            <jvmarg value="--add-opens=java.base/java.util=ALL-UNNAMED" if:set="modules"/>
277            <jvmarg value="--add-opens=java.base/java.util.concurrent=ALL-UNNAMED" if:set="modules"/>
278            <jvmarg value="--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED" if:set="modules"/>
279            <jvmarg value="--add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED" if:set="modules"/>
280          <jvmarg line="@{jvmflags}"/>          <jvmarg line="@{jvmflags}"/>
281            <!-- ant -Dvmoptions="-Xmx8m" -Djsr166.tckTestClass=CompletableFutureTest tck -->
282            <jvmarg line="${vmoptions}" if:set="vmoptions"/>
283    
284          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
285          <syspropertyset id="system-properties-used-by-tck">          <syspropertyset id="system-properties-used-by-tck">
286            <propertyref prefix="java.util.concurrent.ForkJoinPool"/>            <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
287            <propertyref prefix="jsr166."/>            <propertyref prefix="jsr166."/>
# Line 292  Line 307 
307    <fileset dir="${jtreg8.src.dir}">    <fileset dir="${jtreg8.src.dir}">
308      <patternset id="jdk8.jtreg.tests">      <patternset id="jdk8.jtreg.tests">
309        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/SpliteratorCharacteristics.java"/>  
       <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->  
       <exclude name="**/GCDuringIteration.java"/>  
310      </patternset>      </patternset>
311    </fileset>    </fileset>
312    
# Line 326  Line 338 
338      </condition>      </condition>
339    
340      <delete dir="@{workdir}/JTwork"   quiet="true"/>      <delete dir="@{workdir}/JTwork"   quiet="true"/>
     <delete dir="@{workdir}/JTreport" quiet="true"/>  
341      <jtreg dir="${jtreg@{target}.src.dir}"      <jtreg dir="${jtreg@{target}.src.dir}"
342             jdk="${jdk@{target}.home}"             jdk="${jdk@{target}.home}"
343             workDir="@{workdir}/JTwork"             workDir="@{workdir}/JTwork">
            reportDir="@{workdir}/JTreport">  
344        <patternset refid="jdk@{target}.jtreg.tests"/>        <patternset refid="jdk@{target}.jtreg.tests"/>
345        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
346        <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"/>
347          <arg value="-vmoptions:--patch-module java.base=@{classes}" if:set="modules"/>
348        <arg value="-agentvm"/>        <arg value="-agentvm"/>
349          <arg value="-noreport"/>
350        <arg value="-verbose:${jtreg.verbose}"/>        <arg value="-verbose:${jtreg.verbose}"/>
351        <arg value="-vmoptions:-esa -ea"/>        <arg value="-vmoptions:-esa -ea"/>
352        <arg value="-automatic"/>        <arg value="-automatic"/>
# Line 389  Line 401 
401             classpath=""             classpath=""
402             includeAntRuntime="false"             includeAntRuntime="false"
403             includeJavaRuntime="false"             includeJavaRuntime="false"
404               encoding="ASCII"
405             executable="${build.main.javac}"             executable="${build.main.javac}"
406             fork="true">             fork="true">
407    
408        <include name="**/*.java"/>        <include name="**/*.java"/>
409        <compilerarg value="-Xmodule:java.base" if:set="modules"/>        <compilerarg value="--patch-module=java.base=${src.dir}" if:set="modules"/>
410        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
411        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
412        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
413        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
414        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
415        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
416        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
417    
# Line 430  Line 443 
443      <!-- the packagenames="none" hack below prevents scanning the -->      <!-- the packagenames="none" hack below prevents scanning the -->
444      <!-- sourcepath for packages -->      <!-- sourcepath for packages -->
445    
446    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}" -->
447    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}:${jdk9.src.home}/jdk/src/java.logging/share/classes" -->
448    <!-- TODO: sourcepath="${src.dir}:${jdk9.home}/src.zip" -->
449    <!-- TODO: <arg line="-sourcepath ${src.dir}:${jdk9.home}/src.zip"/> -->
450    <!-- TODO: <arg line="- -module-source-path ${jdk9.home}/src.zip"/> -->
451      <javadoc destdir="${docs.dir}"      <javadoc destdir="${docs.dir}"
452               packagenames="none"               packagenames="none"
453               link="${java9.api.url}"               link="${java9.api.url}"
454               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
455               access="${build.javadoc.access}"               access="${build.javadoc.access}"
456               sourcepath="${src.dir}:${jdk9.src.dir}"               sourcepath="${src.dir}"
457               classpath=""               classpath=""
458               executable="${javadoc9}">               executable="${javadoc9}">
459        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
# Line 444  Line 462 
462        <arg line="-Xdocrootparent ${java9.docroot.url}"/>        <arg line="-Xdocrootparent ${java9.docroot.url}"/>
463        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
464        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
465  <!--  TODO     <arg value="-Xmodule:java.base"/> -->        <arg value="--patch-module=java.base=${src.dir}"/>
466        <arg value="-tag"/>        <arg value="-tag"/>
467        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
468    <!-- @apiNote currently unused -->
469    <!--       <arg value="-tag"/> -->
470    <!--       <arg value="apiNote:a:API Note:"/> -->
471        <arg value="-tag"/>        <arg value="-tag"/>
472        <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>        <arg value="implSpec:a:Implementation Requirements:"/>
       <arg value="-tag"/>  
       <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>  
       <arg value="-tag"/>  
       <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>  
 <!-- tags added in jdk9 -->  
       <arg value="-tag"/>  
       <arg value="revised:X"/>  
473        <arg value="-tag"/>        <arg value="-tag"/>
474        <arg value="spec:X"/>        <arg value="implNote:a:Implementation Note:"/>
475    <!-- tags added in jdk9: currently unused -->
476    <!--       <arg value="-tag"/> -->
477    <!--       <arg value="revised:X"/> -->
478    <!--       <arg value="-tag"/> -->
479    <!--       <arg value="spec:X"/> -->
480      </javadoc>      </javadoc>
481    </target>    </target>
482    
# 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 540  Line 563 
563      </antcall>      </antcall>
564    </target>    </target>
565    
566      <target name="tck-security-manager"
567              description="Runs tck with a security manager">
568        <antcall target="tck">
569          <param name="jsr166.useSecurityManager" value="true"/>
570        </antcall>
571      </target>
572    
573    <target name="jtreg"    <target name="jtreg"
574            depends="jar"            depends="jar"
575            description="Runs jtreg tests for src/main using the jtreg ant task">            description="Runs jtreg tests for src/main using the jtreg ant task">
# Line 584  Line 614 
614    
615    <target name="configure-compiler">    <target name="configure-compiler">
616      <fail message="ant version too old">      <fail message="ant version too old">
617        <condition>        <condition> <not> <antversion atleast="1.9.1"/> </not> </condition>
         <not> <antversion atleast="1.9.1"/> </not>  
       </condition>  
618      </fail>      </fail>
619    
620      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
# Line 620  Line 648 
648        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
649             source="${build.sourcelevel}"             source="${build.sourcelevel}"
650             target="${build.sourcelevel}"             target="${build.sourcelevel}"
651             encoding="ASCII"
652               fork="true">               fork="true">
653    
654        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 647  Line 676 
676             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
677             includeAntRuntime="false"             includeAntRuntime="false"
678             includeJavaRuntime="false"             includeJavaRuntime="false"
679               encoding="ASCII"
680             executable="${javac9}"             executable="${javac9}"
681             fork="true">             fork="true">
682    
# Line 680  Line 710 
710             bootclasspath="${bootclasspath8}"             bootclasspath="${bootclasspath8}"
711             includeAntRuntime="false"             includeAntRuntime="false"
712             includeJavaRuntime="false"             includeJavaRuntime="false"
713               encoding="ASCII"
714             executable="${javac8}"             executable="${javac8}"
715             fork="true">             fork="true">
716    
# Line 710  Line 741 
741             bootclasspath="${bootclasspath8}"             bootclasspath="${bootclasspath8}"
742             includeAntRuntime="false"             includeAntRuntime="false"
743             includeJavaRuntime="false"             includeJavaRuntime="false"
744               encoding="ASCII"
745             executable="${javac8}"             executable="${javac8}"
746             fork="true">             fork="true">
747    
# Line 717  Line 749 
749        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
750        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
751        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
752        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
753        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
754    
755      </javac>      </javac>
# Line 751  Line 783 
783          <!-- JDK9+ test classes -->          <!-- JDK9+ test classes -->
784          <exclude name="*9Test.java"/>          <exclude name="*9Test.java"/>
785          <exclude name="*10Test.java"/>          <exclude name="*10Test.java"/>
786            <compilerarg value="-Werror"/>
787        </javac-elements>        </javac-elements>
788      </run-tck-tests>      </run-tck-tests>
789    </target>    </target>
# Line 794  Line 827 
827        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
828        <arg value="-tag"/>        <arg value="-tag"/>
829        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
830        <arg value="-tag"/>  <!-- @apiNote currently unused -->
831        <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>  <!--       <arg value="-tag"/> -->
832    <!--       <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/> -->
833        <arg value="-tag"/>        <arg value="-tag"/>
834        <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>        <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
835        <arg value="-tag"/>        <arg value="-tag"/>
# Line 849  Line 883 
883             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
884             includeAntRuntime="false"             includeAntRuntime="false"
885             includeJavaRuntime="false"             includeJavaRuntime="false"
886               encoding="ASCII"
887             executable="${javac7}"             executable="${javac7}"
888             fork="true">             fork="true">
889    
# Line 879  Line 914 
914             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
915             includeAntRuntime="false"             includeAntRuntime="false"
916             includeJavaRuntime="false"             includeJavaRuntime="false"
917               encoding="ASCII"
918             executable="${javac8}"             executable="${javac8}"
919             fork="true">             fork="true">
920    
# Line 929  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>
# Line 1046  Line 1083 
1083             target="5"             target="5"
1084             includeAntRuntime="false"             includeAntRuntime="false"
1085             includeJavaRuntime="false"             includeJavaRuntime="false"
1086               encoding="ASCII"
1087             executable="${javac7}"             executable="${javac7}"
1088             fork="true">             fork="true">
1089    
# Line 1139  Line 1177 
1177             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1178             includeAntRuntime="false"             includeAntRuntime="false"
1179             includeJavaRuntime="false"             includeJavaRuntime="false"
1180               encoding="ASCII"
1181             executable="${javac7}"             executable="${javac7}"
1182             fork="true">             fork="true">
1183    
# Line 1233  Line 1272 
1272             target="6"             target="6"
1273             includeAntRuntime="false"             includeAntRuntime="false"
1274             includeJavaRuntime="false"             includeJavaRuntime="false"
1275               encoding="ASCII"
1276             executable="${javac7}"             executable="${javac7}"
1277             fork="true">             fork="true">
1278    
# Line 1481  Line 1521 
1521    </target>    </target>
1522    
1523    
1524    <!-- ==============================================================
1525      Experimental errorprone support - http://errorprone.info
1526      You may need to bring your own errorprone jar.
1527    =================================================================== -->
1528      <target name="errorprone"
1529              depends="clean, configure-compiler"
1530              description="Run errorprone over jsr166 source code">
1531    
1532        <local name="destdir"/>
1533        <property name="destdir" value="${build.classes.dir}/java.base"/>
1534        <mkdir dir="${destdir}"/>
1535    
1536        <javac srcdir="${src.dir}"
1537               destdir="${destdir}"
1538               debug="${build.debug}"
1539               debuglevel="${build.debuglevel}"
1540               deprecation="${build.deprecation}"
1541               classpath=""
1542               includeAntRuntime="false"
1543               includeJavaRuntime="false"
1544               encoding="ASCII"
1545               executable="${build.main.javac}"
1546               fork="true">
1547    
1548          <include name="**/*.java"/>
1549          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1550          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1551          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1552          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1553          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1554          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1555          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1556          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1557          <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1558          <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1559          <compilerarg value="-Xplugin:ErrorProne
1560                              -Xep:IdentityBinaryExpression:WARN
1561                              -Xep:MissingOverride:OFF
1562                              -Xep:MixedArrayDimensions:WARN
1563                              -Xep:RemoveUnusedImports:ERROR
1564                              -Xep:MethodCanBeStatic:WARN"/>
1565          <compilerarg value="--patch-module=java.base=${src.dir}"/>
1566          <compilerarg value="-Xprefer:source"/>
1567          <compilerarg value="-XDignore.symbol.file=true"/>
1568          <compilerarg value="-Xlint:all"/>
1569          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
1570          <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1571          <compilerarg line="${build.args}"/>
1572        </javac>
1573    
1574        <jar destfile="${product.jar}">
1575          <fileset dir="${destdir}"/>
1576        </jar>
1577    
1578        <run-tck-tests
1579          target="${build.main.java.version}"
1580          workdir="${build.dir}"
1581          classes="${product.jar}">
1582          <javac-elements>
1583            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1584            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1585            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1586            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1587            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1588            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1589            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1590            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1591            <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1592            <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1593            <compilerarg value="-Xplugin:ErrorProne
1594                                -Xep:IdentityBinaryExpression:WARN
1595                                -Xep:BoxedPrimitiveConstructor:OFF
1596                                -Xep:HashtableContains:OFF
1597                                -Xep:ModifyingCollectionWithItself:OFF
1598                                -Xep:MissingOverride:OFF
1599                                -Xep:MixedArrayDimensions:WARN
1600                                -Xep:RemoveUnusedImports:ERROR
1601                                -Xep:MethodCanBeStatic:WARN"/>
1602            <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1603          </javac-elements>
1604        </run-tck-tests>
1605      </target>
1606    
1607    
1608    <!-- ==============================================================
1609      Running guava tests against jsr166 code
1610    =================================================================== -->
1611    
1612    <!-- <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" -->
1613    <!--   organisation="com.google.guava" module="guava-testlib" revision="21.0"/> -->
1614    <!-- <property name="guava.version" value="21.0"/> -->
1615    
1616    <!-- HOWTO debug print a path id -->
1617    <!-- <pathconvert property="guava.testlib.classpath" refid="guava.testlib.classpath" /> -->
1618    <!-- <echo message="guava.testlib.classpath=${guava.testlib.classpath}"/> -->
1619    
1620    <!-- <ivy:retrieve pathid="guava.tests.classpath" type="jar" inline="true" conf="*" pattern="${lib.dir}/[type]/[artifact].[ext]" -->
1621    <!--   organisation="com.google.guava" module="guava-tests"/> -->
1622    <!-- <get src="http://repo2.maven.org/maven2/com/google/guava/guava-tests/${guava.version}/guava-tests-${guava.version}-tests.jar" -->
1623    <!--   dest="${lib.dir}/jar/guava-tests-tests.jar" usetimestamp="true"/> -->
1624    <!--     <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" type="*" -->
1625    <!--       organisation="com.google.guava" module="guava-testlib" revision="${guava.version}"/> -->
1626    
1627    <!-- <test name="com.google.common.collect.testing.TestsForQueuesInJavaUtil"/> -->
1628    <!-- <test name="com.google.common.collect.testing.TestsForListsInJavaUtil"/> -->
1629    <!-- <test name="com.google.common.collect.testing.TestsForSetsInJavaUtil"/> -->
1630    <!-- <test name="com.google.common.collect.testing.TestsForMapsInJavaUtil"/> -->
1631    
1632    <!-- <ivy:retrieve pathid="guava.testlib.classpath" -->
1633    <!--   type="*" inline="true" conf="*(private),*(public)" -->
1634    <!--   pattern="${guava.dir}/[artifact].[ext]" -->
1635    <!--   organisation="com.google.guava" module="guava-testlib"/> -->
1636    
1637    <!-- Work around bug below by downloading guava-testlib-tests.jar "by hand": -->
1638    <!-- https://issues.apache.org/jira/browse/IVY-1444 -->
1639    <!-- maven tests artifacts cannot be downloaded because they are mapped to private configurations -->
1640    
1641      <target name="init-ivy">
1642        <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.4.0/ivy-2.4.0.jar"
1643             dest="${build.dir}/ivy.jar" usetimestamp="true" skipexisting="true"/>
1644        <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"
1645                 classpath="${build.dir}/ivy.jar"/>
1646      </target>
1647    
1648      <target name="guava-tests" depends="jar, init-ivy"
1649              description="Guava tests run against jsr166 collections">
1650        <property name="guava.dir" value="${build.dir}/guava-testlib"/>
1651        <mkdir dir="${guava.dir}"/>
1652        <ivy:retrieve pathid="guava.testlib.classpath"
1653          type="jar,bundle" inline="true" conf="default,master"
1654          pattern="${guava.dir}/[artifact].[ext]"
1655          organisation="com.google.guava" module="guava-testlib"/>
1656        <property name="guava.version" value="21.0"/>
1657        <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"
1658             dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1659        <junit printsummary="true" showoutput="true" haltonfailure="true"
1660               jvm="${java9}" fork="true">
1661          <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>
1662          <formatter type="brief"/>
1663          <classpath>
1664            <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>
1665            <path refid="guava.testlib.classpath"/>
1666          </classpath>
1667    
1668          <!-- "6" in "OpenJdk6Tests" misleadingly means "6+" -->
1669          <test name="com.google.common.collect.testing.OpenJdk6Tests"/>
1670        </junit>
1671      </target>
1672    
1673  </project>  </project>

Legend:
Removed from v.1.212  
changed lines
  Added in v.1.238

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