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

Diff of /jsr166/build.xml

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

revision 1.288 by jsr166, Sat Nov 24 17:39:35 2018 UTC revision 1.302 by jsr166, Sun Aug 18 18:55:55 2019 UTC
# Line 20  Line 20 
20    targets require different JDKs, we assume that users have created a    targets require different JDKs, we assume that users have created a
21    hierarchy containing:    hierarchy containing:
22    $HOME/jdk/jdk8    $HOME/jdk/jdk8
   $HOME/jdk/jdk9  
   $HOME/jdk/jdk10  
23    $HOME/jdk/jdk11    $HOME/jdk/jdk11
24    $HOME/jdk/jdk12    $HOME/jdk/jdk12
25      $HOME/jdk/jdk13
26      $HOME/jdk/jdk14
27    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
28    $HOME/jdk/src/jdk8    $HOME/jdk/src/jdk8
   $HOME/jdk/src/jdk9  
   $HOME/jdk/src/jdk10  
29    $HOME/jdk/src/jdk11    $HOME/jdk/src/jdk11
30    $HOME/jdk/src/jdk12    $HOME/jdk/src/jdk12
31      $HOME/jdk/src/jdk13
32      $HOME/jdk/src/jdk14
33    where each of the above is a complete JDK source tree    where each of the above is a complete JDK source tree
34    (e.g. mercurial forest) or a symlink to same.    (e.g. mercurial forest) or a symlink to same.
35    
36    Alternatively, define ant variables thus:    Alternatively, define ant variables thus:
37    ant -Djdk$N.home=... -Djdk$N.src.home=...    ant -Djdk$N.home=... -Djdk$N.src.home=...
38    for $N in 8 9 10 ...    for $N in 8 .. 14 ...
39    
40    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.
41      As of 2019-08, the sources in src/main are for jdk11+ only.
42  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
43    </description>    </description>
44    
# Line 131  Line 132 
132      </sequential>      </sequential>
133    </macrodef>    </macrodef>
134    
   <defjdklocations v="6"/>  
   <defjdklocations v="7"/>  
135    <defjdklocations v="8"/>    <defjdklocations v="8"/>
   <defjdklocations v="9"/>  
   <defjdklocations v="10"/>  
136    <defjdklocations v="11"/>    <defjdklocations v="11"/>
137    <defjdklocations v="12"/>    <defjdklocations v="12"/>
138      <defjdklocations v="13"/>
139      <defjdklocations v="14"/>
140    
141    <!-- Source locations -->    <!-- Source locations -->
142    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
143    <property name="test.src.dir"         location="${basedir}/src/test"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
144    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
145    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
   <property name="jtreg7.src.dir"       location="${test.src.dir}/jtreg-jdk7"/>  
146    <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg-jdk8"/>    <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg-jdk8"/>
   <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>  
   <property name="jtreg10.src.dir"      location="${test.src.dir}/jtreg"/>  
147    <property name="jtreg11.src.dir"      location="${test.src.dir}/jtreg"/>    <property name="jtreg11.src.dir"      location="${test.src.dir}/jtreg"/>
148    <property name="jtreg12.src.dir"      location="${test.src.dir}/jtreg"/>    <property name="jtreg12.src.dir"      location="${test.src.dir}/jtreg"/>
149    <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>    <property name="jtreg13.src.dir"      location="${test.src.dir}/jtreg"/>
150      <property name="jtreg14.src.dir"      location="${test.src.dir}/jtreg"/>
151      <property name="jtreg.src.dir"        location="${jtreg11.src.dir}"/>
152    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
153    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
154    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
# Line 194  Line 192 
192    <property name="java6.docroot.url"  value="https://docs.oracle.com/javase/6/docs"/>    <property name="java6.docroot.url"  value="https://docs.oracle.com/javase/6/docs"/>
193    <property name="java7.docroot.url"  value="https://docs.oracle.com/javase/7/docs"/>    <property name="java7.docroot.url"  value="https://docs.oracle.com/javase/7/docs"/>
194    <property name="java8.docroot.url"  value="https://docs.oracle.com/javase/8/docs"/>    <property name="java8.docroot.url"  value="https://docs.oracle.com/javase/8/docs"/>
   <property name="java9.docroot.url"  value="https://docs.oracle.com/javase/9/docs"/>  
   <property name="java10.docroot.url" value="https://docs.oracle.com/javase/10/docs"/>  
195    <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"/>
196      <property name="java12.docroot.url" value="https://docs.oracle.com/en/java/javase/12/docs"/>
197    <!-- The location of jdk early access docs (RIP) -->    <!-- The location of jdk early access docs (RIP) -->
   <!-- <property name="java9.docroot.url" value="http://download.java.net/java/jdk9/docs"/> -->  
   <!-- <property name="java10.docroot.url" value="http://download.java.net/java/jdk10/docs"/> -->  
198    <!-- <property name="java11.docroot.url" value="http://download.java.net/java/jdk11/docs"/> -->    <!-- <property name="java11.docroot.url" value="http://download.java.net/java/jdk11/docs"/> -->
199    <property name="java12.docroot.url" value="https://download.java.net/java/jdk12/docs"/>  <!--   <property name="java12.docroot.url" value="https://download.java.net/java/jdk12/docs"/> -->
200    <!-- Default jdk doc location (latest stable release seems best) -->    <property name="java13.docroot.url" value="https://download.java.net/java/early_access/jdk13/docs"/>
201    <!-- But pin to jdk 10 until fix for -->    <property name="java14.docroot.url" value="https://download.java.net/java/early_access/jdk14/docs"/>
202    <!-- 8211194: javadoc -link doesn't take module path into consideration -->    <!-- Default jdk doc location (latest stable LTS release seems best) -->
203    <property name="java.docroot.url"   value="${java10.docroot.url}"/>    <property name="java.docroot.url"   value="${java11.docroot.url}"/>
204    
205    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
   <property name="java5.api.url"      value="${java5.docroot.url}/api/"/>  
   <property name="java6.api.url"      value="${java6.docroot.url}/api/"/>  
   <property name="java7.api.url"      value="${java7.docroot.url}/api/"/>  
206    <property name="java8.api.url"      value="${java8.docroot.url}/api/"/>    <property name="java8.api.url"      value="${java8.docroot.url}/api/"/>
   <property name="java9.api.url"      value="${java9.docroot.url}/api/"/>  
   <property name="java10.api.url"     value="${java10.docroot.url}/api/"/>  
207    <property name="java11.api.url"     value="${java11.docroot.url}/api/"/>    <property name="java11.api.url"     value="${java11.docroot.url}/api/"/>
208    <property name="java12.api.url"     value="${java12.docroot.url}/api/"/>    <property name="java12.api.url"     value="${java12.docroot.url}/api/"/>
209      <property name="java13.api.url"     value="${java13.docroot.url}/api/"/>
210      <property name="java14.api.url"     value="${java14.docroot.url}/api/"/>
211    <property name="java.api.url"       value="${java.docroot.url}/api/"/>    <property name="java.api.url"       value="${java.docroot.url}/api/"/>
212    
213    <!-- Define the "jtreg" task -->    <!-- Define the "jtreg" task -->
# Line 329  Line 321 
321      </sequential>      </sequential>
322    </macrodef>    </macrodef>
323    
324      <defjtregtests v="14"/>
325      <defjtregtests v="13"/>
326    <defjtregtests v="12"/>    <defjtregtests v="12"/>
327    <defjtregtests v="11"/>    <defjtregtests v="11"/>
   <defjtregtests v="10"/>  
   <defjtregtests v="9"/>  
328    <defjtregtests v="8"/>    <defjtregtests v="8"/>
   <defjtregtests v="7"/>  
329    
330    <!-- ant -Djtreg.flags=-timeoutFactor:4 -->    <!-- ant -Djtreg.flags=-timeoutFactor:4 -->
331    <property name="jtreg.flags" value=""/>    <property name="jtreg.flags" value=""/>
332    
333    <macrodef name="run-jtreg-tests">    <macrodef name="run-jtreg-tests">
334      <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->      <!-- ant -Djtreg11.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
335      <attribute name="target"/>      <attribute name="target"/>
336      <attribute name="workdir"/>      <attribute name="workdir"/>
337      <attribute name="classes"/>      <attribute name="classes"/>
# Line 385  Line 376 
376    </path>    </path>
377    
378    <!-- Support @jls tag, used in jdk8+ javadoc -->    <!-- Support @jls tag, used in jdk8+ javadoc -->
379      <!-- TODO: switch to @jls taglet, as supported by jdk14+ javadoc -->
380    <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>    <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
381    <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>    <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
382    
# Line 393  Line 385 
385    <!-- Default values: may seem strange ... -->    <!-- Default values: may seem strange ... -->
386    <!-- At runtime, target latest LTS, i.e. jdk11 -->    <!-- At runtime, target latest LTS, i.e. jdk11 -->
387    <!-- But at build time, target jdk9, for maximal binary portability -->    <!-- But at build time, target jdk9, for maximal binary portability -->
388    <!-- Use javadoc12, so we can use override-methods=summary, and JDK-8202628 -->    <!-- ButButBut as of 2019-08, target jdk11 at build time -->
389    <property name="build.main.java.version" value="11"/>    <!-- Use javadoc12 (but -link to jdk11 api docs!), to get:
390        o override-methods=summary
391        o {@systemProperty ...}
392        o 8211194: issues linking to external documentation (was: missing package-list for JDK10 / JDK11 documentation)
393        o 8202628: javadoc generates bad links in TestModules.java
394        -->
395      <property name="java.runtime.target" value="11"/>
396    <property name="build.main.java" value="${java11}"/>    <property name="build.main.java" value="${java11}"/>
397    <property name="build.main.javac" value="${javac9}"/>    <property name="build.main.javac" value="${javac11}"/>
398    <property name="build.main.javadoc" value="${javadoc12}"/>    <property name="build.main.javadoc" value="${javadoc12}"/>
399      <property name="build.main.javadoc.source" value="${java.runtime.target}"/>
400    
401    <target name="dists"    <target name="dists"
402            depends="dist, 4jdk8dist"            depends="dist, 4jdk8dist"
# Line 429  Line 428 
428        <compilerarg value="--patch-module=java.base=${src.dir}"/>        <compilerarg value="--patch-module=java.base=${src.dir}"/>
429        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
430        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
431    <!--   Xlint:-removal for jdk12 Unsafe Object -> Reference renaming -->
432        <compilerarg value="-Xlint:all,-removal"/>        <compilerarg value="-Xlint:all,-removal"/>
433        <compilerarg line="--doclint-format html5"/>        <compilerarg line="--doclint-format html5"/>
434        <compilerarg value="-Xdoclint:all/protected,reference/private"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
435          <compilerarg value="-Xdoclint/package:java.util.*"/>
436        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
437        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
438        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 471  Line 472 
472  <!-- TODO: <arg line="- -module-source-path ${jdk9.home}/src.zip"/> -->  <!-- TODO: <arg line="- -module-source-path ${jdk9.home}/src.zip"/> -->
473      <javadoc destdir="${docs.dir}"      <javadoc destdir="${docs.dir}"
474               packagenames="none"               packagenames="none"
475               link="${java11.api.url}"               link="${java.api.url}"
476               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
477               access="${build.javadoc.access}"               access="${build.javadoc.access}"
478               sourcepath="${src.dir}"               sourcepath="${src.dir}"
479               classpath=""               classpath=""
480               source="11"               source="${build.main.javadoc.source}"
481               executable="${build.main.javadoc}">               executable="${build.main.javadoc}">
482    <!-- TODO: JDK-8214571 failonerror = "true" -->
483        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
484          <include name="**/*.java"/>          <include name="**/*.java"/>
485        </fileset>        </fileset>
486        <arg line="-Xdocrootparent ${java10.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
487        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
488        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
489        <arg value="-html5"/>        <arg value="-html5"/>
490        <arg value="--patch-module=java.base=${src.dir}"/>        <arg value="--patch-module=java.base=${src.dir}"/>
491    <!-- old school frames via docs/index.html?overview-summary.html -->
492    <!-- TODO: - -frames no longer a supported option in jdk13+ -->
493        <arg value="--frames"/>        <arg value="--frames"/>
494        <arg value="--override-methods=summary"/>        <arg value="--override-methods=summary"/>
495        <arg value="-tag"/> <arg value="${javadoc.jls.option}"/>        <arg value="-tag"/> <arg value="${javadoc.jls.option}"/>
# Line 532  Line 536 
536            description="Runs tck tests for src/main directly">            description="Runs tck tests for src/main directly">
537    
538      <run-tck-tests      <run-tck-tests
539        target="${build.main.java.version}"        target="${java.runtime.target}"
540        workdir="${build.dir}"        workdir="${build.dir}"
541        classes="${product.jar}">        classes="${product.jar}">
542        <javac-elements>        <javac-elements>
# Line 566  Line 570 
570            depends="jar"            depends="jar"
571            description="Runs jtreg tests for src/main using the jtreg ant task">            description="Runs jtreg tests for src/main using the jtreg ant task">
572      <run-jtreg-tests      <run-jtreg-tests
573         target="${build.main.java.version}"         target="${java.runtime.target}"
574         workdir="${build.dir}"         workdir="${build.dir}"
575         classes="${product.jar}"/>         classes="${product.jar}"/>
576    </target>    </target>
# Line 576  Line 580 
580            description="Runs tck and jtreg tests for src/main"/>            description="Runs tck and jtreg tests for src/main"/>
581    
582    <target name="test-version-permutations"    <target name="test-version-permutations"
583            depends="test9, test10, test11, test12, test9-11, test9-12, clean, test, docs">            depends="test11, test12, test13, test14, test11-12, test11-13, test11-14, clean, test, docs">
584    </target>    </target>
585    
586    <target name="test9">    <!-- jdk9 is unsupported as of 2019-08 -->
587    <!--   <target name="test9"> -->
588    <!--     <antcall target="clean"/> -->
589    <!--     <antcall> -->
590    <!--       <param name="java.runtime.target" value="9"/> -->
591    <!--       <param name="build.main.javac" value="${javac9}"/> -->
592    <!--       <param name="build.main.javadoc" value="${javadoc12}"/> -->
593    <!--       <param name="build.main.javadoc.source" value="9"/> -->
594    <!--       <target name="test"/> -->
595    <!--       <target name="docs"/> -->
596    <!--     </antcall> -->
597    <!--   </target> -->
598    
599      <!-- jdk10 is unsupported as of 2019-08 -->
600    <!--   <target name="test10"> -->
601    <!--     <antcall target="clean"/> -->
602    <!--     <antcall> -->
603    <!--       <param name="java.runtime.target" value="10"/> -->
604    <!--       <param name="build.main.javac" value="${javac10}"/> -->
605    <!--       <param name="build.main.javadoc" value="${javadoc12}"/> -->
606    <!--       <param name="build.main.javadoc.source" value="10"/> -->
607    <!--       <target name="test"/> -->
608    <!--       <target name="docs"/> -->
609    <!--     </antcall> -->
610    <!--   </target> -->
611    
612      <target name="test11">
613      <antcall target="clean"/>      <antcall target="clean"/>
614      <antcall>      <antcall>
615        <param name="build.main.java.version" value="9"/>        <param name="java.runtime.target" value="11"/>
616        <param name="build.main.java" value="${java9}"/>        <param name="build.main.javac" value="${javac11}"/>
617        <param name="build.main.javac" value="${javac9}"/>        <param name="build.main.javadoc" value="${javadoc12}"/>
618          <param name="build.main.javadoc.source" value="11"/>
619        <target name="test"/>        <target name="test"/>
620          <target name="docs"/>
621      </antcall>      </antcall>
622    </target>    </target>
623    
624    <target name="test10">    <target name="test12">
625      <antcall target="clean"/>      <antcall target="clean"/>
626      <antcall>      <antcall>
627        <param name="build.main.java.version" value="10"/>        <param name="java.runtime.target" value="12"/>
628        <param name="build.main.java" value="${java10}"/>        <param name="build.main.javac" value="${javac12}"/>
629        <param name="build.main.javac" value="${javac10}"/>        <param name="build.main.javadoc" value="${javadoc12}"/>
630        <param name="build.main.javadoc" value="${javadoc10}"/>        <param name="build.main.javadoc.source" value="12"/>
631        <target name="test"/>        <target name="test"/>
632        <target name="docs"/>        <target name="docs"/>
633      </antcall>      </antcall>
634    </target>    </target>
635    
636    <target name="test11">    <target name="test13">
637      <antcall target="clean"/>      <antcall target="clean"/>
638      <antcall>      <antcall>
639        <param name="build.main.java.version" value="11"/>        <param name="java.runtime.target" value="13"/>
640        <param name="build.main.java" value="${java11}"/>        <param name="build.main.javac" value="${javac13}"/>
641        <param name="build.main.javac" value="${javac11}"/>        <param name="build.main.javadoc" value="${javadoc13}"/>
642        <param name="build.main.javadoc" value="${javadoc11}"/>        <param name="build.main.javadoc.source" value="13"/>
643        <target name="test"/>        <target name="test"/>
644        <target name="docs"/>        <target name="docs"/>
645      </antcall>      </antcall>
646    </target>    </target>
647    
648    <target name="test12">    <target name="test14">
649      <antcall target="clean"/>      <antcall target="clean"/>
650      <antcall>      <antcall>
651        <param name="build.main.java.version" value="12"/>        <param name="java.runtime.target" value="14"/>
652        <param name="build.main.java" value="${java12}"/>        <param name="build.main.javac" value="${javac14}"/>
653        <param name="build.main.javac" value="${javac12}"/>        <param name="build.main.javadoc" value="${javadoc14}"/>
654          <param name="build.main.javadoc.source" value="14"/>
655          <target name="test"/>
656          <target name="docs"/>
657        </antcall>
658      </target>
659    
660      <target name="test11-12">
661        <antcall target="clean"/>
662        <antcall>
663          <param name="java.runtime.target" value="12"/>
664          <param name="build.main.javac" value="${javac11}"/>
665        <param name="build.main.javadoc" value="${javadoc12}"/>        <param name="build.main.javadoc" value="${javadoc12}"/>
666          <param name="build.main.javadoc.source" value="11"/>
667        <target name="test"/>        <target name="test"/>
668        <target name="docs"/>        <target name="docs"/>
669      </antcall>      </antcall>
670    </target>    </target>
671    
672    <target name="test9-11">    <target name="test11-13">
673      <antcall target="clean"/>      <antcall target="clean"/>
674      <antcall>      <antcall>
675        <param name="build.main.java.version" value="11"/>        <param name="java.runtime.target" value="13"/>
676        <param name="build.main.java" value="${java11}"/>        <param name="build.main.javac" value="${javac11}"/>
677        <param name="build.main.javac" value="${javac9}"/>        <param name="build.main.javadoc" value="${javadoc13}"/>
678        <param name="build.main.javadoc" value="${javadoc11}"/>        <param name="build.main.javadoc.source" value="11"/>
679        <target name="test"/>        <target name="test"/>
680        <target name="docs"/>        <target name="docs"/>
681      </antcall>      </antcall>
682    </target>    </target>
683    
684    <target name="test9-12">    <target name="test11-14">
685      <antcall target="clean"/>      <antcall target="clean"/>
686      <antcall>      <antcall>
687        <param name="build.main.java.version" value="12"/>        <param name="java.runtime.target" value="14"/>
688        <param name="build.main.java" value="${java12}"/>        <param name="build.main.javac" value="${javac11}"/>
689        <param name="build.main.javac" value="${javac9}"/>        <param name="build.main.javadoc" value="${javadoc14}"/>
690        <param name="build.main.javadoc" value="${javadoc12}"/>        <param name="build.main.javadoc.source" value="11"/>
691        <target name="test"/>        <target name="test"/>
692        <target name="docs"/>        <target name="docs"/>
693      </antcall>      </antcall>
# Line 1451  Line 1495 
1495      </jar>      </jar>
1496    
1497      <run-tck-tests      <run-tck-tests
1498        target="${build.main.java.version}"        target="${java.runtime.target}"
1499        workdir="${build.dir}"        workdir="${build.dir}"
1500        classes="${product.jar}">        classes="${product.jar}">
1501        <javac-elements>        <javac-elements>
# Line 1474  Line 1518 
1518            description="Run errorprone over jtreg tests (experimental)">            description="Run errorprone over jtreg tests (experimental)">
1519    
1520      <run-jtreg-tests      <run-jtreg-tests
1521         target="${build.main.java.version}"         target="${java.runtime.target}"
1522         workdir="${build.dir}"         workdir="${build.dir}"
1523         classes="${product.jar}"         classes="${product.jar}"
1524         verbose="all">         verbose="all">

Legend:
Removed from v.1.288  
changed lines
  Added in v.1.302

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