ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
(Generate patch)

Comparing jsr166/build.xml (file contents):
Revision 1.304 by jsr166, Sun Oct 6 17:34:58 2019 UTC vs.
Revision 1.324 by jsr166, Wed Sep 29 01:13:44 2021 UTC

# Line 23 | Line 23
23    $HOME/jdk/jdk12
24    $HOME/jdk/jdk13
25    $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
31    $HOME/jdk/src/jdk11
32    $HOME/jdk/src/jdk12
33    $HOME/jdk/src/jdk13
34    $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.
40  
41    Alternatively, define ant variables thus:
42    ant -Djdk$N.home=... -Djdk$N.src.home=...
43 <  for $N in 11 .. 14 ...
43 >  for $N in 11 .. 18 ...
44  
45    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.
# Line 96 | Line 104
104    <defjdklocations v="12"/>
105    <defjdklocations v="13"/>
106    <defjdklocations v="14"/>
107 +  <defjdklocations v="15"/>
108 +  <defjdklocations v="16"/>
109 +  <defjdklocations v="17"/>
110 +  <defjdklocations v="18"/>
111  
112    <!-- Source locations -->
113    <property name="src.dir"              location="${basedir}/src/main"/>
# Line 106 | Line 118
118    <property name="jtreg12.src.dir"      location="${test.src.dir}/jtreg"/>
119    <property name="jtreg13.src.dir"      location="${test.src.dir}/jtreg"/>
120    <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}"/>
126    <property name="lib.dir"              location="${basedir}/lib"/>
127    <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"/>
149    <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"/>
151 <  <property name="java14.docroot.url" value="https://download.java.net/java/early_access/jdk14/docs"/>
151 >  <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) -->
157 <  <property name="java.docroot.url"   value="${java11.docroot.url}"/>
157 >  <property name="java.docroot.url"   value="${java17.docroot.url}"/>
158  
159    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
160    <property name="java11.api.url"     value="${java11.docroot.url}/api/"/>
161    <property name="java12.api.url"     value="${java12.docroot.url}/api/"/>
162    <property name="java13.api.url"     value="${java13.docroot.url}/api/"/>
163    <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/"/>
169  
170    <!-- Define the "jtreg" task -->
# Line 242 | Line 266
266      </sequential>
267    </macrodef>
268  
269 +  <defjtregtests v="18"/>
270 +  <defjtregtests v="17"/>
271 +  <defjtregtests v="16"/>
272 +  <defjtregtests v="15"/>
273    <defjtregtests v="14"/>
274    <defjtregtests v="13"/>
275    <defjtregtests v="12"/>
# Line 264 | Line 292
292      <!-- ant -Djtreg.verbose=time,fail,error jtreg -->
293      <property name="jtreg.verbose" value="nopass,fail,error"/>
294  
295 <    <delete dir="@{workdir}/JTwork"   quiet="true"/>
295 >    <!-- 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}"
303             jdk="${jdk@{target}.home}"
304             workDir="@{workdir}/JTwork">
305        <patternset refid="jdk@{target}.jtreg.tests"/>
306 <      <arg value="-javacoptions:--patch-module=java.base=@{classes}"/>
307 <      <arg value="-vmoptions:--patch-module=java.base=@{classes}"/>
306 >      <arg value="-javacoption:--patch-module=java.base=@{classes}"/>
307 >      <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"/>
313        <arg value="-noreport"/>
314        <arg value="-verbose:@{verbose}"/>
277      <arg value="-vmoptions:-esa -ea"/>
315        <arg value="-automatic"/>
316        <arg value="-k:!ignore"/>
317        <arg line="@{jtregflags}"/>
# Line 344 | Line 381
381   <!--   Xlint:-removal for jdk12 Unsafe Object -> Reference renaming -->
382        <compilerarg value="-Xlint:all,-removal"/>
383        <compilerarg line="--doclint-format html5"/>
384 <      <compilerarg value="-Xdoclint:all/protected,reference/private"/>
384 > <!--  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.*"/>
390        <compilerarg value="-Werror"/>
391        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
# Line 372 | Line 413
413    <target name="docs"
414            description="Builds javadocs for src/main to dist dir">
415  
416 <    <delete dir="${docs.dir}"/>
416 >    <delete dir="${docs.dir}" quiet="true"/>
417      <mkdir dir="${docs.dir}"/>
418  
419 +    <!-- old school frames via docs/index.html?overview-summary.html -->
420 +    <!-- dash-dash-frames no longer a supported option in jdk13+ -->
421 +    <local name="use-frames"/>
422 +    <condition property="use-frames">
423 +      <equals arg1="${build.main.javadoc}" arg2="${javadoc12}"/>
424 +    </condition>
425 +
426      <!-- the packagenames="none" hack below prevents scanning the -->
427      <!-- sourcepath for packages -->
428  
# Line 394 | Line 442
442               executable="${build.main.javadoc}">
443   <!-- TODO: JDK-8214571 failonerror = "true" -->
444        <fileset dir="${src.dir}" defaultexcludes="yes">
445 <        <include name="**/*.java"/>
445 >        <include name="java/**/*.java"/>
446        </fileset>
447        <arg line="-Xdocrootparent ${java.docroot.url}"/>
448        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
449 +      <arg value="-quiet"/>
450        <arg value="-XDignore.symbol.file=true"/>
451        <arg value="-html5"/>
452 +      <arg value="-Xdoclint:all,-missing"/>
453        <arg value="--patch-module=java.base=${src.dir}"/>
454 < <!-- old school frames via docs/index.html?overview-summary.html -->
405 < <!-- TODO: - -frames no longer a supported option in jdk13+ -->
406 <      <arg value="--frames"/>
454 >      <arg value="--frames" if:set="use-frames"/>
455        <arg value="--override-methods=summary"/>
456        <arg value="-tag"/> <arg value="${javadoc.jls.option}"/>
457        <arg value="-tag"/> <arg value="implSpec:a:Implementation Requirements:"/>
# Line 493 | Line 541
541            description="Runs tck and jtreg tests for src/main"/>
542  
543    <target name="test-version-permutations"
544 <          depends="test11, test12, test13, test14, test11-12, test11-13, test11-14, clean, test, docs">
545 <  </target>
544 >          depends="test11, test12, test13, test14, test15, test16,
545 >          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">
500    <antcall target="clean"/>
550      <antcall>
551        <param name="java.runtime.target" value="11"/>
552        <param name="build.main.javac" value="${javac11}"/>
553        <param name="build.main.javadoc" value="${javadoc12}"/>
554        <param name="build.main.javadoc.source" value="11"/>
555 +      <target name="clean"/>
556        <target name="test"/>
557        <target name="docs"/>
558      </antcall>
559    </target>
560  
561    <target name="test12">
512    <antcall target="clean"/>
562      <antcall>
563        <param name="java.runtime.target" value="12"/>
564        <param name="build.main.javac" value="${javac12}"/>
565        <param name="build.main.javadoc" value="${javadoc12}"/>
566        <param name="build.main.javadoc.source" value="12"/>
567 +      <target name="clean"/>
568        <target name="test"/>
569        <target name="docs"/>
570      </antcall>
571    </target>
572  
573    <target name="test13">
524    <antcall target="clean"/>
574      <antcall>
575        <param name="java.runtime.target" value="13"/>
576        <param name="build.main.javac" value="${javac13}"/>
577        <param name="build.main.javadoc" value="${javadoc13}"/>
578        <param name="build.main.javadoc.source" value="13"/>
579 +      <target name="clean"/>
580        <target name="test"/>
581        <target name="docs"/>
582      </antcall>
583    </target>
584  
585    <target name="test14">
536    <antcall target="clean"/>
586      <antcall>
587        <param name="java.runtime.target" value="14"/>
588        <param name="build.main.javac" value="${javac14}"/>
589        <param name="build.main.javadoc" value="${javadoc14}"/>
590        <param name="build.main.javadoc.source" value="14"/>
591 +      <target name="clean"/>
592 +      <target name="test"/>
593 +      <target name="docs"/>
594 +    </antcall>
595 +  </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">
548    <antcall target="clean"/>
622      <antcall>
623        <param name="java.runtime.target" value="12"/>
624        <param name="build.main.javac" value="${javac11}"/>
625        <param name="build.main.javadoc" value="${javadoc12}"/>
626        <param name="build.main.javadoc.source" value="11"/>
627 +      <target name="clean"/>
628        <target name="test"/>
629        <target name="docs"/>
630      </antcall>
631    </target>
632  
633    <target name="test11-13">
560    <antcall target="clean"/>
634      <antcall>
635        <param name="java.runtime.target" value="13"/>
636        <param name="build.main.javac" value="${javac11}"/>
637        <param name="build.main.javadoc" value="${javadoc13}"/>
638        <param name="build.main.javadoc.source" value="11"/>
639 +      <target name="clean"/>
640        <target name="test"/>
641        <target name="docs"/>
642      </antcall>
643    </target>
644  
645    <target name="test11-14">
572    <antcall target="clean"/>
646      <antcall>
647        <param name="java.runtime.target" value="14"/>
648        <param name="build.main.javac" value="${javac11}"/>
649        <param name="build.main.javadoc" value="${javadoc14}"/>
650        <param name="build.main.javadoc.source" value="11"/>
651 +      <target name="clean"/>
652        <target name="test"/>
653        <target name="docs"/>
654      </antcall>
655    </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">
694      <fail message="ant version too old">
# Line 657 | Line 766
766    https://github.com/google/error-prone/issues/1143
767   =================================================================== -->
768    <path id="errorprone.processorpath.path">
769 <    <pathelement location="${lib.dir}/error_prone_core-2.3.2-with-dependencies.jar"/>
769 >    <pathelement location="${lib.dir}/error_prone_core-2.3.4-with-dependencies.jar"/>
770      <pathelement location="${lib.dir}/dataflow-2.5.7.jar"/>
771      <pathelement location="${lib.dir}/javacutil-2.5.7.jar"/>
772      <pathelement location="${lib.dir}/jFormatString-3.0.0.jar"/>
773 +    <pathelement location="${lib.dir}/caffeine-2.8.0.jar"/>
774    </path>
775    <property name="errorprone.processorpath" refid="errorprone.processorpath.path" />
776    <property name="errorprone.jsr166.user.flags" value=""/>
777    <property name="errorprone.jsr166.flags"
778              value="-Xep:HashtableContains:OFF
779 +                   -Xep:PreferJavaTimeOverload:OFF
780                     -Xep:JdkObsolete:OFF
781                     -Xep:MissingOverride:OFF
782                     -Xep:MissingFail:OFF
# Line 685 | Line 796
796    <property name="errorprone.jsr166.test.flags"
797              value="-Xep:StringSplitter:OFF
798                     -Xep:BoxedPrimitiveConstructor:OFF
799 +                   -Xep:UnnecessaryParentheses:OFF
800                     -Xep:ModifyingCollectionWithItself:OFF"/>
801    <!-- ant -emacs errorprone |& grep -EA1 '(warning|error):|warnings' -->
802    <target name="errorprone"

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines