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

Diff of /jsr166/build.xml

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

revision 1.236, Mon Mar 20 00:03:57 2017 UTC revision 1.275, Wed Jul 18 01:16:42 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      <!-- The location of jdk early access docs (RIP) -->
201      <!-- <property name="java9.docroot.url" value="http://download.java.net/java/jdk9/docs"/> -->
202      <!-- <property name="java10.docroot.url" value="http://download.java.net/java/jdk10/docs"/> -->
203      <property name="java11.docroot.url" value="http://download.java.net/java/jdk11/docs"/>
204      <property name="java12.docroot.url" value="http://download.java.net/java/jdk12/docs"/>
205    <!-- Default jdk doc location (latest stable release seems best) -->    <!-- Default jdk doc location (latest stable release seems best) -->
206    <property name="java.docroot.url"       value="${java8.docroot.url}"/>    <property name="java.docroot.url"   value="${java10.docroot.url}"/>
207    
208    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
209    <property name="java5.api.url"      value="${java5.docroot.url}/api/"/>    <property name="java5.api.url"      value="${java5.docroot.url}/api/"/>
# Line 199  Line 211 
211    <property name="java7.api.url"      value="${java7.docroot.url}/api/"/>    <property name="java7.api.url"      value="${java7.docroot.url}/api/"/>
212    <property name="java8.api.url"      value="${java8.docroot.url}/api/"/>    <property name="java8.api.url"      value="${java8.docroot.url}/api/"/>
213    <property name="java9.api.url"      value="${java9.docroot.url}/api/"/>    <property name="java9.api.url"      value="${java9.docroot.url}/api/"/>
214      <property name="java10.api.url"     value="${java10.docroot.url}/api/"/>
215      <property name="java11.api.url"     value="${java11.docroot.url}/api/"/>
216      <property name="java12.api.url"     value="${java12.docroot.url}/api/"/>
217    <property name="java.api.url"       value="${java.docroot.url}/api/"/>    <property name="java.api.url"       value="${java.docroot.url}/api/"/>
218    
219    <!-- Define the "jtreg" task -->    <!-- Define the "jtreg" task -->
# Line 231  Line 246 
246    
247      <local name="modules"/>      <local name="modules"/>
248      <condition property="modules">      <condition property="modules">
249        <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>        <available file="${jdk@{compile-target}.home}/lib/modules" type="file"/>
250        </condition>
251    
252        <local name="use-doclint"/>
253        <condition property="use-doclint">
254          <not> <equals arg1="@{target}" arg2="7"/> </not>
255      </condition>      </condition>
256    
257      <mkdir dir="@{workdir}/tck-classes"/>      <mkdir dir="@{workdir}/tck-classes"/>
# Line 253  Line 273 
273        <include name="*.java"/>        <include name="*.java"/>
274        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
275        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>
276        <compilerarg value="-Xdoclint:reference/private"/>        <compilerarg value="-Xdoclint:reference/private" if:set="use-doclint"/>
277        <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>        <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
278        <compilerarg value="--patch-module=java.base=@{classes}" if:set="modules"/>        <compilerarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
279        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 293  Line 313 
313    </macrodef>    </macrodef>
314    
315    <!-- Define jtreg test sets for different jdk versions -->    <!-- Define jtreg test sets for different jdk versions -->
316    <fileset dir="${jtreg9.src.dir}">    <!-- ant -Djtreg.test.pattern="**/ConcurrentHashMap/" -->
317      <patternset id="jdk9.jtreg.tests">    <!-- ant -Djtreg.test.pattern="**/ToArray.java" -->
318        <include name="**/*.java"/>    <property name="jtreg.test.pattern" value="**/*.java"/>
319      </patternset>    <macrodef name="defjtregtests">
320    </fileset>      <attribute name="v"/>
321        <sequential>
322    <fileset dir="${jtreg8.src.dir}">        <fileset dir="${jtreg@{v}.src.dir}">
323      <patternset id="jdk8.jtreg.tests">          <patternset id="jdk@{v}.jtreg.tests">
324        <include name="**/*.java"/>            <include name="${jtreg.test.pattern}"/>
325      </patternset>      </patternset>
326    </fileset>    </fileset>
327        </sequential>
328      </macrodef>
329    
330    <fileset dir="${jtreg7.src.dir}">    <defjtregtests v="12"/>
331      <patternset id="jdk7.jtreg.tests">    <defjtregtests v="11"/>
332        <include name="**/*.java"/>    <defjtregtests v="10"/>
333      </patternset>    <defjtregtests v="9"/>
334    </fileset>    <defjtregtests v="8"/>
335      <defjtregtests v="7"/>
336    
337    <!-- ant -Djtreg.flags=-timeoutFactor:4 -->    <!-- ant -Djtreg.flags=-timeoutFactor:4 -->
338    <property name="jtreg.flags" value=""/>    <property name="jtreg.flags" value=""/>
339    
340    <macrodef name="run-jtreg-tests">    <macrodef name="run-jtreg-tests">
341      <!-- 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"/>  
342      <attribute name="target"/>      <attribute name="target"/>
343      <attribute name="workdir"/>      <attribute name="workdir"/>
344      <attribute name="classes"/>      <attribute name="classes"/>
345        <attribute name="verbose" default="${jtreg.verbose}"/>
346      <attribute name="jtregflags" default=""/>      <attribute name="jtregflags" default=""/>
347        <element name="jtreg-elements" optional="true"/>
348    
349      <sequential>      <sequential>
350    
# Line 329  Line 353 
353    
354      <local name="modules"/>      <local name="modules"/>
355      <condition property="modules">      <condition property="modules">
356        <available file="${jdk@{target}.home}/jmods" type="dir"/>        <available file="${jdk@{target}.home}/lib/modules" type="file"/>
357      </condition>      </condition>
358    
359      <delete dir="@{workdir}/JTwork"   quiet="true"/>      <delete dir="@{workdir}/JTwork"   quiet="true"/>
# Line 338  Line 362 
362             workDir="@{workdir}/JTwork">             workDir="@{workdir}/JTwork">
363        <patternset refid="jdk@{target}.jtreg.tests"/>        <patternset refid="jdk@{target}.jtreg.tests"/>
364        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
365        <arg value="-javacoptions:--patch-module java.base=@{classes}" if:set="modules"/>        <arg value="-javacoptions:--patch-module=java.base=@{classes}" if:set="modules"/>
366        <arg value="-vmoptions:--patch-module java.base=@{classes}" if:set="modules"/>        <arg value="-vmoptions:--patch-module=java.base=@{classes}" if:set="modules"/>
367        <arg value="-agentvm"/>        <arg value="-agentvm"/>
368        <arg value="-noreport"/>        <arg value="-noreport"/>
369        <arg value="-verbose:${jtreg.verbose}"/>        <arg value="-verbose:@{verbose}"/>
370        <arg value="-vmoptions:-esa -ea"/>        <arg value="-vmoptions:-esa -ea"/>
371        <arg value="-automatic"/>        <arg value="-automatic"/>
372        <arg value="-k:!ignore"/>        <arg value="-k:!ignore"/>
373        <arg line="@{jtregflags}"/>        <arg line="@{jtregflags}"/>
374        <arg line="${jtreg.flags}"/>        <arg line="${jtreg.flags}"/>
375          <jtreg-elements/>
376      </jtreg>      </jtreg>
377      </sequential>      </sequential>
378    </macrodef>    </macrodef>
# Line 364  Line 389 
389    <!-- Main targets -->    <!-- Main targets -->
390    
391    <property name="build.main.java.version" value="9"/>    <property name="build.main.java.version" value="9"/>
392    <property name="build.main.javac" value="${javac9}"/>    <!-- Workaround "no nested properties in ant" -->
393      <macrodef name="define-build-main-properties">
394        <attribute name="v"/>
395        <sequential>
396          <property name="build.main.java"    value="${java@{v}}"/>
397          <property name="build.main.javac"   value="${javac@{v}}"/>
398          <!-- Force javadoc version to be at least 10,
399               so we can use override-methods=summary -->
400          <condition property="build.main.javadoc"
401                     value="${javadoc11}"
402                     else="${javadoc@{v}}">
403            <equals arg1="@{v}" arg2="9"/>
404          </condition>
405        </sequential>
406      </macrodef>
407      <define-build-main-properties v="${build.main.java.version}"/>
408    
409    <target name="dists"    <target name="dists"
410            depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"            depends="dist, 4jdk8dist"
411            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
412              <!--
413                  depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
414              -->
415    
416    <target name="compile"    <target name="compile"
417            depends="configure-compiler"            depends="configure-compiler"
418            description="Compiles src/main sources to build dir">            description="Compiles src/main sources to build dir">
419    
     <local name="modules"/>  
     <condition property="modules">  
       <and>  
         <available file="${jdk9.home}/jmods" type="dir"/>  
         <equals arg1="9" arg2="${build.main.java.version}"/>  
       </and>  
     </condition>  
   
420      <local name="destdir"/>      <local name="destdir"/>
421      <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"/>  
422    
423      <mkdir dir="${destdir}"/>      <mkdir dir="${destdir}"/>
424    
# Line 401  Line 435 
435             fork="true">             fork="true">
436    
437        <include name="**/*.java"/>        <include name="**/*.java"/>
438        <compilerarg value="--patch-module=java.base=${src.dir}" if:set="modules"/>        <compilerarg value="--patch-module=java.base=${src.dir}"/>
439        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
440        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
441        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
442        <compilerarg value="-Werror"/>        <compilerarg line="--doclint-format html5"/>
443        <compilerarg value="-Xdoclint:all/protected,reference/private"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
444          <compilerarg value="-Werror"/>
445        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
446        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
447    
# Line 450  Line 485 
485               access="${build.javadoc.access}"               access="${build.javadoc.access}"
486               sourcepath="${src.dir}"               sourcepath="${src.dir}"
487               classpath=""               classpath=""
488               executable="${javadoc9}">               source="9"
489                 executable="${build.main.javadoc}">
490        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
491          <include name="**/*.java"/>          <include name="**/*.java"/>
492        </fileset>        </fileset>
493        <arg line="-Xdocrootparent ${java9.docroot.url}"/>        <arg line="-Xdocrootparent ${java9.docroot.url}"/>
494        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
495        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
496          <arg value="-html5"/>
497        <arg value="--patch-module=java.base=${src.dir}"/>        <arg value="--patch-module=java.base=${src.dir}"/>
498        <arg value="-tag"/>        <arg value="--override-methods=summary"/>
499        <arg value="${javadoc.jls.option}"/>        <arg value="-tag"/> <arg value="${javadoc.jls.option}"/>
500  <!-- @apiNote currently unused -->        <arg value="-tag"/> <arg value="implSpec:a:Implementation Requirements:"/>
501  <!--       <arg value="-tag"/> -->        <arg value="-tag"/> <arg value="implNote:a:Implementation Note:"/>
502  <!--       <arg value="apiNote:a:API Note:"/> -->        <arg value="-tag"/> <arg value="apiNote:a:API Note:"/>
       <arg value="-tag"/>  
       <arg value="implSpec:a:Implementation Requirements:"/>  
       <arg value="-tag"/>  
       <arg value="implNote:a:Implementation Note:"/>  
503  <!-- tags added in jdk9: currently unused -->  <!-- tags added in jdk9: currently unused -->
504  <!--       <arg value="-tag"/> -->  <!--  <arg value="-tag"/> <arg value="revised:X"/> -->
505  <!--       <arg value="revised:X"/> -->  <!--  <arg value="-tag"/> <arg value="spec:X"/> -->
 <!--       <arg value="-tag"/> -->  
 <!--       <arg value="spec:X"/> -->  
506      </javadoc>      </javadoc>
507    </target>    </target>
508    
# Line 505  Line 536 
536    
537    <target name="clean"    <target name="clean"
538            description="Removes all build products">            description="Removes all build products">
   
539      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
   
540    </target>    </target>
541    
542    
543    <target name="dist-clean"    <target name="dist-clean"
544            description="Removes all build and distribution products">            description="Removes all build and distribution products">
   
545      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
546      <delete dir="${dist.dir}"/>      <delete dir="${dist.dir}"/>
   
547    </target>    </target>
548    
549    
# Line 576  Line 603 
603    
604    <target name="test"    <target name="test"
605            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
606            description="Runs tck and jtreg tests for src/main">            description="Runs tck and jtreg tests for src/main"/>
   </target>  
607    
608  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
609    
# Line 588  Line 614 
614    
615  <!--   </target> -->  <!--   </target> -->
616    
617  <!--   <target name="test89" -->    <target name="test9101112"
618  <!--           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">
619    
620  <!--     <antcall target="clean"/> -->      <antcall target="clean"/>
621  <!--     <antcall target="test"> -->      <antcall target="test">
622  <!--       <param name="build.main.java.version" value="8"/> -->        <param name="build.main.java.version" value="9"/>
623  <!--       <param name="build.main.javac" value="${javac8}"/> -->      </antcall>
 <!--     </antcall> -->  
624    
625  <!--     <antcall target="clean"/> -->      <antcall target="clean"/>
626  <!--     <antcall target="test"> -->      <antcall target="test">
627  <!--       <param name="build.main.java.version" value="9"/> -->        <param name="build.main.java.version" value="10"/>
628  <!--       <param name="build.main.javac" value="${javac9}"/> -->      </antcall>
 <!--     </antcall> -->  
629    
630  <!--   </target> -->      <antcall target="clean"/>
631        <antcall target="test">
632          <param name="build.main.java.version" value="11"/>
633        </antcall>
634    
635        <antcall target="clean"/>
636        <antcall target="test">
637          <param name="build.main.java.version" value="12"/>
638        </antcall>
639    
640        <!-- Clean up to avoid obscure wrong class file version bugs -->
641        <antcall target="clean"/>
642    
643      </target>
644    
645    
646    
647    <target name="configure-compiler">    <target name="configure-compiler">
648      <fail message="ant version too old">      <fail message="ant version too old">
649        <condition>        <condition> <not> <antversion atleast="1.9.1"/> </not> </condition>
         <not> <antversion atleast="1.9.1"/> </not>  
       </condition>  
650      </fail>      </fail>
651    
652      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
# Line 657  Line 692 
692      <java classname="ALoops" fork="true">      <java classname="ALoops" fork="true">
693        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
694      </java>      </java>
   
695    </target>    </target>
696    
697    
698    <target name="compile-test-loops" depends="jar"    <target name="compile-test-loops" depends="jar"
699            description="compile all the perf tests in src/test/loops">            description="Compiles all the perf tests in src/test/loops">
700    
701      <mkdir dir="${build.dir}/test/loops"/>      <mkdir dir="${build.dir}/test/loops"/>
702    
# Line 674  Line 708 
708             includeAntRuntime="false"             includeAntRuntime="false"
709             includeJavaRuntime="false"             includeJavaRuntime="false"
710             encoding="ASCII"             encoding="ASCII"
711             executable="${javac9}"             executable="${build.main.javac}"
712             fork="true">             fork="true">
713    
714        <include name="*.java"/>        <include name="*.java"/>
# Line 682  Line 716 
716        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
717        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>        <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
718        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
719      </javac>      </javac>
   
720    </target>    </target>
721    
722    
# Line 710  Line 742 
742             encoding="ASCII"             encoding="ASCII"
743             executable="${javac8}"             executable="${javac8}"
744             fork="true">             fork="true">
   
745        <include name="**/*.java"/>        <include name="**/*.java"/>
746        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
747        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
748        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
749        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
750        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
751      </javac>      </javac>
752    </target>    </target>
753    
# Line 741  Line 771 
771             encoding="ASCII"             encoding="ASCII"
772             executable="${javac8}"             executable="${javac8}"
773             fork="true">             fork="true">
   
774        <include name="**/*.java"/>        <include name="**/*.java"/>
775        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
776        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
777        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
778        <compilerarg value="-Xdoclint:all/protected,reference/private"/>        <compilerarg value="-Xdoclint:all/protected,reference/private"/>
779        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
780      </javac>      </javac>
781    </target>    </target>
782    
# Line 764  Line 792 
792          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
793        </manifest>        </manifest>
794      </jar>      </jar>
   
795    </target>    </target>
796    
797    
# Line 798  Line 825 
825    
826    <target name="4jdk8-test"    <target name="4jdk8-test"
827            depends="4jdk8-tck, 4jdk8-jtreg"            depends="4jdk8-tck, 4jdk8-jtreg"
828            description="Runs tck and jtreg tests for jsr166-4jdk8">            description="Runs tck and jtreg tests for jsr166-4jdk8"/>
   </target>  
829    
830    
831    <target name="4jdk8docs"    <target name="4jdk8docs"
# Line 815  Line 841 
841               access="${build.javadoc.access}"               access="${build.javadoc.access}"
842               sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"               sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
843               classpath=""               classpath=""
844                 source="8"
845               executable="${javadoc8}"               executable="${javadoc8}"
846               failonerror = "true">               failonerror = "true">
847        <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
# Line 822  Line 849 
849        </fileset>        </fileset>
850        <arg line="-Xdocrootparent ${java8.docroot.url}"/>        <arg line="-Xdocrootparent ${java8.docroot.url}"/>
851        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
852        <arg value="-tag"/>        <arg value="-tag"/> <arg value="${javadoc.jls.option}"/>
853        <arg value="${javadoc.jls.option}"/>        <arg value="-tag"/> <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
854  <!-- @apiNote currently unused -->        <arg value="-tag"/> <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
855  <!--       <arg value="-tag"/> -->  <!-- @apiNote tag currently unused -->
856  <!--       <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;"/>  
857      </javadoc>      </javadoc>
858    </target>    </target>
859    
# Line 842  Line 865 
865    
866    <target name="4jdk8clean"    <target name="4jdk8clean"
867            description="Removes all 4jdk8 build products">            description="Removes all 4jdk8 build products">
   
868      <delete dir="${build.4jdk8.dir}"/>      <delete dir="${build.4jdk8.dir}"/>
   
869    </target>    </target>
870    
871    
# Line 860  Line 881 
881    </target>    </target>
882    
883    
884      <!-- jsr166 4jdk7 (no longer maintained) -->
885    
886    <!-- jsr166 4jdk7 -->    <target name="4jdk7compile" depends="configure-compiler">
   
   <target name="4jdk7compile"  
           depends="configure-compiler"  
           description="Compiles src/jdk7 sources, targeting jdk7">  
   
887      <mkdir dir="${build.4jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
888    
889      <javac srcdir="${4jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
# Line 890  Line 907 
907        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
908        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
909        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
910      </javac>      </javac>
911    </target>    </target>
912    
913    <target name="4jdk7doclint"    <target name="4jdk7doclint" depends="configure-compiler">
           depends="configure-compiler"  
           description="Finds doclint warnings">  
   
914      <mkdir dir="${build.4jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
915    
916      <javac srcdir="${4jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
# Line 921  Line 934 
934        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
935        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected"/>
936        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
937      </javac>      </javac>
938    </target>    </target>
939    
940      <target name="4jdk7jar" depends="4jdk7compile">
   <target name="4jdk7jar"  
           depends="4jdk7compile"  
           description="Builds library jar from compiled sources">  
   
941      <jar destfile="${4jdk7product.jar}">      <jar destfile="${4jdk7product.jar}">
942        <fileset dir="${build.4jdk7.classes.dir}"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
943        <manifest>        <manifest>
# Line 937  Line 945 
945          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
946        </manifest>        </manifest>
947      </jar>      </jar>
   
948    </target>    </target>
949    
950      <target name="4jdk7-tck" depends="4jdk7jar">
   <target name="4jdk7-tck"  
           depends="4jdk7jar"  
           description="Runs tck tests for jsr166-4jdk7 directly">  
   
951      <run-tck-tests      <run-tck-tests
952        target="7"        target="7"
953        workdir="${build.4jdk7.dir}"        workdir="${build.4jdk7.dir}"
# Line 967  Line 970 
970      </run-tck-tests>      </run-tck-tests>
971    </target>    </target>
972    
   
973    <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->    <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
974    <target name="4jdk7-tck-junit"    <target name="4jdk7-tck-junit" depends="4jdk7compile">
           depends="4jdk7compile">  
975    
976      <junit printsummary="true"      <junit printsummary="true"
977             showoutput="true"             showoutput="true"
# Line 992  Line 993 
993    
994        <test name="${jsr166.tckTestClass}" haltonfailure="no">        <test name="${jsr166.tckTestClass}" haltonfailure="no">
995        </test>        </test>
   
996      </junit>      </junit>
997    </target>    </target>
998    
999    <target name="4jdk7-jtreg"    <target name="4jdk7-jtreg" depends="4jdk7jar">
           depends="4jdk7jar"  
           description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">  
1000      <run-jtreg-tests      <run-jtreg-tests
1001         target="7"         target="7"
1002         workdir="${build.4jdk7.dir}"         workdir="${build.4jdk7.dir}"
1003         classes="${4jdk7product.jar}"/>         classes="${4jdk7product.jar}"/>
1004    </target>    </target>
1005    
1006      <target name="4jdk7-test" depends="4jdk7-tck, 4jdk7-jtreg"/>
1007    
1008    <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">  
   
1009      <delete dir="${4jdk7docs.dir}"/>      <delete dir="${4jdk7docs.dir}"/>
1010      <mkdir dir="${4jdk7docs.dir}"/>      <mkdir dir="${4jdk7docs.dir}"/>
1011    
# Line 1035  Line 1026 
1026      </javadoc>      </javadoc>
1027    </target>    </target>
1028    
1029      <target name="4jdk7dist" depends="4jdk7dist-jar, 4jdk7dist-docs"/>
1030    
1031    <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">  
   
1032      <delete dir="${build.4jdk7.dir}"/>      <delete dir="${build.4jdk7.dir}"/>
   
1033    </target>    </target>
1034    
1035      <target name="4jdk7dist-jar" depends="4jdk7clean, 4jdk7jar">
   <target name="4jdk7dist-jar"  
           depends="4jdk7clean, 4jdk7jar">  
1036      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
1037    </target>    </target>
1038    
1039      <target name="4jdk7dist-docs" depends="4jdk7clean, 4jdk7docs">
   <target name="4jdk7dist-docs"  
           depends="4jdk7clean, 4jdk7docs">  
1040      <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>      <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
1041    </target>    </target>
1042    
1043    
1044    <!-- jsr166x -->    <!-- jsr166x (no longer maintained) -->
   
   <target name="jsr166xcompile"  
           depends="configure-compiler"  
           description="Compiles jsr166x sources to build dir">  
1045    
1046      <target name="jsr166xcompile" depends="configure-compiler">
1047      <mkdir dir="${build.jsr166x.classes.dir}"/>      <mkdir dir="${build.jsr166x.classes.dir}"/>
1048    
1049      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1083  Line 1060 
1060             encoding="ASCII"             encoding="ASCII"
1061             executable="${javac7}"             executable="${javac7}"
1062             fork="true">             fork="true">
   
1063        <include name="jsr166x/**/*.java"/>        <include name="jsr166x/**/*.java"/>
1064        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1065        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
1066        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1067        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1068      </javac>      </javac>
1069    </target>    </target>
1070    
1071      <target name="jsr166xjar" depends="jsr166xcompile">
   <target name="jsr166xjar"  
           depends="jsr166xcompile"  
           description="Builds library jar from compiled sources">  
   
1072      <jar destfile="${jsr166x.jar}">      <jar destfile="${jsr166x.jar}">
1073        <fileset dir="${build.jsr166x.classes.dir}"/>        <fileset dir="${build.jsr166x.classes.dir}"/>
1074        <manifest>        <manifest>
# Line 1105  Line 1076 
1076          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1077        </manifest>        </manifest>
1078      </jar>      </jar>
   
1079    </target>    </target>
1080    
1081      <target name="jsr166xdocs">
   <target name="jsr166xdocs"  
           description="Builds javadocs to dist dir">  
   
1082      <delete dir="${jsr166xdocs.dir}"/>      <delete dir="${jsr166xdocs.dir}"/>
1083      <mkdir dir="${jsr166xdocs.dir}"/>      <mkdir dir="${jsr166xdocs.dir}"/>
1084    
# Line 1126  Line 1093 
1093               failonerror = "true">               failonerror = "true">
1094        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1095        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1096      </javadoc>      </javadoc>
1097    </target>    </target>
1098    
1099      <target name="jsr166xdist" depends="jsr166xdist-jar, jsr166xdist-docs"/>
1100    
1101    <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">  
   
1102      <delete dir="${build.jsr166x.dir}"/>      <delete dir="${build.jsr166x.dir}"/>
   
1103    </target>    </target>
1104    
1105      <target name="jsr166xdist-jar" depends="jsr166xclean, jsr166xjar">
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
1106      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
1107    </target>    </target>
1108    
1109    <target name="jsr166xdist-docs"    <target name="jsr166xdist-docs" depends="jsr166xclean, jsr166xdocs">
           depends="jsr166xclean, jsr166xdocs">  
1110      <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>      <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
1111    </target>    </target>
1112    
   <!-- jsr166y -->  
   
1113    
1114    <target name="jsr166ycompile"    <!-- jsr166y (no longer maintained) -->
           depends="configure-compiler"  
           description="Compiles jsr166y sources">  
1115    
1116      <target name="jsr166ycompile" depends="configure-compiler">
1117      <mkdir dir="${build.jsr166y.classes.dir}"/>      <mkdir dir="${build.jsr166y.classes.dir}"/>
1118    
1119      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1183  Line 1136 
1136        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1137        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1138        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1139      </javac>      </javac>
1140    </target>    </target>
1141    
1142      <target name="jsr166yjar" depends="jsr166ycompile">
   <target name="jsr166yjar"  
           depends="jsr166ycompile"  
           description="Builds library jar from compiled sources">  
   
1143      <jar destfile="${jsr166y.jar}" index="true">      <jar destfile="${jsr166y.jar}" index="true">
1144        <fileset dir="${build.jsr166y.classes.dir}"/>        <fileset dir="${build.jsr166y.classes.dir}"/>
1145        <manifest>        <manifest>
# Line 1199  Line 1147 
1147          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1148        </manifest>        </manifest>
1149      </jar>      </jar>
   
1150    </target>    </target>
1151    
1152      <target name="jsr166ydocs">
   <target name="jsr166ydocs"  
           description="Builds javadocs to dist dir">  
   
1153      <delete dir="${jsr166ydocs.dir}"/>      <delete dir="${jsr166ydocs.dir}"/>
1154      <mkdir dir="${jsr166ydocs.dir}"/>      <mkdir dir="${jsr166ydocs.dir}"/>
1155    
# Line 1220  Line 1164 
1164               failonerror = "true">               failonerror = "true">
1165        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1166        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1167      </javadoc>      </javadoc>
1168    </target>    </target>
1169    
1170      <target name="jsr166ydist" depends="jsr166ydist-jar, jsr166ydist-docs"/>
1171    
1172    <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">  
   
1173      <delete dir="${build.jsr166y.dir}"/>      <delete dir="${build.jsr166y.dir}"/>
   
1174    </target>    </target>
1175    
1176      <target name="jsr166ydist-jar" depends="jsr166yclean, jsr166yjar">
   <target name="jsr166ydist-jar"  
           depends="jsr166yclean, jsr166yjar">  
1177      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1178    </target>    </target>
1179    
1180    <target name="jsr166ydist-docs"    <target name="jsr166ydist-docs" depends="jsr166yclean, jsr166ydocs">
           depends="jsr166yclean, jsr166ydocs">  
1181      <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>      <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1182    </target>    </target>
1183    
1184    
1185    <!-- extra166y -->    <!-- extra166y (no longer maintained) -->
   
   
   <target name="extra166ycompile"  
           depends="configure-compiler, jsr166yjar"  
           description="Compiles extra166y sources">  
1186    
1187      <target name="extra166ycompile" depends="configure-compiler, jsr166yjar">
1188      <mkdir dir="${build.extra166y.classes.dir}"/>      <mkdir dir="${build.extra166y.classes.dir}"/>
1189    
1190      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1278  Line 1207 
1207        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1208        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1209        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1210      </javac>      </javac>
1211    </target>    </target>
1212    
1213      <target name="extra166yjar" depends="extra166ycompile">
   <target name="extra166yjar"  
           depends="extra166ycompile"  
           description="Builds library jar from compiled sources">  
   
1214      <jar destfile="${extra166y.jar}" index="true">      <jar destfile="${extra166y.jar}" index="true">
1215        <fileset dir="${build.extra166y.classes.dir}"/>        <fileset dir="${build.extra166y.classes.dir}"/>
1216        <manifest>        <manifest>
# Line 1294  Line 1218 
1218          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1219        </manifest>        </manifest>
1220      </jar>      </jar>
   
1221    </target>    </target>
1222    
1223      <target name="extra166ydocs">
   <target name="extra166ydocs"  
           description="Builds javadocs to build dir">  
   
1224      <delete dir="${extra166ydocs.dir}"/>      <delete dir="${extra166ydocs.dir}"/>
1225      <mkdir dir="${extra166ydocs.dir}"/>      <mkdir dir="${extra166ydocs.dir}"/>
1226    
# Line 1314  Line 1234 
1234               executable="${javadoc7}">               executable="${javadoc7}">
1235        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1236        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1237      </javadoc>      </javadoc>
1238    </target>    </target>
1239    
1240      <target name="extra166ydist" depends="extra166ydist-jar, extra166ydist-docs"/>
1241    
1242    <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">  
   
1243      <delete dir="${build.extra166y.dir}"/>      <delete dir="${build.extra166y.dir}"/>
   
1244    </target>    </target>
1245    
1246      <target name="extra166ydist-jar" depends="extra166yclean, extra166yjar">
   <target name="extra166ydist-jar"  
           depends="extra166yclean, extra166yjar">  
1247      <copy file="${extra166y.jar}" todir="${dist.dir}"/>      <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1248    </target>    </target>
1249    
1250    <target name="extra166ydist-docs"    <target name="extra166ydist-docs" depends="extra166yclean, extra166ydocs">
           depends="extra166yclean, extra166ydocs">  
1251      <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>      <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1252    </target>    </target>
1253    
1254    <!-- jsr166e -->  
1255      <!-- jsr166e (no longer maintained) -->
1256    
1257    <property name="build.jsr166e.java.version" value="6"/>    <property name="build.jsr166e.java.version" value="6"/>
1258    <property name="build.jsr166e.javac" value="${javac6}"/>    <property name="build.jsr166e.javac" value="${javac6}"/>
1259    
1260    <target name="jsr166ecompile"    <target name="jsr166ecompile" depends="configure-compiler">
           depends="configure-compiler"  
           description="Compiles jsr166e sources">  
   
1261      <mkdir dir="${build.jsr166e.classes.dir}"/>      <mkdir dir="${build.jsr166e.classes.dir}"/>
1262    
1263      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1371  Line 1278 
1278        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1279        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1280        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
   
1281      </javac>      </javac>
1282    </target>    </target>
1283    
   <!-- jsr166e: find doclint errors -->  
1284    <target name="jsr166edoclint">    <target name="jsr166edoclint">
   
1285      <mkdir dir="${build.jsr166e.classes.dir}"/>      <mkdir dir="${build.jsr166e.classes.dir}"/>
1286    
1287      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
# Line 1399  Line 1303 
1303        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1304        <compilerarg value="-Werror"/>        <compilerarg value="-Werror"/>
1305        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected"/>
   
1306      </javac>      </javac>
1307    </target>    </target>
1308    
1309      <target name="jsr166ejar" depends="jsr166ecompile">
   <target name="jsr166ejar"  
           depends="jsr166ecompile"  
           description="Builds library jar from compiled sources">  
   
1310      <jar destfile="${jsr166e.jar}" index="true">      <jar destfile="${jsr166e.jar}" index="true">
1311        <fileset dir="${build.jsr166e.classes.dir}"/>        <fileset dir="${build.jsr166e.classes.dir}"/>
1312        <manifest>        <manifest>
# Line 1415  Line 1314 
1314          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1315        </manifest>        </manifest>
1316      </jar>      </jar>
   
1317    </target>    </target>
1318    
1319      <target name="jsr166edocs">
   <target name="jsr166edocs"  
           description="Builds javadocs to build dir">  
   
1320      <delete dir="${jsr166edocs.dir}"/>      <delete dir="${jsr166edocs.dir}"/>
1321      <mkdir dir="${jsr166edocs.dir}"/>      <mkdir dir="${jsr166edocs.dir}"/>
1322    
# Line 1435  Line 1330 
1330               failonerror = "true">               failonerror = "true">
1331        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1332        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
   
1333      </javadoc>      </javadoc>
1334    </target>    </target>
1335    
1336      <target name="jsr166e-tck-one-java-version" depends="jsr166ejar">
   <target name="jsr166e-tck-one-java-version"  
           depends="jsr166ejar">  
   
1337      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
   
1338      <run-tck-tests      <run-tck-tests
1339        tck.src.dir="${test.src.dir}/tck-jsr166e"        tck.src.dir="${test.src.dir}/tck-jsr166e"
1340        target="${build.jsr166e.java.version}"        target="${build.jsr166e.java.version}"
# Line 1452  Line 1342 
1342        classes="${jsr166e.jar}"/>        classes="${jsr166e.jar}"/>
1343    </target>    </target>
1344    
1345    <target name="jsr166e-tck"    <target name="jsr166e-tck">
           description="Runs tck tests for jsr166e for multiple java versions">  
1346    
1347  <!--     <antcall target="clean"/> -->  <!--     <antcall target="clean"/> -->
1348  <!--     <antcall target="jsr166e-tck-one-java-version"> -->  <!--     <antcall target="jsr166e-tck-one-java-version"> -->
# Line 1474  Line 1363 
1363      </antcall>      </antcall>
1364    </target>    </target>
1365    
1366      <target name="jsr166e-test" depends="jsr166e-tck"/>
1367    
1368    <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"/>  
   
1369    
1370    <target name="jsr166eclean"    <target name="jsr166eclean">
           description="Removes all jsr166e build products">  
1371      <delete dir="${build.jsr166e.dir}"/>      <delete dir="${build.jsr166e.dir}"/>
1372    </target>    </target>
1373    
   
1374    <target name="jsr166edist-jar"    <target name="jsr166edist-jar"
1375            depends="jsr166eclean, jsr166ejar">            depends="jsr166eclean, jsr166ejar">
1376      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1377    </target>    </target>
1378    
1379    <target name="jsr166edist-docs"    <target name="jsr166edist-docs" depends="jsr166eclean, jsr166edocs">
           depends="jsr166eclean, jsr166edocs">  
1380      <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>      <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1381    </target>    </target>
1382    
1383    
1384  <!-- Find buglets that can be detected by static build tools -->  <!-- Find buglets that can be detected by static build tools -->
1385    
1386    <target name="lint">  <!--   <target name="lint"> -->
1387      <antcall target="dists">  <!--     <antcall target="dists"> -->
1388        <param name="build.javadoc.access" value="public"/>  <!--       <param name="build.javadoc.access" value="protected"/> -->
1389      </antcall>  <!--     </antcall> -->
1390    </target>  <!--   </target> -->
1391    
1392  <!-- Generates all doclint warnings, even for private methods (rarely useful) -->  <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1393    <target name="lint-private">    <target name="doclint-private">
1394      <antcall target="dist">      <antcall target="dist">
1395        <param name="build.javadoc.access" value="private"/>        <param name="build.javadoc.access" value="private"/>
1396      </antcall>      </antcall>
# Line 1520  Line 1399 
1399    
1400  <!-- ==============================================================  <!-- ==============================================================
1401    Experimental errorprone support - http://errorprone.info    Experimental errorprone support - http://errorprone.info
   You may need to bring your own errorprone jar.  
1402  =================================================================== -->  =================================================================== -->
1403      <property name="errorprone.jar" location="${lib.dir}/error_prone_ant-2.3.1.jar"/>
1404      <property name="errorprone.jsr166.user.flags" value=""/>
1405      <property name="errorprone.jsr166.flags"
1406                value="-Xep:HashtableContains:OFF
1407                       -Xep:JdkObsolete:OFF
1408                       -Xep:MissingOverride:OFF
1409                       -Xep:MissingFail:OFF
1410                       -Xep:MixedArrayDimensions:ERROR
1411                       -Xep:RemoveUnusedImports:ERROR
1412                       -Xep:EmptyIf:ERROR
1413                       -Xep:MultipleTopLevelClasses:ERROR
1414                       -Xep:ClassName:ERROR
1415                       -Xep:LongLiteralLowerCaseSuffix:ERROR
1416                       -Xep:RedundantThrows:ERROR
1417                       -Xep:IdentityBinaryExpression:WARN
1418                       -Xep:MethodCanBeStatic:WARN
1419                       ${errorprone.jsr166.user.flags}"/>
1420      <!-- -Xep:WildcardImport:ERROR -->
1421      <property name="errorprone.jsr166.test.flags"
1422                value="-Xep:StringSplitter:OFF
1423                       -Xep:BoxedPrimitiveConstructor:OFF
1424                       -Xep:ModifyingCollectionWithItself:OFF"/>
1425      <!-- ant -emacs errorprone |& grep -EA1 '(warning|error):|warnings' -->
1426    <target name="errorprone"    <target name="errorprone"
1427            depends="clean, configure-compiler"            depends="clean, configure-compiler"
1428            description="Run errorprone over jsr166 source code">            description="Run errorprone over jsr166 source code (experimental)">
1429    
1430      <local name="destdir"/>      <local name="destdir"/>
1431      <property name="destdir" value="${build.classes.dir}/java.base"/>      <property name="destdir" value="${build.classes.dir}/java.base"/>
# Line 1543  Line 1444 
1444             fork="true">             fork="true">
1445    
1446        <include name="**/*.java"/>        <include name="**/*.java"/>
1447        <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>        <!-- Needed to silence -Xep:FutureReturnValueIgnored -->
1448        <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>        <compilerarg value="-J--illegal-access=permit"/>
1449        <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>        <compilerarg value="-XDcompilePolicy=simple"/>
1450        <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"/>  
1451        <compilerarg value="-Xplugin:ErrorProne        <compilerarg value="-Xplugin:ErrorProne
1452                            -Xep:IdentityBinaryExpression:WARN                            ${errorprone.jsr166.flags}"/>
                           -Xep:MissingOverride:OFF  
                           -Xep:MixedArrayDimensions:WARN  
                           -Xep:RemoveUnusedImports:ERROR  
                           -Xep:MethodCanBeStatic:WARN"/>  
1453        <compilerarg value="--patch-module=java.base=${src.dir}"/>        <compilerarg value="--patch-module=java.base=${src.dir}"/>
1454        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
1455        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
# Line 1577  Line 1468 
1468        workdir="${build.dir}"        workdir="${build.dir}"
1469        classes="${product.jar}">        classes="${product.jar}">
1470        <javac-elements>        <javac-elements>
1471          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>          <!-- Needed to silence -Xep:FutureReturnValueIgnored -->
1472          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>          <compilerarg value="-J--illegal-access=permit"/>
1473          <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>          <compilerarg value="-XDcompilePolicy=simple"/>
1474          <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"/>  
1475          <compilerarg value="-Xplugin:ErrorProne          <compilerarg value="-Xplugin:ErrorProne
1476                              -Xep:IdentityBinaryExpression:WARN                              ${errorprone.jsr166.flags}
1477                              -Xep:BoxedPrimitiveConstructor:OFF                              ${errorprone.jsr166.test.flags}"/>
                             -Xep:HashtableContains:OFF  
                             -Xep:ModifyingCollectionWithItself:OFF  
                             -Xep:MissingOverride:OFF  
                             -Xep:MixedArrayDimensions:WARN  
                             -Xep:RemoveUnusedImports:ERROR  
                             -Xep:MethodCanBeStatic:WARN"/>  
1478          <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>          <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1479        </javac-elements>        </javac-elements>
1480      </run-tck-tests>      </run-tck-tests>
1481    </target>    </target>
1482    
1483      <!-- ant -emacs errorprone-jtreg |& grep -EA1 '(warning|error):' -->
1484      <!-- -XDcompilePolicy=simple or byfile avoids confusing UnusedImports -->
1485      <target name="errorprone-jtreg"
1486              depends="jar"
1487              description="Run errorprone over jtreg tests (experimental)">
1488    
1489        <run-jtreg-tests
1490           target="${build.main.java.version}"
1491           workdir="${build.dir}"
1492           classes="${product.jar}"
1493           verbose="all">
1494          <jtreg-elements>
1495            <arg value="-javacoption:-XDcompilePolicy=simple"/>
1496            <arg value="-javacoption:-processorpath"/>
1497            <arg value="-javacoption:${errorprone.jar}"/>
1498            <arg value="-javacoption:-Xplugin:ErrorProne
1499                                ${errorprone.jsr166.flags}
1500                                ${errorprone.jsr166.test.flags}
1501                                -Xep:MultipleTopLevelClasses:WARN
1502                                -Xep:NonAtomicVolatileUpdate:OFF"/>
1503          </jtreg-elements>
1504        </run-jtreg-tests>
1505      </target>
1506    
1507    
1508  <!-- ==============================================================  <!-- ==============================================================
1509    Running guava tests against jsr166 code    Running guava tests against jsr166 code
# Line 1654  Line 1557 
1557      <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"
1558           dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>           dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1559      <junit printsummary="true" showoutput="true" haltonfailure="true"      <junit printsummary="true" showoutput="true" haltonfailure="true"
1560             jvm="${java9}" fork="true">             jvm="${build.main.java}" fork="true">
1561        <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>        <jvmarg line="-ea -esa --patch-module=java.base=${product.jar}"/>
1562        <formatter type="brief"/>        <formatter type="brief"/>
1563        <classpath>        <classpath>
1564          <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>          <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>

Legend:
Removed from v.1.236  
changed lines
  Added in v.1.275

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8