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

Diff of /jsr166/build.xml

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

revision 1.202, Sat Mar 26 15:10:14 2016 UTC revision 1.239, Sun Mar 26 10:40:29 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    
41    <!-- Display main targets by running 'ant -projecthelp' -->    <!-- Run 'ant -projecthelp' (default target) -->
42    <target name="usage">    <target name="usage">
43      <java classname="org.apache.tools.ant.Main">      <java classname="org.apache.tools.ant.Main">
44        <arg value="-projecthelp" />        <arg value="-projecthelp" />
# 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 186  Line 187 
187    <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>    <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>
188    <property name="java7.docroot.url"      value="http://docs.oracle.com/javase/7/docs"/>    <property name="java7.docroot.url"      value="http://docs.oracle.com/javase/7/docs"/>
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-03 -->    <!-- 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://download.java.net/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:${build.classes.dir}" 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:${build.classes.dir}" 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">
# 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"/>  
     <mkdir dir="@{workdir}/JTwork/scratch"/>  
     <!-- workaround for https://bugs.openjdk.java.net/browse/CODETOOLS-7901571 -->  
     <mkdir dir="@{workdir}/JTreport/html"/>  
     <mkdir dir="@{workdir}/JTreport/text"/>  
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="-Xpatch:${build.classes.dir}" 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 364  Line 372 
372    <property name="build.main.javac" value="${javac9}"/>    <property name="build.main.javac" value="${javac9}"/>
373    
374    <target name="dists"    <target name="dists"
375              <!--
376            depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"            depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
377              -->
378              depends="dist, 4jdk8dist"
379            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
380    
381    <target name="compile"    <target name="compile"
# Line 393  Line 404 
404             classpath=""             classpath=""
405             includeAntRuntime="false"             includeAntRuntime="false"
406             includeJavaRuntime="false"             includeJavaRuntime="false"
407               encoding="ASCII"
408             executable="${build.main.javac}"             executable="${build.main.javac}"
409             fork="true">             fork="true">
410    
411        <include name="**/*.java"/>        <include name="**/*.java"/>
412        <compilerarg value="-Xmodule:java.base" if:set="modules"/>        <compilerarg value="--patch-module=java.base=${src.dir}" if:set="modules"/>
413        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
414        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
415        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
416        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
417        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
418        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
419        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
420    
421      </javac>      </javac>
   
     <!-- We need jdk9's Contended annotation, but at compile time only -->  
     <!--  
         <delete file="${destdir}/jdk/internal/vm/annotation/Contended.class"/>  
     -->  
422    </target>    </target>
423    
424    
425    <target name="jar"    <target name="jar"
426            depends="compile"            depends="compile"
427            description="Builds library jar from compiled sources">            description="Builds library jar for src/main from compiled sources">
428        <local name="subdir"/>
429        <available property="subdir" file="${build.classes.dir}/java.base" type="dir" value="/java.base"/>
430      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
431        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}${subdir}"/>
432        <manifest>        <manifest>
433          <attribute name="Built-By" value="${user.name}"/>          <attribute name="Built-By" value="${user.name}"/>
434          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
# Line 438  Line 446 
446      <!-- the packagenames="none" hack below prevents scanning the -->      <!-- the packagenames="none" hack below prevents scanning the -->
447      <!-- sourcepath for packages -->      <!-- sourcepath for packages -->
448    
449    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}" -->
450    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}:${jdk9.src.home}/jdk/src/java.logging/share/classes" -->
451    <!-- TODO: sourcepath="${src.dir}:${jdk9.home}/src.zip" -->
452    <!-- TODO: <arg line="-sourcepath ${src.dir}:${jdk9.home}/src.zip"/> -->
453    <!-- TODO: <arg line="- -module-source-path ${jdk9.home}/src.zip"/> -->
454      <javadoc destdir="${docs.dir}"      <javadoc destdir="${docs.dir}"
455               packagenames="none"               packagenames="none"
456               link="${java9.api.url}"               link="${java9.api.url}"
457               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
458               access="${build.javadoc.access}"               access="${build.javadoc.access}"
459               sourcepath="${src.dir}:${jdk9.src.dir}"               sourcepath="${src.dir}"
460               classpath=""               classpath=""
461               executable="${javadoc9}">               executable="${javadoc9}">
462        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
# Line 452  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="--patch-module=java.base=${src.dir}"/>
469        <arg value="-tag"/>        <arg value="-tag"/>
470        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
471    <!-- @apiNote currently unused -->
472    <!--       <arg value="-tag"/> -->
473    <!--       <arg value="apiNote:a:API Note:"/> -->
474        <arg value="-tag"/>        <arg value="-tag"/>
475        <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 -->  
476        <arg value="-tag"/>        <arg value="-tag"/>
477        <arg value="revised:X"/>        <arg value="implNote:a:Implementation Note:"/>
478        <arg value="-tag"/>  <!-- tags added in jdk9: currently unused -->
479        <arg value="spec:X"/>  <!--       <arg value="-tag"/> -->
480    <!--       <arg value="revised:X"/> -->
481    <!--       <arg value="-tag"/> -->
482    <!--       <arg value="spec:X"/> -->
483      </javadoc>      </javadoc>
484    </target>    </target>
485    
# Line 526  Line 540 
540    
541    <target name="tck"    <target name="tck"
542            depends="jar"            depends="jar"
543            description="Runs tck tests for main directly">            description="Runs tck tests for src/main directly">
544    
545      <run-tck-tests      <run-tck-tests
546        target="${build.main.java.version}"        target="${build.main.java.version}"
547        workdir="${build.dir}"        workdir="${build.dir}"
548        classes="${product.jar}"/>        classes="${product.jar}">
549          <javac-elements>
550            <compilerarg value="-Werror"/>
551          </javac-elements>
552        </run-tck-tests>
553    </target>    </target>
554    
555    <target name="tck-parallelism-1"    <target name="tck-parallelism-1"
556            description="Runs tck with given common pool parallelism">            description="Runs tck with common pool parallelism 1">
557      <antcall target="tck">      <antcall target="tck">
558        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
559      </antcall>      </antcall>
560    </target>    </target>
561    
562    <target name="tck-parallelism-0"    <target name="tck-parallelism-0"
563            description="Runs tck with given common pool parallelism">            description="Runs tck with common pool parallelism 0">
564      <antcall target="tck">      <antcall target="tck">
565        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
566      </antcall>      </antcall>
567    </target>    </target>
568    
569      <target name="tck-security-manager"
570              description="Runs tck with a security manager">
571        <antcall target="tck">
572          <param name="jsr166.useSecurityManager" value="true"/>
573        </antcall>
574      </target>
575    
576    <target name="jtreg"    <target name="jtreg"
577            depends="jar"            depends="jar"
578            description="Runs jtreg tests for main using the jtreg ant task">            description="Runs jtreg tests for src/main using the jtreg ant task">
579      <run-jtreg-tests      <run-jtreg-tests
580         target="${build.main.java.version}"         target="${build.main.java.version}"
581         workdir="${build.dir}"         workdir="${build.dir}"
# Line 558  Line 583 
583    </target>    </target>
584    
585    <target name="test"    <target name="test"
586            depends="tck, tck-parallelism-1, jtreg"            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
587            description="Runs tck and jtreg tests for main">            description="Runs tck and jtreg tests for src/main">
588    </target>    </target>
589    
590    <target name="jtreg8" description="Runs jtreg tests with jdk8">  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
591    
592      <antcall target="jtreg">  <!--     <antcall target="jtreg"> -->
593        <param name="build.main.java.version" value="8"/>  <!--       <param name="build.main.java.version" value="8"/> -->
594        <param name="build.main.javac" value="${javac8}"/>  <!--       <param name="build.main.javac" value="${javac8}"/> -->
595      </antcall>  <!--     </antcall> -->
596    
597    </target>  <!--   </target> -->
598    
599    <target name="test89"  <!--   <target name="test89" -->
600            description="Runs tck and jtreg tests for main for multiple java versions">  <!--           description="Runs tck and jtreg tests for src/main for multiple java versions"> -->
601    
602      <antcall target="clean"/>  <!--     <antcall target="clean"/> -->
603      <antcall target="test">  <!--     <antcall target="test"> -->
604        <param name="build.main.java.version" value="8"/>  <!--       <param name="build.main.java.version" value="8"/> -->
605        <param name="build.main.javac" value="${javac8}"/>  <!--       <param name="build.main.javac" value="${javac8}"/> -->
606      </antcall>  <!--     </antcall> -->
607    
608      <antcall target="clean"/>  <!--     <antcall target="clean"/> -->
609      <antcall target="test">  <!--     <antcall target="test"> -->
610        <param name="build.main.java.version" value="9"/>  <!--       <param name="build.main.java.version" value="9"/> -->
611        <param name="build.main.javac" value="${javac9}"/>  <!--       <param name="build.main.javac" value="${javac9}"/> -->
612      </antcall>  <!--     </antcall> -->
613    
614    </target>  <!--   </target> -->
615    
616    
617    
618    <target name="configure-compiler">    <target name="configure-compiler">
619      <fail message="ant version too old">      <fail message="ant version too old">
620        <condition>        <condition> <not> <antversion atleast="1.9.1"/> </not> </condition>
         <not> <antversion atleast="1.9.1"/> </not>  
       </condition>  
621      </fail>      </fail>
622    
623      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
# Line 616  Line 639 
639    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
640    
641    
642    <target name="loops" depends="configure-compiler"    <!-- description="Benchmark from Doug Lea's AQS paper" -->
643            description="Benchmark from Doug Lea's AQS paper">    <target name="loops" depends="configure-compiler">
644    
645      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
646    
# Line 628  Line 651 
651        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
652             source="${build.sourcelevel}"             source="${build.sourcelevel}"
653             target="${build.sourcelevel}"             target="${build.sourcelevel}"
654             encoding="ASCII"
655               fork="true">               fork="true">
656    
657        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 655  Line 679 
679             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
680             includeAntRuntime="false"             includeAntRuntime="false"
681             includeJavaRuntime="false"             includeJavaRuntime="false"
682               encoding="ASCII"
683             executable="${javac9}"             executable="${javac9}"
684             fork="true">             fork="true">
685    
# Line 688  Line 713 
713             bootclasspath="${bootclasspath8}"             bootclasspath="${bootclasspath8}"
714             includeAntRuntime="false"             includeAntRuntime="false"
715             includeJavaRuntime="false"             includeJavaRuntime="false"
716               encoding="ASCII"
717             executable="${javac8}"             executable="${javac8}"
718             fork="true">             fork="true">
719    
# Line 718  Line 744 
744             bootclasspath="${bootclasspath8}"             bootclasspath="${bootclasspath8}"
745             includeAntRuntime="false"             includeAntRuntime="false"
746             includeJavaRuntime="false"             includeJavaRuntime="false"
747               encoding="ASCII"
748             executable="${javac8}"             executable="${javac8}"
749             fork="true">             fork="true">
750    
# Line 725  Line 752 
752        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
753        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
754        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
755        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
756        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
757    
758      </javac>      </javac>
# Line 759  Line 786 
786          <!-- JDK9+ test classes -->          <!-- JDK9+ test classes -->
787          <exclude name="*9Test.java"/>          <exclude name="*9Test.java"/>
788          <exclude name="*10Test.java"/>          <exclude name="*10Test.java"/>
789            <compilerarg value="-Werror"/>
790        </javac-elements>        </javac-elements>
791      </run-tck-tests>      </run-tck-tests>
792    </target>    </target>
# Line 793  Line 821 
821               access="${build.javadoc.access}"               access="${build.javadoc.access}"
822               sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"               sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
823               classpath=""               classpath=""
824               executable="${javadoc8}">               executable="${javadoc8}"
825                 failonerror = "true">
826        <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
827          <include name="**/*.java"/>          <include name="**/*.java"/>
828        </fileset>        </fileset>
# Line 801  Line 830 
830        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
831        <arg value="-tag"/>        <arg value="-tag"/>
832        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
833        <arg value="-tag"/>  <!-- @apiNote currently unused -->
834        <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>  <!--       <arg value="-tag"/> -->
835    <!--       <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/> -->
836        <arg value="-tag"/>        <arg value="-tag"/>
837        <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>        <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
838        <arg value="-tag"/>        <arg value="-tag"/>
# Line 856  Line 886 
886             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
887             includeAntRuntime="false"             includeAntRuntime="false"
888             includeJavaRuntime="false"             includeJavaRuntime="false"
889               encoding="ASCII"
890             executable="${javac7}"             executable="${javac7}"
891             fork="true">             fork="true">
892    
# Line 886  Line 917 
917             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
918             includeAntRuntime="false"             includeAntRuntime="false"
919             includeJavaRuntime="false"             includeJavaRuntime="false"
920               encoding="ASCII"
921             executable="${javac8}"             executable="${javac8}"
922             fork="true">             fork="true">
923    
# Line 936  Line 968 
968          <exclude name="SplittableRandomTest.java"/>          <exclude name="SplittableRandomTest.java"/>
969          <exclude name="StampedLockTest.java"/>          <exclude name="StampedLockTest.java"/>
970          <exclude name="SubmissionPublisherTest.java"/>          <exclude name="SubmissionPublisherTest.java"/>
971            <compilerarg value="-Werror"/>
972        </javac-elements>        </javac-elements>
973      </run-tck-tests>      </run-tck-tests>
974    </target>    </target>
975    
976    
977      <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
978    <target name="4jdk7-tck-junit"    <target name="4jdk7-tck-junit"
979            depends="4jdk7compile"            depends="4jdk7compile">
           description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">  
980    
981      <junit printsummary="true"      <junit printsummary="true"
982             showoutput="true"             showoutput="true"
# Line 998  Line 1031 
1031               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1032               sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
1033               classpath=""               classpath=""
1034               executable="${javadoc7}">               executable="${javadoc7}"
1035                 failonerror = "true">
1036        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
1037          <include name="**/*.java"/>          <include name="**/*.java"/>
1038        </fileset>        </fileset>
# Line 1052  Line 1086 
1086             target="5"             target="5"
1087             includeAntRuntime="false"             includeAntRuntime="false"
1088             includeJavaRuntime="false"             includeJavaRuntime="false"
1089               encoding="ASCII"
1090             executable="${javac7}"             executable="${javac7}"
1091             fork="true">             fork="true">
1092    
# Line 1093  Line 1128 
1128               sourcepath="${topsrc.dir}:${jdk6.src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1129               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1130               source="5"               source="5"
1131               executable="${javadoc7}">               executable="${javadoc7}"
1132                 failonerror = "true">
1133        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1134        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1135    
# Line 1144  Line 1180 
1180             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1181             includeAntRuntime="false"             includeAntRuntime="false"
1182             includeJavaRuntime="false"             includeJavaRuntime="false"
1183               encoding="ASCII"
1184             executable="${javac7}"             executable="${javac7}"
1185             fork="true">             fork="true">
1186    
# Line 1185  Line 1222 
1222               sourcepath="${topsrc.dir}:${jdk6.src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1223               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1224               source="6"               source="6"
1225               executable="${javadoc7}">               executable="${javadoc7}"
1226                 failonerror = "true">
1227        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1228        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1229    
# Line 1237  Line 1275 
1275             target="6"             target="6"
1276             includeAntRuntime="false"             includeAntRuntime="false"
1277             includeJavaRuntime="false"             includeJavaRuntime="false"
1278               encoding="ASCII"
1279             executable="${javac7}"             executable="${javac7}"
1280             fork="true">             fork="true">
1281    
# Line 1398  Line 1437 
1437               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1438               sourcepath="${topsrc.dir}:${jdk6.src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1439               source="${build.jsr166e.java.version}"               source="${build.jsr166e.java.version}"
1440               executable="${javadoc7}">               executable="${javadoc7}"
1441                 failonerror = "true">
1442        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1443        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1444    
# Line 1484  Line 1524 
1524    </target>    </target>
1525    
1526    
1527    <!-- ==============================================================
1528      Experimental errorprone support - http://errorprone.info
1529      You may need to bring your own errorprone jar.
1530    =================================================================== -->
1531      <target name="errorprone"
1532              depends="clean, configure-compiler"
1533              description="Run errorprone over jsr166 source code">
1534    
1535        <local name="destdir"/>
1536        <property name="destdir" value="${build.classes.dir}/java.base"/>
1537        <mkdir dir="${destdir}"/>
1538    
1539        <javac srcdir="${src.dir}"
1540               destdir="${destdir}"
1541               debug="${build.debug}"
1542               debuglevel="${build.debuglevel}"
1543               deprecation="${build.deprecation}"
1544               classpath=""
1545               includeAntRuntime="false"
1546               includeJavaRuntime="false"
1547               encoding="ASCII"
1548               executable="${build.main.javac}"
1549               fork="true">
1550    
1551          <include name="**/*.java"/>
1552          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1553          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1554          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1555          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1556          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1557          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1558          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1559          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1560          <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1561          <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1562          <compilerarg value="-Xplugin:ErrorProne
1563                              -Xep:IdentityBinaryExpression:WARN
1564                              -Xep:MissingOverride:OFF
1565                              -Xep:MixedArrayDimensions:WARN
1566                              -Xep:RemoveUnusedImports:ERROR
1567                              -Xep:MethodCanBeStatic:WARN"/>
1568          <compilerarg value="--patch-module=java.base=${src.dir}"/>
1569          <compilerarg value="-Xprefer:source"/>
1570          <compilerarg value="-XDignore.symbol.file=true"/>
1571          <compilerarg value="-Xlint:all"/>
1572          <compilerarg value="-Xdoclint:all/protected,reference/private"/>
1573          <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1574          <compilerarg line="${build.args}"/>
1575        </javac>
1576    
1577        <jar destfile="${product.jar}">
1578          <fileset dir="${destdir}"/>
1579        </jar>
1580    
1581        <run-tck-tests
1582          target="${build.main.java.version}"
1583          workdir="${build.dir}"
1584          classes="${product.jar}">
1585          <javac-elements>
1586            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1587            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1588            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1589            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1590            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1591            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1592            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1593            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1594            <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1595            <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1596            <compilerarg value="-Xplugin:ErrorProne
1597                                -Xep:IdentityBinaryExpression:WARN
1598                                -Xep:BoxedPrimitiveConstructor:OFF
1599                                -Xep:HashtableContains:OFF
1600                                -Xep:ModifyingCollectionWithItself:OFF
1601                                -Xep:MissingOverride:OFF
1602                                -Xep:MixedArrayDimensions:WARN
1603                                -Xep:RemoveUnusedImports:ERROR
1604                                -Xep:MethodCanBeStatic:WARN"/>
1605            <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1606          </javac-elements>
1607        </run-tck-tests>
1608      </target>
1609    
1610    
1611    <!-- ==============================================================
1612      Running guava tests against jsr166 code
1613    =================================================================== -->
1614    
1615    <!-- <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" -->
1616    <!--   organisation="com.google.guava" module="guava-testlib" revision="21.0"/> -->
1617    <!-- <property name="guava.version" value="21.0"/> -->
1618    
1619    <!-- HOWTO debug print a path id -->
1620    <!-- <pathconvert property="guava.testlib.classpath" refid="guava.testlib.classpath" /> -->
1621    <!-- <echo message="guava.testlib.classpath=${guava.testlib.classpath}"/> -->
1622    
1623    <!-- <ivy:retrieve pathid="guava.tests.classpath" type="jar" inline="true" conf="*" pattern="${lib.dir}/[type]/[artifact].[ext]" -->
1624    <!--   organisation="com.google.guava" module="guava-tests"/> -->
1625    <!-- <get src="http://repo2.maven.org/maven2/com/google/guava/guava-tests/${guava.version}/guava-tests-${guava.version}-tests.jar" -->
1626    <!--   dest="${lib.dir}/jar/guava-tests-tests.jar" usetimestamp="true"/> -->
1627    <!--     <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" type="*" -->
1628    <!--       organisation="com.google.guava" module="guava-testlib" revision="${guava.version}"/> -->
1629    
1630    <!-- <test name="com.google.common.collect.testing.TestsForQueuesInJavaUtil"/> -->
1631    <!-- <test name="com.google.common.collect.testing.TestsForListsInJavaUtil"/> -->
1632    <!-- <test name="com.google.common.collect.testing.TestsForSetsInJavaUtil"/> -->
1633    <!-- <test name="com.google.common.collect.testing.TestsForMapsInJavaUtil"/> -->
1634    
1635    <!-- <ivy:retrieve pathid="guava.testlib.classpath" -->
1636    <!--   type="*" inline="true" conf="*(private),*(public)" -->
1637    <!--   pattern="${guava.dir}/[artifact].[ext]" -->
1638    <!--   organisation="com.google.guava" module="guava-testlib"/> -->
1639    
1640    <!-- Work around bug below by downloading guava-testlib-tests.jar "by hand": -->
1641    <!-- https://issues.apache.org/jira/browse/IVY-1444 -->
1642    <!-- maven tests artifacts cannot be downloaded because they are mapped to private configurations -->
1643    
1644      <target name="init-ivy">
1645        <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.4.0/ivy-2.4.0.jar"
1646             dest="${build.dir}/ivy.jar" usetimestamp="true" skipexisting="true"/>
1647        <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"
1648                 classpath="${build.dir}/ivy.jar"/>
1649      </target>
1650    
1651      <target name="guava-tests" depends="jar, init-ivy"
1652              description="Guava tests run against jsr166 collections">
1653        <property name="guava.dir" value="${build.dir}/guava-testlib"/>
1654        <mkdir dir="${guava.dir}"/>
1655        <ivy:retrieve pathid="guava.testlib.classpath"
1656          type="jar,bundle" inline="true" conf="default,master"
1657          pattern="${guava.dir}/[artifact].[ext]"
1658          organisation="com.google.guava" module="guava-testlib"/>
1659        <property name="guava.version" value="21.0"/>
1660        <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"
1661             dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1662        <junit printsummary="true" showoutput="true" haltonfailure="true"
1663               jvm="${java9}" fork="true">
1664          <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>
1665          <formatter type="brief"/>
1666          <classpath>
1667            <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>
1668            <path refid="guava.testlib.classpath"/>
1669          </classpath>
1670    
1671          <!-- "6" in "OpenJdk6Tests" misleadingly means "6+" -->
1672          <test name="com.google.common.collect.testing.OpenJdk6Tests"/>
1673        </junit>
1674      </target>
1675    
1676  </project>  </project>

Legend:
Removed from v.1.202  
changed lines
  Added in v.1.239

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8