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

Diff of /jsr166/build.xml

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

revision 1.238 by jsr166, Fri Mar 24 16:33:02 2017 UTC revision 1.282 by jsr166, Tue Oct 9 01:34:19 2018 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"
3      xmlns:unless="ant:unless"
4    xmlns:ivy="antlib:org.apache.ivy.ant">    xmlns:ivy="antlib:org.apache.ivy.ant">
5    
6    <description>    <description>
# Line 18  Line 19 
19    itself.  Because the JDK version matters and because different    itself.  Because the JDK version matters and because different
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:
   $HOME/jdk/jdk7  
22    $HOME/jdk/jdk8    $HOME/jdk/jdk8
23    $HOME/jdk/jdk9    $HOME/jdk/jdk9
24    $HOME/jdk/jdk10    $HOME/jdk/jdk10
25      $HOME/jdk/jdk11
26      $HOME/jdk/jdk12
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
   $HOME/jdk/src/jdk7  
28    $HOME/jdk/src/jdk8    $HOME/jdk/src/jdk8
29    $HOME/jdk/src/jdk9    $HOME/jdk/src/jdk9
30    $HOME/jdk/src/jdk10    $HOME/jdk/src/jdk10
31      $HOME/jdk/src/jdk11
32      $HOME/jdk/src/jdk12
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 7 8 9 10 ...    for $N in 8 9 10 ...
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  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
# Line 103  Line 106 
106      <property name="jdk@{v}.src.dir" location="${jdk@{v}.src.home}/jdk/src/share/classes"      <property name="jdk@{v}.src.dir" location="${jdk@{v}.src.home}/jdk/src/share/classes"
107        unless:set="have.java.base"/>        unless:set="have.java.base"/>
108      <local name="modules"/>      <local name="modules"/>
109      <available property="modules" file="${jdk@{v}.home}/jmods" type="dir"/>      <available property="modules" file="${jdk@{v}.home}/lib/modules" type="file"/>
110      <local name="boot.jar.dir"/>      <local name="boot.jar.dir"/>
111      <property name="boot.jar.dir"   location="${jdk@{v}.home}/jre/lib" unless:set="modules"/>      <property name="boot.jar.dir"   location="${jdk@{v}.home}/jre/lib" unless:set="modules"/>
112      <path id="bootclasspath@{v}" unless:set="modules">      <path id="bootclasspath@{v}" unless:set="modules">
# Line 134  Line 137 
137    <defjdklocations v="8"/>    <defjdklocations v="8"/>
138    <defjdklocations v="9"/>    <defjdklocations v="9"/>
139    <defjdklocations v="10"/>    <defjdklocations v="10"/>
140      <defjdklocations v="11"/>
141      <defjdklocations v="12"/>
142    
143    <!-- Source locations -->    <!-- Source locations -->
144    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
# Line 144  Line 149 
149    <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg-jdk8"/>    <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg-jdk8"/>
150    <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>    <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>
151    <property name="jtreg10.src.dir"      location="${test.src.dir}/jtreg"/>    <property name="jtreg10.src.dir"      location="${test.src.dir}/jtreg"/>
152      <property name="jtreg11.src.dir"      location="${test.src.dir}/jtreg"/>
153      <property name="jtreg12.src.dir"      location="${test.src.dir}/jtreg"/>
154    <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>    <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>
155    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
156    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
# Line 183  Line 190 
190    <property name="junit.jar"        location="${lib.dir}/junit.jar"/>    <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
191    
192    <!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag -->    <!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag -->
193    <property name="java5.docroot.url"      value="http://docs.oracle.com/javase/1.5.0/docs"/>    <!-- Switched to https: in 2017-10 - JDK-8190312 -->
194    <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>    <property name="java5.docroot.url"  value="https://docs.oracle.com/javase/1.5.0/docs"/>
195    <property name="java7.docroot.url"      value="http://docs.oracle.com/javase/7/docs"/>    <property name="java6.docroot.url"  value="https://docs.oracle.com/javase/6/docs"/>
196    <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>    <property name="java7.docroot.url"  value="https://docs.oracle.com/javase/7/docs"/>
197    <!-- The expected canonical location does not yet exist as of 2016-04 -->    <property name="java8.docroot.url"  value="https://docs.oracle.com/javase/8/docs"/>
198    <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->    <property name="java9.docroot.url"  value="https://docs.oracle.com/javase/9/docs"/>
199    <property name="java9.docroot.url"      value="http://download.java.net/java/jdk9/docs"/>    <property name="java10.docroot.url" value="https://docs.oracle.com/javase/10/docs"/>
200      <property name="java11.docroot.url" value="https://docs.oracle.com/en/java/javase/11/docs"/>
201      <!-- The location of jdk early access docs (RIP) -->
202      <!-- <property name="java9.docroot.url" value="http://download.java.net/java/jdk9/docs"/> -->
203      <!-- <property name="java10.docroot.url" value="http://download.java.net/java/jdk10/docs"/> -->
204      <!-- <property name="java11.docroot.url" value="http://download.java.net/java/jdk11/docs"/> -->
205      <property name="java12.docroot.url" value="https://download.java.net/java/jdk12/docs"/>
206    <!-- Default jdk doc location (latest stable release seems best) -->    <!-- Default jdk doc location (latest stable release seems best) -->
207    <property name="java.docroot.url"       value="${java8.docroot.url}"/>    <!-- But pin to jdk 10 until fix for -->
208      <!-- 8211194: javadoc -link doesn't take module path into consideration -->
209      <property name="java.docroot.url"   value="${java10.docroot.url}"/>
210    
211    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
212    <property name="java5.api.url"      value="${java5.docroot.url}/api/"/>    <property name="java5.api.url"      value="${java5.docroot.url}/api/"/>
# Line 199  Line 214 
214    <property name="java7.api.url"      value="${java7.docroot.url}/api/"/>    <property name="java7.api.url"      value="${java7.docroot.url}/api/"/>
215    <property name="java8.api.url"      value="${java8.docroot.url}/api/"/>    <property name="java8.api.url"      value="${java8.docroot.url}/api/"/>
216    <property name="java9.api.url"      value="${java9.docroot.url}/api/"/>    <property name="java9.api.url"      value="${java9.docroot.url}/api/"/>
217      <property name="java10.api.url"     value="${java10.docroot.url}/api/"/>
218      <property name="java11.api.url"     value="${java11.docroot.url}/api/"/>
219      <property name="java12.api.url"     value="${java12.docroot.url}/api/"/>
220    <property name="java.api.url"       value="${java.docroot.url}/api/"/>    <property name="java.api.url"       value="${java.docroot.url}/api/"/>
221    
222    <!-- Define the "jtreg" task -->    <!-- Define the "jtreg" task -->
# Line 231  Line 249 
249    
250      <local name="modules"/>      <local name="modules"/>
251      <condition property="modules">      <condition property="modules">
252        <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>        <available file="${jdk@{compile-target}.home}/lib/modules" type="file"/>
253      </condition>      </condition>
254    
255      <local name="use-doclint"/>      <local name="use-doclint"/>
# Line 298  Line 316 
316    </macrodef>    </macrodef>
317    
318    <!-- Define jtreg test sets for different jdk versions -->    <!-- Define jtreg test sets for different jdk versions -->
319    <fileset dir="${jtreg9.src.dir}">    <!-- ant -Djtreg.test.pattern="**/ConcurrentHashMap/" -->
320      <patternset id="jdk9.jtreg.tests">    <!-- ant -Djtreg.test.pattern="**/ToArray.java" -->
321        <include name="**/*.java"/>    <property name="jtreg.test.pattern" value="**/*.java"/>
322      </patternset>    <macrodef name="defjtregtests">
323    </fileset>      <attribute name="v"/>
324        <sequential>
325    <fileset dir="${jtreg8.src.dir}">        <fileset dir="${jtreg@{v}.src.dir}">
326      <patternset id="jdk8.jtreg.tests">          <patternset id="jdk@{v}.jtreg.tests">
327        <include name="**/*.java"/>            <include name="${jtreg.test.pattern}"/>
328      </patternset>          </patternset>
329    </fileset>        </fileset>
330        </sequential>
331      </macrodef>
332    
333    <fileset dir="${jtreg7.src.dir}">    <defjtregtests v="12"/>
334      <patternset id="jdk7.jtreg.tests">    <defjtregtests v="11"/>
335        <include name="**/*.java"/>    <defjtregtests v="10"/>
336      </patternset>    <defjtregtests v="9"/>
337    </fileset>    <defjtregtests v="8"/>
338      <defjtregtests v="7"/>
339    
340    <!-- ant -Djtreg.flags=-timeoutFactor:4 -->    <!-- ant -Djtreg.flags=-timeoutFactor:4 -->
341    <property name="jtreg.flags" value=""/>    <property name="jtreg.flags" value=""/>
342    
343    <macrodef name="run-jtreg-tests">    <macrodef name="run-jtreg-tests">
344      <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->      <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
     <attribute name="source" default="7"/>  
345      <attribute name="target"/>      <attribute name="target"/>
346      <attribute name="workdir"/>      <attribute name="workdir"/>
347      <attribute name="classes"/>      <attribute name="classes"/>
348        <attribute name="verbose" default="${jtreg.verbose}"/>
349      <attribute name="jtregflags" default=""/>      <attribute name="jtregflags" default=""/>
350        <element name="jtreg-elements" optional="true"/>
351    
352      <sequential>      <sequential>
353    
# Line 334  Line 356 
356    
357      <local name="modules"/>      <local name="modules"/>
358      <condition property="modules">      <condition property="modules">
359        <available file="${jdk@{target}.home}/jmods" type="dir"/>        <available file="${jdk@{target}.home}/lib/modules" type="file"/>
360      </condition>      </condition>
361    
362      <delete dir="@{workdir}/JTwork"   quiet="true"/>      <delete dir="@{workdir}/JTwork"   quiet="true"/>
# Line 343  Line 365 
365             workDir="@{workdir}/JTwork">             workDir="@{workdir}/JTwork">
366        <patternset refid="jdk@{target}.jtreg.tests"/>        <patternset refid="jdk@{target}.jtreg.tests"/>
367        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
368        <arg value="-javacoptions:--patch-module java.base=@{classes}" if:set="modules"/>        <arg value="-javacoptions:--patch-module=java.base=@{classes}" if:set="modules"/>
369        <arg value="-vmoptions:--patch-module java.base=@{classes}" if:set="modules"/>        <arg value="-vmoptions:--patch-module=java.base=@{classes}" if:set="modules"/>
370        <arg value="-agentvm"/>        <arg value="-agentvm"/>
371        <arg value="-noreport"/>        <arg value="-noreport"/>
372        <arg value="-verbose:${jtreg.verbose}"/>        <arg value="-verbose:@{verbose}"/>
373        <arg value="-vmoptions:-esa -ea"/>        <arg value="-vmoptions:-esa -ea"/>
374        <arg value="-automatic"/>        <arg value="-automatic"/>
375        <arg value="-k:!ignore"/>        <arg value="-k:!ignore"/>
376        <arg line="@{jtregflags}"/>        <arg line="@{jtregflags}"/>
377        <arg line="${jtreg.flags}"/>        <arg line="${jtreg.flags}"/>
378          <jtreg-elements/>
379      </jtreg>      </jtreg>
380      </sequential>      </sequential>
381    </macrodef>    </macrodef>
# Line 368  Line 391 
391    
392    <!-- Main targets -->    <!-- Main targets -->
393    
394    <property name="build.main.java.version" value="9"/>    <property name="build.main.java.version" value="11"/>
395    <property name="build.main.javac" value="${javac9}"/>    <!-- Workaround "no nested properties in ant" -->
396      <macrodef name="define-build-main-properties">
397        <attribute name="v"/>
398        <sequential>
399          <property name="build.main.java"    value="${java@{v}}"/>
400          <property name="build.main.javac"   value="${javac@{v}}"/>
401          <!-- Force javadoc version to be at least 10, so we can use override-methods=summary -->
402          <!-- Force javadoc version to be at least 12, due to JDK-8202628 -->
403          <condition property="build.main.javadoc"
404                     value="${javadoc12}"
405                     else="${javadoc@{v}}">
406            <matches pattern="^(9|10|11)$" string="@{v}"/>
407          </condition>
408        </sequential>
409      </macrodef>
410      <define-build-main-properties v="${build.main.java.version}"/>
411    
412    <target name="dists"    <target name="dists"
413            depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"            depends="dist, 4jdk8dist"
414            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
415              <!-- no longer supported: 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist -->
416    
417    <target name="compile"    <target name="compile"
418            depends="configure-compiler"            depends="configure-compiler"
419            description="Compiles src/main sources to build dir">            description="Compiles src/main sources to build dir">
420    
     <local name="modules"/>  
     <condition property="modules">  
       <and>  
         <available file="${jdk9.home}/jmods" type="dir"/>  
         <equals arg1="9" arg2="${build.main.java.version}"/>  
       </and>  
     </condition>  
   
421      <local name="destdir"/>      <local name="destdir"/>
422      <property name="destdir" value="${build.classes.dir}/java.base" if:set="modules"/>      <property name="destdir" value="${build.classes.dir}/java.base"/>
     <property name="destdir" value="${build.classes.dir}" unless:set="modules"/>  
423    
424      <mkdir dir="${destdir}"/>      <mkdir dir="${destdir}"/>
425    
# Line 406  Line 436 
436             fork="true">             fork="true">
437    
438        <include name="**/*.java"/>        <include name="**/*.java"/>
439        <compilerarg value="--patch-module=java.base=${src.dir}" if:set="modules"/>        <compilerarg value="--patch-module=java.base=${src.dir}"/>
440        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
441        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
442        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
443        <compilerarg value="-Werror"/>        <compilerarg line="--doclint-format html5"/>
444        <compilerarg value="-Xdoclint:all/protected,reference/private"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
445          <compilerarg value="-Werror"/>
446        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
447        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
448    
# Line 450  Line 481 
481  <!-- TODO: <arg line="- -module-source-path ${jdk9.home}/src.zip"/> -->  <!-- TODO: <arg line="- -module-source-path ${jdk9.home}/src.zip"/> -->
482      <javadoc destdir="${docs.dir}"      <javadoc destdir="${docs.dir}"
483               packagenames="none"               packagenames="none"
484               link="${java9.api.url}"               link="${java11.api.url}"
485               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
486               access="${build.javadoc.access}"               access="${build.javadoc.access}"
487               sourcepath="${src.dir}"               sourcepath="${src.dir}"
488               classpath=""               classpath=""
489               executable="${javadoc9}">               source="11"
490                 executable="${build.main.javadoc}">
491        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
492          <include name="**/*.java"/>          <include name="**/*.java"/>
493        </fileset>        </fileset>
494        <arg line="-Xdocrootparent ${java9.docroot.url}"/>        <arg line="-Xdocrootparent ${java10.docroot.url}"/>
495        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
496        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
497          <arg value="-html5"/>
498        <arg value="--patch-module=java.base=${src.dir}"/>        <arg value="--patch-module=java.base=${src.dir}"/>
499        <arg value="-tag"/>        <arg value="--frames"/>
500        <arg value="${javadoc.jls.option}"/>        <arg value="--override-methods=summary"/>
501  <!-- @apiNote currently unused -->        <arg value="-tag"/> <arg value="${javadoc.jls.option}"/>
502  <!--       <arg value="-tag"/> -->        <arg value="-tag"/> <arg value="implSpec:a:Implementation Requirements:"/>
503  <!--       <arg value="apiNote:a:API Note:"/> -->        <arg value="-tag"/> <arg value="implNote:a:Implementation Note:"/>
504        <arg value="-tag"/>        <arg value="-tag"/> <arg value="apiNote:a:API Note:"/>
       <arg value="implSpec:a:Implementation Requirements:"/>  
       <arg value="-tag"/>  
       <arg value="implNote:a:Implementation Note:"/>  
505  <!-- tags added in jdk9: currently unused -->  <!-- tags added in jdk9: currently unused -->
506  <!--       <arg value="-tag"/> -->  <!--  <arg value="-tag"/> <arg value="revised:X"/> -->
507  <!--       <arg value="revised:X"/> -->  <!--  <arg value="-tag"/> <arg value="spec:X"/> -->
 <!--       <arg value="-tag"/> -->  
 <!--       <arg value="spec:X"/> -->  
508      </javadoc>      </javadoc>
509    </target>    </target>
510    
# Line 510  Line 538 
538    
539    <target name="clean"    <target name="clean"
540            description="Removes all build products">            description="Removes all build products">
   
541      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
   
542    </target>    </target>
543    
544    
545    <target name="dist-clean"    <target name="dist-clean"
546            description="Removes all build and distribution products">            description="Removes all build and distribution products">
   
547      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
548      <delete dir="${dist.dir}"/>      <delete dir="${dist.dir}"/>
   
549    </target>    </target>
550    
551    
# Line 581  Line 605 
605    
606    <target name="test"    <target name="test"
607            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
608            description="Runs tck and jtreg tests for src/main">            description="Runs tck and jtreg tests for src/main"/>
   </target>  
609    
610  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
611    
# Line 593  Line 616 
616    
617  <!--   </target> -->  <!--   </target> -->
618    
619  <!--   <target name="test89" -->    <target name="test9101112"
620  <!--           description="Runs tck and jtreg tests for src/main for multiple java versions"> -->            description="Runs tck and jtreg tests for src/main for multiple java versions">
621    
622  <!--     <antcall target="clean"/> -->      <antcall target="clean"/>
623  <!--     <antcall target="test"> -->      <antcall target="test">
624  <!--       <param name="build.main.java.version" value="8"/> -->        <param name="build.main.java.version" value="9"/>
625  <!--       <param name="build.main.javac" value="${javac8}"/> -->        <param name="build.main.java" value="${java9}"/>
626  <!--     </antcall> -->        <param name="build.main.javac" value="${javac9}"/>
627        </antcall>
628    
629  <!--     <antcall target="clean"/> -->      <antcall target="clean"/>
630  <!--     <antcall target="test"> -->      <antcall target="test">
631  <!--       <param name="build.main.java.version" value="9"/> -->        <param name="build.main.java.version" value="10"/>
632  <!--       <param name="build.main.javac" value="${javac9}"/> -->        <param name="build.main.java" value="${java10}"/>
633  <!--     </antcall> -->        <param name="build.main.javac" value="${javac10}"/>
634        </antcall>
635    
636  <!--   </target> -->      <antcall target="clean"/>
637        <antcall target="test">
638          <param name="build.main.java.version" value="11"/>
639          <param name="build.main.java" value="${java11}"/>
640          <param name="build.main.javac" value="${javac11}"/>
641        </antcall>
642    
643        <antcall target="clean"/>
644        <antcall target="test">
645          <param name="build.main.java.version" value="12"/>
646          <param name="build.main.java" value="${java12}"/>
647          <param name="build.main.javac" value="${javac12}"/>
648        </antcall>
649        <antcall target="docs">
650          <param name="build.main.java.version" value="12"/>
651          <param name="build.main.java" value="${java12}"/>
652          <param name="build.main.javac" value="${javac12}"/>
653          <param name="build.main.javadoc" value="${javadoc12}"/>
654        </antcall>
655    
656        <!-- Clean up to avoid obscure wrong class file version bugs -->
657        <antcall target="clean"/>
658    
659      </target>
660    
661    
662    
# Line 660  Line 708 
708      <java classname="ALoops" fork="true">      <java classname="ALoops" fork="true">
709        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
710      </java>      </java>
   
711    </target>    </target>
712    
713    
714    <target name="compile-test-loops" depends="jar"    <target name="compile-test-loops" depends="jar"
715            description="compile all the perf tests in src/test/loops">            description="Compiles all the perf tests in src/test/loops">
716    
717      <mkdir dir="${build.dir}/test/loops"/>      <mkdir dir="${build.dir}/test/loops"/>
718    
# Line 677  Line 724 
724             includeAntRuntime="false"             includeAntRuntime="false"
725             includeJavaRuntime="false"             includeJavaRuntime="false"
726             encoding="ASCII"             encoding="ASCII"
727             executable="${javac9}"             executable="${build.main.javac}"
728             fork="true">             fork="true">
729    
730        <include name="*.java"/>        <include name="*.java"/>
# Line 685  Line 732 
732        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
733        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
734        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
735      </javac>      </javac>
   
736    </target>    </target>
737    
738    
# Line 713  Line 758 
758             encoding="ASCII"             encoding="ASCII"
759             executable="${javac8}"             executable="${javac8}"
760             fork="true">             fork="true">
   
761        <include name="**/*.java"/>        <include name="**/*.java"/>
762        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
763        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
764        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
765        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
766        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
767      </javac>      </javac>
768    </target>    </target>
769    
# Line 744  Line 787 
787             encoding="ASCII"             encoding="ASCII"
788             executable="${javac8}"             executable="${javac8}"
789             fork="true">             fork="true">
   
790        <include name="**/*.java"/>        <include name="**/*.java"/>
791        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
792        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
793        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
794        <compilerarg value="-Xdoclint:all/protected,reference/private"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
795        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
796      </javac>      </javac>
797    </target>    </target>
798    
# Line 767  Line 808 
808          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
809        </manifest>        </manifest>
810      </jar>      </jar>
   
811    </target>    </target>
812    
813    
# Line 801  Line 841 
841    
842    <target name="4jdk8-test"    <target name="4jdk8-test"
843            depends="4jdk8-tck, 4jdk8-jtreg"            depends="4jdk8-tck, 4jdk8-jtreg"
844            description="Runs tck and jtreg tests for jsr166-4jdk8">            description="Runs tck and jtreg tests for jsr166-4jdk8"/>
   </target>  
845    
846    
847    <target name="4jdk8docs"    <target name="4jdk8docs"
# Line 818  Line 857 
857               access="${build.javadoc.access}"               access="${build.javadoc.access}"
858               sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"               sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
859               classpath=""               classpath=""
860                 source="8"
861               executable="${javadoc8}"               executable="${javadoc8}"
862               failonerror = "true">               failonerror = "true">
863        <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
# Line 825  Line 865 
865        </fileset>        </fileset>
866        <arg line="-Xdocrootparent ${java8.docroot.url}"/>        <arg line="-Xdocrootparent ${java8.docroot.url}"/>
867        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
868        <arg value="-tag"/>        <arg value="-tag"/> <arg value="${javadoc.jls.option}"/>
869        <arg value="${javadoc.jls.option}"/>        <arg value="-tag"/> <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
870  <!-- @apiNote currently unused -->        <arg value="-tag"/> <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
871  <!--       <arg value="-tag"/> -->  <!-- @apiNote tag currently unused -->
872  <!--       <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/> -->  <!--  <arg value="-tag"/> <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/> -->
       <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;"/>  
873      </javadoc>      </javadoc>
874    </target>    </target>
875    
# Line 845  Line 881 
881    
882    <target name="4jdk8clean"    <target name="4jdk8clean"
883            description="Removes all 4jdk8 build products">            description="Removes all 4jdk8 build products">
   
884      <delete dir="${build.4jdk8.dir}"/>      <delete dir="${build.4jdk8.dir}"/>
   
885    </target>    </target>
886    
887    
# Line 863  Line 897 
897    </target>    </target>
898    
899    
900      <!-- jsr166 4jdk7 (no longer maintained) -->
901    
902    <!-- jsr166 4jdk7 -->    <target name="4jdk7compile" depends="configure-compiler">
   
   <target name="4jdk7compile"  
           depends="configure-compiler"  
           description="Compiles src/jdk7 sources, targeting jdk7">  
   
903      <mkdir dir="${build.4jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
904    
905      <javac srcdir="${4jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
# Line 893  Line 923 
923        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
924        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
925        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
926      </javac>      </javac>
927    </target>    </target>
928    
929    <target name="4jdk7doclint"    <target name="4jdk7doclint" depends="configure-compiler">
           depends="configure-compiler"  
           description="Finds doclint warnings">  
   
930      <mkdir dir="${build.4jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
931    
932      <javac srcdir="${4jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
# Line 924  Line 950 
950        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
951        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected"/>
952        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
953      </javac>      </javac>
954    </target>    </target>
955    
956      <target name="4jdk7jar" depends="4jdk7compile">
   <target name="4jdk7jar"  
           depends="4jdk7compile"  
           description="Builds library jar from compiled sources">  
   
957      <jar destfile="${4jdk7product.jar}">      <jar destfile="${4jdk7product.jar}">
958        <fileset dir="${build.4jdk7.classes.dir}"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
959        <manifest>        <manifest>
# Line 940  Line 961 
961          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
962        </manifest>        </manifest>
963      </jar>      </jar>
   
964    </target>    </target>
965    
966      <target name="4jdk7-tck" depends="4jdk7jar">
   <target name="4jdk7-tck"  
           depends="4jdk7jar"  
           description="Runs tck tests for jsr166-4jdk7 directly">  
   
967      <run-tck-tests      <run-tck-tests
968        target="7"        target="7"
969        workdir="${build.4jdk7.dir}"        workdir="${build.4jdk7.dir}"
# Line 970  Line 986 
986      </run-tck-tests>      </run-tck-tests>
987    </target>    </target>
988    
   
989    <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->    <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
990    <target name="4jdk7-tck-junit"    <target name="4jdk7-tck-junit" depends="4jdk7compile">
           depends="4jdk7compile">  
991    
992      <junit printsummary="true"      <junit printsummary="true"
993             showoutput="true"             showoutput="true"
# Line 995  Line 1009 
1009    
1010        <test name="${jsr166.tckTestClass}" haltonfailure="no">        <test name="${jsr166.tckTestClass}" haltonfailure="no">
1011        </test>        </test>
   
1012      </junit>      </junit>
1013    </target>    </target>
1014    
1015    <target name="4jdk7-jtreg"    <target name="4jdk7-jtreg" depends="4jdk7jar">
           depends="4jdk7jar"  
           description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">  
1016      <run-jtreg-tests      <run-jtreg-tests
1017         target="7"         target="7"
1018         workdir="${build.4jdk7.dir}"         workdir="${build.4jdk7.dir}"
1019         classes="${4jdk7product.jar}"/>         classes="${4jdk7product.jar}"/>
1020    </target>    </target>
1021    
1022      <target name="4jdk7-test" depends="4jdk7-tck, 4jdk7-jtreg"/>
1023    
1024    <target name="4jdk7-test"    <target name="4jdk7docs">
           depends="4jdk7-tck, 4jdk7-jtreg"  
           description="Runs tck and jtreg tests for jsr166-4jdk7">  
   </target>  
   
   
   <target name="4jdk7docs"  
           description="Builds javadocs for src/jdk7 to dist dir">  
   
1025      <delete dir="${4jdk7docs.dir}"/>      <delete dir="${4jdk7docs.dir}"/>
1026      <mkdir dir="${4jdk7docs.dir}"/>      <mkdir dir="${4jdk7docs.dir}"/>
1027    
# Line 1038  Line 1042 
1042      </javadoc>      </javadoc>
1043    </target>    </target>
1044    
1045      <target name="4jdk7dist" depends="4jdk7dist-jar, 4jdk7dist-docs"/>
1046    
1047    <target name="4jdk7dist"    <target name="4jdk7clean">
           depends="4jdk7dist-jar, 4jdk7dist-docs"  
           description="Puts all distributable products in single hierarchy"/>  
   
   
   <target name="4jdk7clean"  
           description="Removes all 4jdk7 build products">  
   
1048      <delete dir="${build.4jdk7.dir}"/>      <delete dir="${build.4jdk7.dir}"/>
   
1049    </target>    </target>
1050    
1051      <target name="4jdk7dist-jar" depends="4jdk7clean, 4jdk7jar">
   <target name="4jdk7dist-jar"  
           depends="4jdk7clean, 4jdk7jar">  
1052      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
1053    </target>    </target>
1054    
1055      <target name="4jdk7dist-docs" depends="4jdk7clean, 4jdk7docs">
   <target name="4jdk7dist-docs"  
           depends="4jdk7clean, 4jdk7docs">  
1056      <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>      <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
1057    </target>    </target>
1058    
1059    
1060    <!-- jsr166x -->    <!-- jsr166x (no longer maintained) -->
   
   <target name="jsr166xcompile"  
           depends="configure-compiler"  
           description="Compiles jsr166x sources to build dir">  
1061    
1062      <target name="jsr166xcompile" depends="configure-compiler">
1063      <mkdir dir="${build.jsr166x.classes.dir}"/>      <mkdir dir="${build.jsr166x.classes.dir}"/>
1064    
1065      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1086  Line 1076 
1076             encoding="ASCII"             encoding="ASCII"
1077             executable="${javac7}"             executable="${javac7}"
1078             fork="true">             fork="true">
   
1079        <include name="jsr166x/**/*.java"/>        <include name="jsr166x/**/*.java"/>
1080        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1081        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
1082        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1083        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1084      </javac>      </javac>
1085    </target>    </target>
1086    
1087      <target name="jsr166xjar" depends="jsr166xcompile">
   <target name="jsr166xjar"  
           depends="jsr166xcompile"  
           description="Builds library jar from compiled sources">  
   
1088      <jar destfile="${jsr166x.jar}">      <jar destfile="${jsr166x.jar}">
1089        <fileset dir="${build.jsr166x.classes.dir}"/>        <fileset dir="${build.jsr166x.classes.dir}"/>
1090        <manifest>        <manifest>
# Line 1108  Line 1092 
1092          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1093        </manifest>        </manifest>
1094      </jar>      </jar>
   
1095    </target>    </target>
1096    
1097      <target name="jsr166xdocs">
   <target name="jsr166xdocs"  
           description="Builds javadocs to dist dir">  
   
1098      <delete dir="${jsr166xdocs.dir}"/>      <delete dir="${jsr166xdocs.dir}"/>
1099      <mkdir dir="${jsr166xdocs.dir}"/>      <mkdir dir="${jsr166xdocs.dir}"/>
1100    
# Line 1129  Line 1109 
1109               failonerror = "true">               failonerror = "true">
1110        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1111        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1112      </javadoc>      </javadoc>
1113    </target>    </target>
1114    
1115      <target name="jsr166xdist" depends="jsr166xdist-jar, jsr166xdist-docs"/>
1116    
1117    <target name="jsr166xdist"    <target name="jsr166xclean">
           depends="jsr166xdist-jar, jsr166xdist-docs"  
           description="Puts all distributable products in single hierarchy"/>  
   
   
   <target name="jsr166xclean"  
           description="Removes all jsr166x build products">  
   
1118      <delete dir="${build.jsr166x.dir}"/>      <delete dir="${build.jsr166x.dir}"/>
   
1119    </target>    </target>
1120    
1121      <target name="jsr166xdist-jar" depends="jsr166xclean, jsr166xjar">
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
1122      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
1123    </target>    </target>
1124    
1125    <target name="jsr166xdist-docs"    <target name="jsr166xdist-docs" depends="jsr166xclean, jsr166xdocs">
           depends="jsr166xclean, jsr166xdocs">  
1126      <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>      <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
1127    </target>    </target>
1128    
   <!-- jsr166y -->  
   
1129    
1130    <target name="jsr166ycompile"    <!-- jsr166y (no longer maintained) -->
           depends="configure-compiler"  
           description="Compiles jsr166y sources">  
1131    
1132      <target name="jsr166ycompile" depends="configure-compiler">
1133      <mkdir dir="${build.jsr166y.classes.dir}"/>      <mkdir dir="${build.jsr166y.classes.dir}"/>
1134    
1135      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1186  Line 1152 
1152        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1153        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1154        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1155      </javac>      </javac>
1156    </target>    </target>
1157    
1158      <target name="jsr166yjar" depends="jsr166ycompile">
   <target name="jsr166yjar"  
           depends="jsr166ycompile"  
           description="Builds library jar from compiled sources">  
   
1159      <jar destfile="${jsr166y.jar}" index="true">      <jar destfile="${jsr166y.jar}" index="true">
1160        <fileset dir="${build.jsr166y.classes.dir}"/>        <fileset dir="${build.jsr166y.classes.dir}"/>
1161        <manifest>        <manifest>
# Line 1202  Line 1163 
1163          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1164        </manifest>        </manifest>
1165      </jar>      </jar>
   
1166    </target>    </target>
1167    
1168      <target name="jsr166ydocs">
   <target name="jsr166ydocs"  
           description="Builds javadocs to dist dir">  
   
1169      <delete dir="${jsr166ydocs.dir}"/>      <delete dir="${jsr166ydocs.dir}"/>
1170      <mkdir dir="${jsr166ydocs.dir}"/>      <mkdir dir="${jsr166ydocs.dir}"/>
1171    
# Line 1223  Line 1180 
1180               failonerror = "true">               failonerror = "true">
1181        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1182        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1183      </javadoc>      </javadoc>
1184    </target>    </target>
1185    
1186      <target name="jsr166ydist" depends="jsr166ydist-jar, jsr166ydist-docs"/>
1187    
1188    <target name="jsr166ydist"    <target name="jsr166yclean">
           depends="jsr166ydist-jar, jsr166ydist-docs"  
           description="Puts all distributable products in single hierarchy"/>  
   
   
   <target name="jsr166yclean"  
           description="Removes all jsr166y build products">  
   
1189      <delete dir="${build.jsr166y.dir}"/>      <delete dir="${build.jsr166y.dir}"/>
   
1190    </target>    </target>
1191    
1192      <target name="jsr166ydist-jar" depends="jsr166yclean, jsr166yjar">
   <target name="jsr166ydist-jar"  
           depends="jsr166yclean, jsr166yjar">  
1193      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1194    </target>    </target>
1195    
1196    <target name="jsr166ydist-docs"    <target name="jsr166ydist-docs" depends="jsr166yclean, jsr166ydocs">
           depends="jsr166yclean, jsr166ydocs">  
1197      <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>      <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1198    </target>    </target>
1199    
1200    
1201    <!-- extra166y -->    <!-- extra166y (no longer maintained) -->
   
   
   <target name="extra166ycompile"  
           depends="configure-compiler, jsr166yjar"  
           description="Compiles extra166y sources">  
1202    
1203      <target name="extra166ycompile" depends="configure-compiler, jsr166yjar">
1204      <mkdir dir="${build.extra166y.classes.dir}"/>      <mkdir dir="${build.extra166y.classes.dir}"/>
1205    
1206      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1281  Line 1223 
1223        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1224        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1225        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1226      </javac>      </javac>
1227    </target>    </target>
1228    
1229      <target name="extra166yjar" depends="extra166ycompile">
   <target name="extra166yjar"  
           depends="extra166ycompile"  
           description="Builds library jar from compiled sources">  
   
1230      <jar destfile="${extra166y.jar}" index="true">      <jar destfile="${extra166y.jar}" index="true">
1231        <fileset dir="${build.extra166y.classes.dir}"/>        <fileset dir="${build.extra166y.classes.dir}"/>
1232        <manifest>        <manifest>
# Line 1297  Line 1234 
1234          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1235        </manifest>        </manifest>
1236      </jar>      </jar>
   
1237    </target>    </target>
1238    
1239      <target name="extra166ydocs">
   <target name="extra166ydocs"  
           description="Builds javadocs to build dir">  
   
1240      <delete dir="${extra166ydocs.dir}"/>      <delete dir="${extra166ydocs.dir}"/>
1241      <mkdir dir="${extra166ydocs.dir}"/>      <mkdir dir="${extra166ydocs.dir}"/>
1242    
# Line 1317  Line 1250 
1250               executable="${javadoc7}">               executable="${javadoc7}">
1251        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1252        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1253      </javadoc>      </javadoc>
1254    </target>    </target>
1255    
1256      <target name="extra166ydist" depends="extra166ydist-jar, extra166ydist-docs"/>
1257    
1258    <target name="extra166ydist"    <target name="extra166yclean">
           depends="extra166ydist-jar, extra166ydist-docs"  
           description="Puts all distributable products in single hierarchy"/>  
   
   
   <target name="extra166yclean"  
           description="Removes all extra166y build products">  
   
1259      <delete dir="${build.extra166y.dir}"/>      <delete dir="${build.extra166y.dir}"/>
   
1260    </target>    </target>
1261    
1262      <target name="extra166ydist-jar" depends="extra166yclean, extra166yjar">
   <target name="extra166ydist-jar"  
           depends="extra166yclean, extra166yjar">  
1263      <copy file="${extra166y.jar}" todir="${dist.dir}"/>      <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1264    </target>    </target>
1265    
1266    <target name="extra166ydist-docs"    <target name="extra166ydist-docs" depends="extra166yclean, extra166ydocs">
           depends="extra166yclean, extra166ydocs">  
1267      <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>      <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1268    </target>    </target>
1269    
1270    <!-- jsr166e -->  
1271      <!-- jsr166e (no longer maintained) -->
1272    
1273    <property name="build.jsr166e.java.version" value="6"/>    <property name="build.jsr166e.java.version" value="6"/>
1274    <property name="build.jsr166e.javac" value="${javac6}"/>    <property name="build.jsr166e.javac" value="${javac6}"/>
1275    
1276    <target name="jsr166ecompile"    <target name="jsr166ecompile" depends="configure-compiler">
           depends="configure-compiler"  
           description="Compiles jsr166e sources">  
   
1277      <mkdir dir="${build.jsr166e.classes.dir}"/>      <mkdir dir="${build.jsr166e.classes.dir}"/>
1278    
1279      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1374  Line 1294 
1294        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1295        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1296        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1297      </javac>      </javac>
1298    </target>    </target>
1299    
   <!-- jsr166e: find doclint errors -->  
1300    <target name="jsr166edoclint">    <target name="jsr166edoclint">
   
1301      <mkdir dir="${build.jsr166e.classes.dir}"/>      <mkdir dir="${build.jsr166e.classes.dir}"/>
1302    
1303      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1402  Line 1319 
1319        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1320        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1321        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected"/>
   
1322      </javac>      </javac>
1323    </target>    </target>
1324    
1325      <target name="jsr166ejar" depends="jsr166ecompile">
   <target name="jsr166ejar"  
           depends="jsr166ecompile"  
           description="Builds library jar from compiled sources">  
   
1326      <jar destfile="${jsr166e.jar}" index="true">      <jar destfile="${jsr166e.jar}" index="true">
1327        <fileset dir="${build.jsr166e.classes.dir}"/>        <fileset dir="${build.jsr166e.classes.dir}"/>
1328        <manifest>        <manifest>
# Line 1418  Line 1330 
1330          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1331        </manifest>        </manifest>
1332      </jar>      </jar>
   
1333    </target>    </target>
1334    
1335      <target name="jsr166edocs">
   <target name="jsr166edocs"  
           description="Builds javadocs to build dir">  
   
1336      <delete dir="${jsr166edocs.dir}"/>      <delete dir="${jsr166edocs.dir}"/>
1337      <mkdir dir="${jsr166edocs.dir}"/>      <mkdir dir="${jsr166edocs.dir}"/>
1338    
# Line 1438  Line 1346 
1346               failonerror = "true">               failonerror = "true">
1347        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1348        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1349      </javadoc>      </javadoc>
1350    </target>    </target>
1351    
1352      <target name="jsr166e-tck-one-java-version" depends="jsr166ejar">
   <target name="jsr166e-tck-one-java-version"  
           depends="jsr166ejar">  
   
1353      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
   
1354      <run-tck-tests      <run-tck-tests
1355        tck.src.dir="${test.src.dir}/tck-jsr166e"        tck.src.dir="${test.src.dir}/tck-jsr166e"
1356        target="${build.jsr166e.java.version}"        target="${build.jsr166e.java.version}"
# Line 1455  Line 1358 
1358        classes="${jsr166e.jar}"/>        classes="${jsr166e.jar}"/>
1359    </target>    </target>
1360    
1361    <target name="jsr166e-tck"    <target name="jsr166e-tck">
           description="Runs tck tests for jsr166e for multiple java versions">  
1362    
1363  <!--     <antcall target="clean"/> -->  <!--     <antcall target="clean"/> -->
1364  <!--     <antcall target="jsr166e-tck-one-java-version"> -->  <!--     <antcall target="jsr166e-tck-one-java-version"> -->
# Line 1477  Line 1379 
1379      </antcall>      </antcall>
1380    </target>    </target>
1381    
1382      <target name="jsr166e-test" depends="jsr166e-tck"/>
1383    
1384    <target name="jsr166e-test"    <target name="jsr166edist" depends="jsr166edist-jar, jsr166edist-docs"/>
           depends="jsr166e-tck"  
           description="Runs all tests for jsr166e">  
   </target>  
   
   <target name="jsr166edist"  
           depends="jsr166edist-jar, jsr166edist-docs"  
           description="Puts all distributable products in single hierarchy"/>  
1385    
1386      <target name="jsr166eclean">
   <target name="jsr166eclean"  
           description="Removes all jsr166e build products">  
1387      <delete dir="${build.jsr166e.dir}"/>      <delete dir="${build.jsr166e.dir}"/>
1388    </target>    </target>
1389    
   
1390    <target name="jsr166edist-jar"    <target name="jsr166edist-jar"
1391            depends="jsr166eclean, jsr166ejar">            depends="jsr166eclean, jsr166ejar">
1392      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1393    </target>    </target>
1394    
1395    <target name="jsr166edist-docs"    <target name="jsr166edist-docs" depends="jsr166eclean, jsr166edocs">
           depends="jsr166eclean, jsr166edocs">  
1396      <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>      <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1397    </target>    </target>
1398    
1399    
1400  <!-- Find buglets that can be detected by static build tools -->  <!-- Find buglets that can be detected by static build tools -->
1401    
1402    <target name="lint">  <!--   <target name="lint"> -->
1403      <antcall target="dists">  <!--     <antcall target="dists"> -->
1404        <param name="build.javadoc.access" value="public"/>  <!--       <param name="build.javadoc.access" value="protected"/> -->
1405      </antcall>  <!--     </antcall> -->
1406    </target>  <!--   </target> -->
1407    
1408  <!-- Generates all doclint warnings, even for private methods (rarely useful) -->  <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1409    <target name="lint-private">    <target name="doclint-private">
1410      <antcall target="dist">      <antcall target="dist">
1411        <param name="build.javadoc.access" value="private"/>        <param name="build.javadoc.access" value="private"/>
1412      </antcall>      </antcall>
# Line 1522  Line 1414 
1414    
1415    
1416  <!-- ==============================================================  <!-- ==============================================================
1417    Experimental errorprone support - http://errorprone.info    Experimental errorprone support - https://errorprone.info
   You may need to bring your own errorprone jar.  
1418  =================================================================== -->  =================================================================== -->
1419      <property name="errorprone.jar" location="${lib.dir}/error_prone_ant-2.3.1.jar"/>
1420      <property name="errorprone.jsr166.user.flags" value=""/>
1421      <property name="errorprone.jsr166.flags"
1422                value="-Xep:HashtableContains:OFF
1423                       -Xep:JdkObsolete:OFF
1424                       -Xep:MissingOverride:OFF
1425                       -Xep:MissingFail:OFF
1426                       -Xep:MixedArrayDimensions:ERROR
1427                       -Xep:RemoveUnusedImports:ERROR
1428                       -Xep:EmptyIf:ERROR
1429                       -Xep:MultipleTopLevelClasses:ERROR
1430                       -Xep:ClassName:ERROR
1431                       -Xep:LongLiteralLowerCaseSuffix:ERROR
1432                       -Xep:RedundantThrows:ERROR
1433                       -Xep:IdentityBinaryExpression:WARN
1434                       -Xep:MethodCanBeStatic:WARN
1435                       ${errorprone.jsr166.user.flags}"/>
1436      <!-- -Xep:WildcardImport:ERROR -->
1437      <property name="errorprone.jsr166.test.flags"
1438                value="-Xep:StringSplitter:OFF
1439                       -Xep:BoxedPrimitiveConstructor:OFF
1440                       -Xep:ModifyingCollectionWithItself:OFF"/>
1441      <!-- ant -emacs errorprone |& grep -EA1 '(warning|error):|warnings' -->
1442    <target name="errorprone"    <target name="errorprone"
1443            depends="clean, configure-compiler"            depends="clean, configure-compiler"
1444            description="Run errorprone over jsr166 source code">            description="Run errorprone over jsr166 source code (experimental)">
1445    
1446      <local name="destdir"/>      <local name="destdir"/>
1447      <property name="destdir" value="${build.classes.dir}/java.base"/>      <property name="destdir" value="${build.classes.dir}/java.base"/>
# Line 1546  Line 1460 
1460             fork="true">             fork="true">
1461    
1462        <include name="**/*.java"/>        <include name="**/*.java"/>
1463        <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>        <!-- Needed to silence -Xep:FutureReturnValueIgnored -->
1464        <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>        <compilerarg value="-J--illegal-access=permit"/>
1465        <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>        <compilerarg value="-XDcompilePolicy=simple"/>
1466        <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>        <compilerarg line="-processorpath ${errorprone.jar}"/>
       <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>  
       <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>  
       <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>  
       <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>  
       <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>  
       <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>  
1467        <compilerarg value="-Xplugin:ErrorProne        <compilerarg value="-Xplugin:ErrorProne
1468                            -Xep:IdentityBinaryExpression:WARN                            ${errorprone.jsr166.flags}"/>
                           -Xep:MissingOverride:OFF  
                           -Xep:MixedArrayDimensions:WARN  
                           -Xep:RemoveUnusedImports:ERROR  
                           -Xep:MethodCanBeStatic:WARN"/>  
1469        <compilerarg value="--patch-module=java.base=${src.dir}"/>        <compilerarg value="--patch-module=java.base=${src.dir}"/>
1470        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
1471        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
# Line 1580  Line 1484 
1484        workdir="${build.dir}"        workdir="${build.dir}"
1485        classes="${product.jar}">        classes="${product.jar}">
1486        <javac-elements>        <javac-elements>
1487          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>          <!-- Needed to silence -Xep:FutureReturnValueIgnored -->
1488          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>          <compilerarg value="-J--illegal-access=permit"/>
1489          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>          <compilerarg value="-XDcompilePolicy=simple"/>
1490          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>          <compilerarg line="-processorpath ${errorprone.jar}"/>
1491          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>          <compilerarg value="-Xplugin:ErrorProne
1492          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>                              ${errorprone.jsr166.flags}
1493          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>                              ${errorprone.jsr166.test.flags}"/>
         <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>  
         <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>  
         <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>  
         <compilerarg value="-Xplugin:ErrorProne  
                             -Xep:IdentityBinaryExpression:WARN  
                             -Xep:BoxedPrimitiveConstructor:OFF  
                             -Xep:HashtableContains:OFF  
                             -Xep:ModifyingCollectionWithItself:OFF  
                             -Xep:MissingOverride:OFF  
                             -Xep:MixedArrayDimensions:WARN  
                             -Xep:RemoveUnusedImports:ERROR  
                             -Xep:MethodCanBeStatic:WARN"/>  
1494          <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>          <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1495        </javac-elements>        </javac-elements>
1496      </run-tck-tests>      </run-tck-tests>
1497    </target>    </target>
1498    
1499      <!-- ant -emacs errorprone-jtreg |& grep -EA1 '(warning|error):' -->
1500      <!-- -XDcompilePolicy=simple or byfile avoids confusing UnusedImports -->
1501      <target name="errorprone-jtreg"
1502              depends="jar"
1503              description="Run errorprone over jtreg tests (experimental)">
1504    
1505        <run-jtreg-tests
1506           target="${build.main.java.version}"
1507           workdir="${build.dir}"
1508           classes="${product.jar}"
1509           verbose="all">
1510          <jtreg-elements>
1511            <arg value="-javacoption:-XDcompilePolicy=simple"/>
1512            <arg value="-javacoption:-processorpath"/>
1513            <arg value="-javacoption:${errorprone.jar}"/>
1514            <arg value="-javacoption:-Xplugin:ErrorProne
1515                                ${errorprone.jsr166.flags}
1516                                ${errorprone.jsr166.test.flags}
1517                                -Xep:MultipleTopLevelClasses:WARN
1518                                -Xep:NonAtomicVolatileUpdate:OFF"/>
1519          </jtreg-elements>
1520        </run-jtreg-tests>
1521      </target>
1522    
1523    
1524  <!-- ==============================================================  <!-- ==============================================================
1525    Running guava tests against jsr166 code    Running guava tests against jsr166 code
# Line 1657  Line 1573 
1573      <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"      <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"
1574           dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>           dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1575      <junit printsummary="true" showoutput="true" haltonfailure="true"      <junit printsummary="true" showoutput="true" haltonfailure="true"
1576             jvm="${java9}" fork="true">             jvm="${build.main.java}" fork="true">
1577        <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>        <jvmarg line="-ea -esa --patch-module=java.base=${product.jar}"/>
1578        <formatter type="brief"/>        <formatter type="brief"/>
1579        <classpath>        <classpath>
1580          <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>          <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>

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

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