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

Diff of /jsr166/build.xml

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

revision 1.307 by jsr166, Sun Oct 6 19:03:54 2019 UTC revision 1.324 by jsr166, Wed Sep 29 01:13:44 2021 UTC
# Line 23  Line 23 
23    $HOME/jdk/jdk12    $HOME/jdk/jdk12
24    $HOME/jdk/jdk13    $HOME/jdk/jdk13
25    $HOME/jdk/jdk14    $HOME/jdk/jdk14
26      $HOME/jdk/jdk15
27      $HOME/jdk/jdk16
28      $HOME/jdk/jdk17
29      $HOME/jdk/jdk18
30    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
31    $HOME/jdk/src/jdk11    $HOME/jdk/src/jdk11
32    $HOME/jdk/src/jdk12    $HOME/jdk/src/jdk12
33    $HOME/jdk/src/jdk13    $HOME/jdk/src/jdk13
34    $HOME/jdk/src/jdk14    $HOME/jdk/src/jdk14
35      $HOME/jdk/src/jdk15
36      $HOME/jdk/src/jdk16
37      $HOME/jdk/src/jdk17
38      $HOME/jdk/src/jdk18
39    where each of the above is a JDK source tree or a symlink to same.    where each of the above is a JDK source tree or a symlink to same.
40    
41    Alternatively, define ant variables thus:    Alternatively, define ant variables thus:
42    ant -Djdk$N.home=... -Djdk$N.src.home=...    ant -Djdk$N.home=... -Djdk$N.src.home=...
43    for $N in 11 .. 14 ...    for $N in 11 .. 18 ...
44    
45    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.
46    As of 2019-08, the sources in src/main are for jdk11+ only.    As of 2019-08, the sources in src/main are for jdk11+ only.
# Line 96  Line 104 
104    <defjdklocations v="12"/>    <defjdklocations v="12"/>
105    <defjdklocations v="13"/>    <defjdklocations v="13"/>
106    <defjdklocations v="14"/>    <defjdklocations v="14"/>
107      <defjdklocations v="15"/>
108      <defjdklocations v="16"/>
109      <defjdklocations v="17"/>
110      <defjdklocations v="18"/>
111    
112    <!-- Source locations -->    <!-- Source locations -->
113    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
# Line 106  Line 118 
118    <property name="jtreg12.src.dir"      location="${test.src.dir}/jtreg"/>    <property name="jtreg12.src.dir"      location="${test.src.dir}/jtreg"/>
119    <property name="jtreg13.src.dir"      location="${test.src.dir}/jtreg"/>    <property name="jtreg13.src.dir"      location="${test.src.dir}/jtreg"/>
120    <property name="jtreg14.src.dir"      location="${test.src.dir}/jtreg"/>    <property name="jtreg14.src.dir"      location="${test.src.dir}/jtreg"/>
121      <property name="jtreg15.src.dir"      location="${test.src.dir}/jtreg"/>
122      <property name="jtreg16.src.dir"      location="${test.src.dir}/jtreg"/>
123      <property name="jtreg17.src.dir"      location="${test.src.dir}/jtreg"/>
124      <property name="jtreg18.src.dir"      location="${test.src.dir}/jtreg"/>
125    <property name="jtreg.src.dir"        location="${jtreg11.src.dir}"/>    <property name="jtreg.src.dir"        location="${jtreg11.src.dir}"/>
126    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
127    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
# Line 132  Line 148 
148    <property name="java11.docroot.url" value="https://docs.oracle.com/en/java/javase/11/docs"/>    <property name="java11.docroot.url" value="https://docs.oracle.com/en/java/javase/11/docs"/>
149    <property name="java12.docroot.url" value="https://docs.oracle.com/en/java/javase/12/docs"/>    <property name="java12.docroot.url" value="https://docs.oracle.com/en/java/javase/12/docs"/>
150    <property name="java13.docroot.url" value="https://docs.oracle.com/en/java/javase/13/docs"/>    <property name="java13.docroot.url" value="https://docs.oracle.com/en/java/javase/13/docs"/>
151    <property name="java14.docroot.url" value="https://download.java.net/java/early_access/jdk14/docs"/>    <property name="java14.docroot.url" value="https://docs.oracle.com/en/java/javase/14/docs"/>
152      <property name="java15.docroot.url" value="https://docs.oracle.com/en/java/javase/15/docs"/>
153      <property name="java16.docroot.url" value="https://docs.oracle.com/en/java/javase/16/docs"/>
154      <property name="java17.docroot.url" value="https://docs.oracle.com/en/java/javase/17/docs"/>
155      <property name="java18.docroot.url" value="https://download.java.net/java/early_access/jdk18/docs"/>
156    <!-- Default jdk doc location (latest stable LTS release seems best) -->    <!-- Default jdk doc location (latest stable LTS release seems best) -->
157    <property name="java.docroot.url"   value="${java11.docroot.url}"/>    <property name="java.docroot.url"   value="${java17.docroot.url}"/>
158    
159    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
160    <property name="java11.api.url"     value="${java11.docroot.url}/api/"/>    <property name="java11.api.url"     value="${java11.docroot.url}/api/"/>
161    <property name="java12.api.url"     value="${java12.docroot.url}/api/"/>    <property name="java12.api.url"     value="${java12.docroot.url}/api/"/>
162    <property name="java13.api.url"     value="${java13.docroot.url}/api/"/>    <property name="java13.api.url"     value="${java13.docroot.url}/api/"/>
163    <property name="java14.api.url"     value="${java14.docroot.url}/api/"/>    <property name="java14.api.url"     value="${java14.docroot.url}/api/"/>
164      <property name="java15.api.url"     value="${java15.docroot.url}/api/"/>
165      <property name="java16.api.url"     value="${java16.docroot.url}/api/"/>
166      <property name="java17.api.url"     value="${java17.docroot.url}/api/"/>
167      <property name="java18.api.url"     value="${java18.docroot.url}/api/"/>
168    <property name="java.api.url"       value="${java.docroot.url}/api/"/>    <property name="java.api.url"       value="${java.docroot.url}/api/"/>
169    
170    <!-- Define the "jtreg" task -->    <!-- Define the "jtreg" task -->
# Line 242  Line 266 
266      </sequential>      </sequential>
267    </macrodef>    </macrodef>
268    
269      <defjtregtests v="18"/>
270      <defjtregtests v="17"/>
271      <defjtregtests v="16"/>
272      <defjtregtests v="15"/>
273    <defjtregtests v="14"/>    <defjtregtests v="14"/>
274    <defjtregtests v="13"/>    <defjtregtests v="13"/>
275    <defjtregtests v="12"/>    <defjtregtests v="12"/>
# Line 264  Line 292 
292      <!-- ant -Djtreg.verbose=time,fail,error jtreg -->      <!-- ant -Djtreg.verbose=time,fail,error jtreg -->
293      <property name="jtreg.verbose" value="nopass,fail,error"/>      <property name="jtreg.verbose" value="nopass,fail,error"/>
294    
295      <delete dir="@{workdir}/JTwork"   quiet="true"/>      <!-- concurrency > 1 mitigates slowness of some jtreg tests -->
296        <!-- BUT concurrency:auto starts "too many" VMs; just 1 free core each -->
297        <!-- In 2020 concurrency:3 seems like a sweet spot -->
298        <!-- Override using:  ant -Djtreg.concurrency="N" jtreg -->
299        <property name="jtreg.concurrency" value="3"/>
300    
301        <delete dir="@{workdir}/JTwork" quiet="true"/>
302      <jtreg dir="${jtreg@{target}.src.dir}"      <jtreg dir="${jtreg@{target}.src.dir}"
303             jdk="${jdk@{target}.home}"             jdk="${jdk@{target}.home}"
304             workDir="@{workdir}/JTwork">             workDir="@{workdir}/JTwork">
305        <patternset refid="jdk@{target}.jtreg.tests"/>        <patternset refid="jdk@{target}.jtreg.tests"/>
306        <arg value="-javacoptions:--patch-module=java.base=@{classes}"/>        <arg value="-javacoption:--patch-module=java.base=@{classes}"/>
307        <arg value="-vmoptions:--patch-module=java.base=@{classes}"/>        <arg value="-vmoption:--patch-module=java.base=@{classes}"/>
308          <arg value="-vmoption:-Xmx256m"/>
309          <arg value="-concurrency:${jtreg.concurrency}"/>
310          <arg value="-vmoptions:-esa -ea"/>
311          <arg value="-vmoptions:${vmoptions}" if:set="vmoptions"/>
312        <arg value="-agentvm"/>        <arg value="-agentvm"/>
313        <arg value="-noreport"/>        <arg value="-noreport"/>
314        <arg value="-verbose:@{verbose}"/>        <arg value="-verbose:@{verbose}"/>
       <arg value="-vmoptions:-esa -ea"/>  
315        <arg value="-automatic"/>        <arg value="-automatic"/>
316        <arg value="-k:!ignore"/>        <arg value="-k:!ignore"/>
317        <arg line="@{jtregflags}"/>        <arg line="@{jtregflags}"/>
# Line 344  Line 381 
381  <!--   Xlint:-removal for jdk12 Unsafe Object -> Reference renaming -->  <!--   Xlint:-removal for jdk12 Unsafe Object -> Reference renaming -->
382        <compilerarg value="-Xlint:all,-removal"/>        <compilerarg value="-Xlint:all,-removal"/>
383        <compilerarg line="--doclint-format html5"/>        <compilerarg line="--doclint-format html5"/>
384        <compilerarg value="-Xdoclint:all/protected,reference/private"/>  <!--  Temporarily disable doclint for private elements, due to -->
385    <!--  https://bugs.openjdk.java.net/browse/JDK-8214571 -->
386    <!--  which is expected to be fixed in openjdk 11.0.8 -->
387    <!--  <compilerarg value="-Xdoclint:all/protected,reference/private"/> -->
388          <compilerarg value="-Xdoclint:all/protected"/>
389        <compilerarg value="-Xdoclint/package:java.util.*"/>        <compilerarg value="-Xdoclint/package:java.util.*"/>
390        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
391        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
# Line 401  Line 442 
442               executable="${build.main.javadoc}">               executable="${build.main.javadoc}">
443  <!-- TODO: JDK-8214571 failonerror = "true" -->  <!-- TODO: JDK-8214571 failonerror = "true" -->
444        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
445          <include name="**/*.java"/>          <include name="java/**/*.java"/>
446        </fileset>        </fileset>
447        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
448        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
449        <arg value="-quiet"/>        <arg value="-quiet"/>
450        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
451        <arg value="-html5"/>        <arg value="-html5"/>
452          <arg value="-Xdoclint:all,-missing"/>
453        <arg value="--patch-module=java.base=${src.dir}"/>        <arg value="--patch-module=java.base=${src.dir}"/>
454        <arg value="--frames" if:set="use-frames"/>        <arg value="--frames" if:set="use-frames"/>
455        <arg value="--override-methods=summary"/>        <arg value="--override-methods=summary"/>
# Line 499  Line 541 
541            description="Runs tck and jtreg tests for src/main"/>            description="Runs tck and jtreg tests for src/main"/>
542    
543    <target name="test-version-permutations"    <target name="test-version-permutations"
544            depends="test11, test12, test13, test14, test11-12, test11-13, test11-14, clean, test, docs">            depends="test11, test12, test13, test14, test15, test16,
545    </target>            test11-12, test11-13, test11-14, test11-15, test11-16,
546              clean, test, docs"
547              description="Runs tck and jtreg tests for various build-time and runtime java versions"/>
548    
549    <target name="test11">    <target name="test11">
550      <antcall>      <antcall>
# Line 550  Line 594 
594      </antcall>      </antcall>
595    </target>    </target>
596    
597      <target name="test15">
598        <antcall>
599          <param name="java.runtime.target" value="15"/>
600          <param name="build.main.javac" value="${javac15}"/>
601          <param name="build.main.javadoc" value="${javadoc15}"/>
602          <param name="build.main.javadoc.source" value="15"/>
603          <target name="clean"/>
604          <target name="test"/>
605          <target name="docs"/>
606        </antcall>
607      </target>
608    
609      <target name="test16">
610        <antcall>
611          <param name="java.runtime.target" value="16"/>
612          <param name="build.main.javac" value="${javac16}"/>
613          <param name="build.main.javadoc" value="${javadoc16}"/>
614          <param name="build.main.javadoc.source" value="16"/>
615          <target name="clean"/>
616          <target name="test"/>
617          <target name="docs"/>
618        </antcall>
619      </target>
620    
621    <target name="test11-12">    <target name="test11-12">
622      <antcall>      <antcall>
623        <param name="java.runtime.target" value="12"/>        <param name="java.runtime.target" value="12"/>
# Line 586  Line 654 
654      </antcall>      </antcall>
655    </target>    </target>
656    
657      <target name="test11-15">
658        <antcall>
659          <param name="java.runtime.target" value="15"/>
660          <param name="build.main.javac" value="${javac11}"/>
661          <param name="build.main.javadoc" value="${javadoc15}"/>
662          <param name="build.main.javadoc.source" value="11"/>
663          <target name="clean"/>
664          <target name="test"/>
665          <target name="docs"/>
666        </antcall>
667      </target>
668    
669      <target name="test11-16">
670        <antcall>
671          <param name="java.runtime.target" value="16"/>
672          <param name="build.main.javac" value="${javac11}"/>
673          <param name="build.main.javadoc" value="${javadoc16}"/>
674          <param name="build.main.javadoc.source" value="11"/>
675          <target name="clean"/>
676          <target name="test"/>
677          <target name="docs"/>
678        </antcall>
679      </target>
680    
681      <target name="docs16">
682        <antcall>
683          <param name="java.runtime.target" value="16"/>
684          <param name="build.main.javac" value="${javac16}"/>
685          <param name="build.main.javadoc" value="${javadoc16}"/>
686          <param name="build.main.javadoc.source" value="16"/>
687          <target name="clean"/>
688          <target name="docs"/>
689        </antcall>
690      </target>
691    
692    
693    <target name="configure-compiler">    <target name="configure-compiler">
694      <fail message="ant version too old">      <fail message="ant version too old">
# Line 663  Line 766 
766    https://github.com/google/error-prone/issues/1143    https://github.com/google/error-prone/issues/1143
767  =================================================================== -->  =================================================================== -->
768    <path id="errorprone.processorpath.path">    <path id="errorprone.processorpath.path">
769      <pathelement location="${lib.dir}/error_prone_core-2.3.2-with-dependencies.jar"/>      <pathelement location="${lib.dir}/error_prone_core-2.3.4-with-dependencies.jar"/>
770      <pathelement location="${lib.dir}/dataflow-2.5.7.jar"/>      <pathelement location="${lib.dir}/dataflow-2.5.7.jar"/>
771      <pathelement location="${lib.dir}/javacutil-2.5.7.jar"/>      <pathelement location="${lib.dir}/javacutil-2.5.7.jar"/>
772      <pathelement location="${lib.dir}/jFormatString-3.0.0.jar"/>      <pathelement location="${lib.dir}/jFormatString-3.0.0.jar"/>
773        <pathelement location="${lib.dir}/caffeine-2.8.0.jar"/>
774    </path>    </path>
775    <property name="errorprone.processorpath" refid="errorprone.processorpath.path" />    <property name="errorprone.processorpath" refid="errorprone.processorpath.path" />
776    <property name="errorprone.jsr166.user.flags" value=""/>    <property name="errorprone.jsr166.user.flags" value=""/>
777    <property name="errorprone.jsr166.flags"    <property name="errorprone.jsr166.flags"
778              value="-Xep:HashtableContains:OFF              value="-Xep:HashtableContains:OFF
779                       -Xep:PreferJavaTimeOverload:OFF
780                     -Xep:JdkObsolete:OFF                     -Xep:JdkObsolete:OFF
781                     -Xep:MissingOverride:OFF                     -Xep:MissingOverride:OFF
782                     -Xep:MissingFail:OFF                     -Xep:MissingFail:OFF
# Line 691  Line 796 
796    <property name="errorprone.jsr166.test.flags"    <property name="errorprone.jsr166.test.flags"
797              value="-Xep:StringSplitter:OFF              value="-Xep:StringSplitter:OFF
798                     -Xep:BoxedPrimitiveConstructor:OFF                     -Xep:BoxedPrimitiveConstructor:OFF
799                       -Xep:UnnecessaryParentheses:OFF
800                     -Xep:ModifyingCollectionWithItself:OFF"/>                     -Xep:ModifyingCollectionWithItself:OFF"/>
801    <!-- ant -emacs errorprone |& grep -EA1 '(warning|error):|warnings' -->    <!-- ant -emacs errorprone |& grep -EA1 '(warning|error):|warnings' -->
802    <target name="errorprone"    <target name="errorprone"

Legend:
Removed from v.1.307  
changed lines
  Added in v.1.324

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