[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.197, Fri Mar 4 21:00:45 2016 UTC revision 1.232, Wed Feb 1 18:26:31 2017 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" xmlns:unless="ant:unless"
3      xmlns:ivy="antlib:org.apache.ivy.ant">
4    
5    <description>    <description>
6  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
# Line 7  Line 8 
8    
9    Usage: ant [target]    Usage: ant [target]
10    
11      See http://gee.cs.oswego.edu/dl/concurrency-interest/index.html for
12      more details.
13    
14    User-specific settings are read from user.properties.    User-specific settings are read from user.properties.
15    See user.properties.sample for an explanation of some useful settings.    See user.properties.sample for an explanation of some useful settings.
16    
# Line 14  Line 18 
18    itself.  Because the JDK version matters and because different    itself.  Because the JDK version matters and because different
19    targets require different JDKs, we assume that users have created a    targets require different JDKs, we assume that users have created a
20    hierarchy containing:    hierarchy containing:
   $HOME/jdk/jdk6  
21    $HOME/jdk/jdk7    $HOME/jdk/jdk7
22    $HOME/jdk/jdk8    $HOME/jdk/jdk8
23    $HOME/jdk/jdk9    $HOME/jdk/jdk9
24      $HOME/jdk/jdk10
25    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/jdk6  
26    $HOME/jdk/src/jdk7    $HOME/jdk/src/jdk7
27    $HOME/jdk/src/jdk8    $HOME/jdk/src/jdk8
28    $HOME/jdk/src/jdk9    $HOME/jdk/src/jdk9
29      $HOME/jdk/src/jdk10
30    where each of the above is a complete JDK source tree    where each of the above is a complete JDK source tree
31    (e.g. mercurial forest) or a symlink to same.    (e.g. mercurial forest) or a symlink to same.
32    
33    Alternatively, define ant variables thus:    Alternatively, define ant variables thus:
34    ant -Djdk$N.home=...    ant -Djdk$N.home=... -Djdk$N.src.home=...
35    for $N in 6 7 8 9 ...    for $N in 7 8 9 10 ...
36    
37    As of 2015-09, there is incomplete hacky support for jigsaw    As of 2016-03, the sources in src/main are for jdk9+ only.
   Build for jigsaw using something like:  
   ant -Djdk9.home="$HOME/jdk/jigsaw" -Djdk9.src.dir="$HOME/jdk/src/jigsaw" clean test dist  
   "docs" target is still broken.  
38  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
39    </description>    </description>
40    
41    <!-- Display main targets by running 'ant -projecthelp' -->    <!-- Run 'ant -projecthelp' (default target) -->
42    <target name="usage">    <target name="usage">
43      <java classname="org.apache.tools.ant.Main">      <java classname="org.apache.tools.ant.Main">
44        <arg value="-projecthelp" />        <arg value="-projecthelp" />
# Line 62  Line 63 
63    <property name="build.classes.dir"           location="${build.dir}/classes"/>    <property name="build.classes.dir"           location="${build.dir}/classes"/>
64    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>
65    <property name="build.loops.dir"             location="${build.dir}/loops"/>    <property name="build.loops.dir"             location="${build.dir}/loops"/>
   <property name="build.reports.dir"           location="${build.dir}/reports"/>  
66    
67    <property name="build.4jdk7.dir"             location="${build.dir}/jsr166-4jdk7"/>    <property name="build.4jdk7.dir"             location="${build.dir}/jsr166-4jdk7"/>
68    <property name="build.4jdk7.classes.dir"     location="${build.4jdk7.dir}/classes"/>    <property name="build.4jdk7.classes.dir"     location="${build.4jdk7.dir}/classes"/>
69    <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>    <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
70    <property name="build.4jdk7.docs.dir"        location="${build.4jdk7.dir}/docs"/>    <property name="build.4jdk7.docs.dir"        location="${build.4jdk7.dir}/docs"/>
71    
72      <property name="build.4jdk8.dir"             location="${build.dir}/jsr166-4jdk8"/>
73      <property name="build.4jdk8.classes.dir"     location="${build.4jdk8.dir}/classes"/>
74      <property name="build.4jdk8.tck.classes.dir" location="${build.4jdk8.dir}/tck-classes"/>
75      <property name="build.4jdk8.docs.dir"        location="${build.4jdk8.dir}/docs"/>
76    
77    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
78    <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>    <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>
79    <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>    <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>
# Line 89  Line 94 
94      <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>      <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
95      <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>      <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
96      <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>      <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
97        <property name="jdk@{v}.src.home" location="${jdks.home}/src/jdk@{v}"/>
98      <local name="have.java.base"/>      <local name="have.java.base"/>
99      <available property="have.java.base"      <available property="have.java.base"
100        file="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes" type="dir"/>        file="${jdk@{v}.src.home}/jdk/src/java.base/share/classes" type="dir"/>
101      <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes"      <property name="jdk@{v}.src.dir" location="${jdk@{v}.src.home}/jdk/src/java.base/share/classes"
102        if:set="have.java.base"/>        if:set="have.java.base"/>
103      <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"      <property name="jdk@{v}.src.dir" location="${jdk@{v}.src.home}/jdk/src/share/classes"
104        unless:set="have.java.base"/>        unless:set="have.java.base"/>
105      <local name="modules"/>      <local name="modules"/>
106      <available property="modules" file="${jdk@{v}.home}/jmods" type="dir"/>      <available property="modules" file="${jdk@{v}.home}/jmods" type="dir"/>
# Line 127  Line 133 
133    <defjdklocations v="7"/>    <defjdklocations v="7"/>
134    <defjdklocations v="8"/>    <defjdklocations v="8"/>
135    <defjdklocations v="9"/>    <defjdklocations v="9"/>
136      <defjdklocations v="10"/>
137    
138    <!-- Source locations -->    <!-- Source locations -->
139    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
# Line 134  Line 141 
141    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
142    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
143    <property name="jtreg7.src.dir"       location="${test.src.dir}/jtreg-jdk7"/>    <property name="jtreg7.src.dir"       location="${test.src.dir}/jtreg-jdk7"/>
144    <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg"/>    <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg-jdk8"/>
145    <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>    <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>
146      <property name="jtreg10.src.dir"      location="${test.src.dir}/jtreg"/>
147    <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>    <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>
148    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
149    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
150    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
151    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
152      <property name="4jdk8src.dir"         location="${topsrc.dir}/jdk8"/>
153    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
154    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
155    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
# Line 149  Line 158 
158    <!-- Javadoc locations -->    <!-- Javadoc locations -->
159    <property name="docs.dir"          location="${build.dir}/docs"/>    <property name="docs.dir"          location="${build.dir}/docs"/>
160    <property name="4jdk7docs.dir"     location="${build.4jdk7.dir}/docs"/>    <property name="4jdk7docs.dir"     location="${build.4jdk7.dir}/docs"/>
161      <property name="4jdk8docs.dir"     location="${build.4jdk8.dir}/docs"/>
162    <property name="jsr166xdocs.dir"   location="${build.jsr166x.dir}/docs"/>    <property name="jsr166xdocs.dir"   location="${build.jsr166x.dir}/docs"/>
163    <property name="jsr166ydocs.dir"   location="${build.jsr166y.dir}/docs"/>    <property name="jsr166ydocs.dir"   location="${build.jsr166y.dir}/docs"/>
164    <property name="jsr166edocs.dir"   location="${build.jsr166e.dir}/docs"/>    <property name="jsr166edocs.dir"   location="${build.jsr166e.dir}/docs"/>
# Line 156  Line 166 
166    
167    <property name="dist.docs.dir"          location="${dist.dir}/docs"/>    <property name="dist.docs.dir"          location="${dist.dir}/docs"/>
168    <property name="dist.4jdk7docs.dir"     location="${dist.dir}/jsr166-4jdk7docs"/>    <property name="dist.4jdk7docs.dir"     location="${dist.dir}/jsr166-4jdk7docs"/>
169      <property name="dist.4jdk8docs.dir"     location="${dist.dir}/jsr166-4jdk8docs"/>
170    <property name="dist.jsr166xdocs.dir"   location="${dist.dir}/jsr166xdocs"/>    <property name="dist.jsr166xdocs.dir"   location="${dist.dir}/jsr166xdocs"/>
171    <property name="dist.jsr166ydocs.dir"   location="${dist.dir}/jsr166ydocs"/>    <property name="dist.jsr166ydocs.dir"   location="${dist.dir}/jsr166ydocs"/>
172    <property name="dist.jsr166edocs.dir"   location="${dist.dir}/jsr166edocs"/>    <property name="dist.jsr166edocs.dir"   location="${dist.dir}/jsr166edocs"/>
# Line 164  Line 175 
175    <!-- Jar locations -->    <!-- Jar locations -->
176    <property name="product.jar"      location="${build.dir}/jsr166.jar"/>    <property name="product.jar"      location="${build.dir}/jsr166.jar"/>
177    <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>    <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
178      <property name="4jdk8product.jar" location="${build.4jdk8.dir}/jsr166-4jdk8.jar"/>
179    <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>    <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>
180    <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>    <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>
181    <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>    <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>
# Line 175  Line 187 
187    <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>    <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>
188    <property name="java7.docroot.url"      value="http://docs.oracle.com/javase/7/docs"/>    <property name="java7.docroot.url"      value="http://docs.oracle.com/javase/7/docs"/>
189    <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>    <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>
190    <!-- The expected canonical location does not yet exist as of 2015-11 -->    <!-- The expected canonical location does not yet exist as of 2016-04 -->
191    <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->    <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
192    <property name="java9.docroot.url"      value="http://download.java.net/jdk9/docs"/>    <property name="java9.docroot.url"      value="http://download.java.net/java/jdk9/docs"/>
193    <!-- Default jdk doc location (latest stable release seems best) -->    <!-- Default jdk doc location (latest stable release seems best) -->
194    <property name="java.docroot.url"       value="${java8.docroot.url}"/>    <property name="java.docroot.url"       value="${java8.docroot.url}"/>
195    
# Line 209  Line 221 
221      <attribute name="compile-target" default="@{target}"/>      <attribute name="compile-target" default="@{target}"/>
222      <attribute name="workdir"/>      <attribute name="workdir"/>
223      <attribute name="classes"/>      <attribute name="classes"/>
224        <!--
225            <attribute name="jvmflags" default="-XX:+UseParallelGC -XX:-UseBiasedLocking -ea -esa -Djsr166.testImplementationDetails=true"/>
226        -->
227      <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>      <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
228      <element name="javac-elements" optional="true"/>      <element name="javac-elements" optional="true"/>
229    
# Line 231  Line 246 
246             classpath="${junit.jar}"             classpath="${junit.jar}"
247             includeAntRuntime="false"             includeAntRuntime="false"
248             includeJavaRuntime="false"             includeJavaRuntime="false"
249               encoding="ASCII"
250             executable="${javac@{compile-target}}"             executable="${javac@{compile-target}}"
251             fork="true">             fork="true">
252    
# Line 238  Line 254 
254        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
255        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>
256        <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>        <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
257        <compilerarg value="-Xpatch:${build.classes.dir}" if:set="modules"/>        <compilerarg line="--patch-module java.base=@{classes}" if:set="modules"/>
258        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
259        <javac-elements/>        <javac-elements/>
260    
# Line 249  Line 265 
265            jvm="${java@{target}}"            jvm="${java@{target}}"
266            fork="true">            fork="true">
267          <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>          <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
268          <jvmarg value="-Xpatch:${build.classes.dir}" if:set="modules"/>          <jvmarg line="--patch-module java.base=@{classes}" if:set="modules"/>
269            <jvmarg line="--add-opens java.base/java.lang=ALL-UNNAMED" if:set="modules"/>
270            <jvmarg line="--add-opens java.base/java.util=ALL-UNNAMED" if:set="modules"/>
271            <jvmarg line="--add-opens java.base/java.util.concurrent=ALL-UNNAMED" if:set="modules"/>
272            <jvmarg line="--add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED" if:set="modules"/>
273            <jvmarg line="--add-opens java.base/java.util.concurrent.locks=ALL-UNNAMED" if:set="modules"/>
274          <jvmarg line="@{jvmflags}"/>          <jvmarg line="@{jvmflags}"/>
275            <!-- ant -Dvmoptions="-Xmx8m" -Djsr166.tckTestClass=CompletableFutureTest tck -->
276            <jvmarg line="${vmoptions}" if:set="vmoptions"/>
277    
278          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
279          <syspropertyset id="system-properties-used-by-tck">          <syspropertyset id="system-properties-used-by-tck">
# Line 278  Line 301 
301    <fileset dir="${jtreg8.src.dir}">    <fileset dir="${jtreg8.src.dir}">
302      <patternset id="jdk8.jtreg.tests">      <patternset id="jdk8.jtreg.tests">
303        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/SpliteratorCharacteristics.java"/>  
       <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->  
       <exclude name="**/GCDuringIteration.java"/>  
304      </patternset>      </patternset>
305    </fileset>    </fileset>
306    
# Line 312  Line 332 
332      </condition>      </condition>
333    
334      <delete dir="@{workdir}/JTwork"   quiet="true"/>      <delete dir="@{workdir}/JTwork"   quiet="true"/>
     <delete dir="@{workdir}/JTreport" quiet="true"/>  
     <mkdir dir="@{workdir}/JTwork/scratch"/>  
     <!-- workaround for https://bugs.openjdk.java.net/browse/CODETOOLS-7901571 -->  
     <mkdir dir="@{workdir}/JTreport/html"/>  
     <mkdir dir="@{workdir}/JTreport/text"/>  
335      <jtreg dir="${jtreg@{target}.src.dir}"      <jtreg dir="${jtreg@{target}.src.dir}"
336             jdk="${jdk@{target}.home}"             jdk="${jdk@{target}.home}"
337             workDir="@{workdir}/JTwork"             workDir="@{workdir}/JTwork">
            reportDir="@{workdir}/JTreport">  
338        <patternset refid="jdk@{target}.jtreg.tests"/>        <patternset refid="jdk@{target}.jtreg.tests"/>
339        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>        <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
340        <arg value="-Xpatch:${build.classes.dir}" if:set="modules"/>        <arg value="-javacoptions:--patch-module java.base=@{classes}" if:set="modules"/>
341          <arg value="-vmoptions:--patch-module java.base=@{classes}" if:set="modules"/>
342        <arg value="-agentvm"/>        <arg value="-agentvm"/>
343          <arg value="-noreport"/>
344        <arg value="-verbose:${jtreg.verbose}"/>        <arg value="-verbose:${jtreg.verbose}"/>
345        <arg value="-vmoptions:-esa -ea"/>        <arg value="-vmoptions:-esa -ea"/>
346        <arg value="-automatic"/>        <arg value="-automatic"/>
# Line 350  Line 366 
366    <property name="build.main.javac" value="${javac9}"/>    <property name="build.main.javac" value="${javac9}"/>
367    
368    <target name="dists"    <target name="dists"
369            depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"            depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
370            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
371    
372    <target name="compile"    <target name="compile"
# Line 379  Line 395 
395             classpath=""             classpath=""
396             includeAntRuntime="false"             includeAntRuntime="false"
397             includeJavaRuntime="false"             includeJavaRuntime="false"
398               encoding="ASCII"
399             executable="${build.main.javac}"             executable="${build.main.javac}"
400             fork="true">             fork="true">
401    
# Line 393  Line 410 
410        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
411    
412      </javac>      </javac>
   
     <!-- We need jdk9's Contended annotation, but at compile time only -->  
     <delete file="${destdir}/jdk/internal/vm/annotation/Contended.class"/>  
413    </target>    </target>
414    
415    
416    <target name="jar"    <target name="jar"
417            depends="compile"            depends="compile"
418            description="Builds library jar from compiled sources">            description="Builds library jar for src/main from compiled sources">
419        <local name="subdir"/>
420        <available property="subdir" file="${build.classes.dir}/java.base" type="dir" value="/java.base"/>
421      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
422        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}${subdir}"/>
423        <manifest>        <manifest>
424          <attribute name="Built-By" value="${user.name}"/>          <attribute name="Built-By" value="${user.name}"/>
425          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>          <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
# Line 422  Line 437 
437      <!-- the packagenames="none" hack below prevents scanning the -->      <!-- the packagenames="none" hack below prevents scanning the -->
438      <!-- sourcepath for packages -->      <!-- sourcepath for packages -->
439    
440    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}" -->
441    <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}:${jdk9.src.home}/jdk/src/java.logging/share/classes" -->
442    <!-- TODO: sourcepath="${src.dir}:${jdk9.home}/src.zip" -->
443    <!-- TODO: <arg line="-sourcepath ${src.dir}:${jdk9.home}/src.zip"/> -->
444    <!-- TODO: <arg line="- -module-source-path ${jdk9.home}/src.zip"/> -->
445      <javadoc destdir="${docs.dir}"      <javadoc destdir="${docs.dir}"
446               packagenames="none"               packagenames="none"
447               link="${java9.api.url}"               link="${java9.api.url}"
448               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
449               access="${build.javadoc.access}"               access="${build.javadoc.access}"
450               sourcepath="${src.dir}:${jdk9src.dir}"               sourcepath="${src.dir}"
451               classpath=""               classpath=""
452               executable="${javadoc9}">               executable="${javadoc9}">
453        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
# Line 436  Line 456 
456        <arg line="-Xdocrootparent ${java9.docroot.url}"/>        <arg line="-Xdocrootparent ${java9.docroot.url}"/>
457        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
458        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
459  <!--  TODO     <arg value="-Xmodule:java.base"/> -->        <arg value="-Xmodule:java.base"/>
460        <arg value="-tag"/>        <arg value="-tag"/>
461        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
462    <!-- @apiNote currently unused -->
463    <!--       <arg value="-tag"/> -->
464    <!--       <arg value="apiNote:a:API Note:"/> -->
465        <arg value="-tag"/>        <arg value="-tag"/>
466        <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>        <arg value="implSpec:a:Implementation Requirements:"/>
       <arg value="-tag"/>  
       <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>  
467        <arg value="-tag"/>        <arg value="-tag"/>
468        <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>        <arg value="implNote:a:Implementation Note:"/>
469    <!-- tags added in jdk9: currently unused -->
470    <!--       <arg value="-tag"/> -->
471    <!--       <arg value="revised:X"/> -->
472    <!--       <arg value="-tag"/> -->
473    <!--       <arg value="spec:X"/> -->
474      </javadoc>      </javadoc>
475    </target>    </target>
476    
# Line 505  Line 531 
531    
532    <target name="tck"    <target name="tck"
533            depends="jar"            depends="jar"
534            description="Runs tck tests for main directly">            description="Runs tck tests for src/main directly">
535    
536      <run-tck-tests      <run-tck-tests
537        target="${build.main.java.version}"        target="${build.main.java.version}"
# Line 514  Line 540 
540    </target>    </target>
541    
542    <target name="tck-parallelism-1"    <target name="tck-parallelism-1"
543            description="Runs tck with given common pool parallelism">            description="Runs tck with common pool parallelism 1">
544      <antcall target="tck">      <antcall target="tck">
545        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
546      </antcall>      </antcall>
547    </target>    </target>
548    
549    <target name="tck-parallelism-0"    <target name="tck-parallelism-0"
550            description="Runs tck with given common pool parallelism">            description="Runs tck with common pool parallelism 0">
551      <antcall target="tck">      <antcall target="tck">
552        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
553      </antcall>      </antcall>
554    </target>    </target>
555    
556      <target name="tck-security-manager"
557              description="Runs tck with a security manager">
558        <antcall target="tck">
559          <param name="jsr166.useSecurityManager" value="true"/>
560        </antcall>
561      </target>
562    
563    <target name="jtreg"    <target name="jtreg"
564            depends="jar"            depends="jar"
565            description="Runs jtreg tests for main using the jtreg ant task">            description="Runs jtreg tests for src/main using the jtreg ant task">
566      <run-jtreg-tests      <run-jtreg-tests
567         target="${build.main.java.version}"         target="${build.main.java.version}"
568         workdir="${build.dir}"         workdir="${build.dir}"
# Line 537  Line 570 
570    </target>    </target>
571    
572    <target name="test"    <target name="test"
573            depends="tck, tck-parallelism-1, jtreg"            depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
574            description="Runs tck and jtreg tests for main">            description="Runs tck and jtreg tests for src/main">
575    </target>    </target>
576    
577    <target name="jtreg8" description="Runs jtreg tests with jdk8">  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
578    
579      <antcall target="jtreg">  <!--     <antcall target="jtreg"> -->
580        <param name="build.main.java.version" value="8"/>  <!--       <param name="build.main.java.version" value="8"/> -->
581        <param name="build.main.javac" value="${javac8}"/>  <!--       <param name="build.main.javac" value="${javac8}"/> -->
582      </antcall>  <!--     </antcall> -->
583    
584    </target>  <!--   </target> -->
585    
586    <target name="test89"  <!--   <target name="test89" -->
587            description="Runs tck and jtreg tests for main for multiple java versions">  <!--           description="Runs tck and jtreg tests for src/main for multiple java versions"> -->
588    
589      <antcall target="clean"/>  <!--     <antcall target="clean"/> -->
590      <antcall target="test">  <!--     <antcall target="test"> -->
591        <param name="build.main.java.version" value="8"/>  <!--       <param name="build.main.java.version" value="8"/> -->
592        <param name="build.main.javac" value="${javac8}"/>  <!--       <param name="build.main.javac" value="${javac8}"/> -->
593      </antcall>  <!--     </antcall> -->
594    
595      <antcall target="clean"/>  <!--     <antcall target="clean"/> -->
596      <antcall target="test">  <!--     <antcall target="test"> -->
597        <param name="build.main.java.version" value="9"/>  <!--       <param name="build.main.java.version" value="9"/> -->
598        <param name="build.main.javac" value="${javac9}"/>  <!--       <param name="build.main.javac" value="${javac9}"/> -->
599      </antcall>  <!--     </antcall> -->
600    
601    </target>  <!--   </target> -->
602    
603    
604    
# Line 595  Line 628 
628    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
629    
630    
631    <target name="loops" depends="configure-compiler"    <!-- description="Benchmark from Doug Lea's AQS paper" -->
632            description="Benchmark from Doug Lea's AQS paper">    <target name="loops" depends="configure-compiler">
633    
634      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
635    
# Line 607  Line 640 
640        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
641             source="${build.sourcelevel}"             source="${build.sourcelevel}"
642             target="${build.sourcelevel}"             target="${build.sourcelevel}"
643             encoding="ASCII"
644               fork="true">               fork="true">
645    
646        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 634  Line 668 
668             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
669             includeAntRuntime="false"             includeAntRuntime="false"
670             includeJavaRuntime="false"             includeJavaRuntime="false"
671               encoding="ASCII"
672             executable="${javac9}"             executable="${javac9}"
673             fork="true">             fork="true">
674    
# Line 648  Line 683 
683    </target>    </target>
684    
685    
686      <!-- jsr166 4jdk8 -->
687    
688      <target name="4jdk8compile"
689              depends="configure-compiler"
690              description="Compiles src/jdk8 sources, targeting jdk8">
691    
692        <mkdir dir="${build.4jdk8.classes.dir}"/>
693    
694        <javac srcdir="${4jdk8src.dir}"
695               destdir="${build.4jdk8.classes.dir}"
696               debug="${build.debug}"
697               debuglevel="${build.debuglevel}"
698               deprecation="${build.deprecation}"
699               source="8"
700               target="8"
701               classpath=""
702               bootclasspath="${bootclasspath8}"
703               includeAntRuntime="false"
704               includeJavaRuntime="false"
705               encoding="ASCII"
706               executable="${javac8}"
707               fork="true">
708    
709          <include name="**/*.java"/>
710          <compilerarg value="-Xprefer:source"/>
711          <compilerarg value="-XDignore.symbol.file=true"/>
712          <compilerarg value="-Xlint:all"/>
713          <compilerarg value="-Werror"/>
714          <compilerarg line="${build.args}"/>
715    
716        </javac>
717      </target>
718    
719      <target name="4jdk8doclint"
720              depends="configure-compiler"
721              description="Finds doclint warnings">
722    
723        <mkdir dir="${build.4jdk8.classes.dir}"/>
724    
725        <javac srcdir="${4jdk8src.dir}"
726               destdir="${build.4jdk8.classes.dir}"
727               debug="${build.debug}"
728               debuglevel="${build.debuglevel}"
729               deprecation="${build.deprecation}"
730               source="8"
731               target="8"
732               classpath=""
733               bootclasspath="${bootclasspath8}"
734               includeAntRuntime="false"
735               includeJavaRuntime="false"
736               encoding="ASCII"
737               executable="${javac8}"
738               fork="true">
739    
740          <include name="**/*.java"/>
741          <compilerarg value="-Xprefer:source"/>
742          <compilerarg value="-XDignore.symbol.file=true"/>
743          <compilerarg value="-Xlint:all"/>
744          <compilerarg value="-Xdoclint:all/protected"/>
745          <compilerarg line="${build.args}"/>
746    
747        </javac>
748      </target>
749    
750    
751      <target name="4jdk8jar"
752              depends="4jdk8compile"
753              description="Builds library jar from compiled sources">
754    
755        <jar destfile="${4jdk8product.jar}">
756          <fileset dir="${build.4jdk8.classes.dir}"/>
757          <manifest>
758            <attribute name="Built-By" value="${user.name}"/>
759            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
760          </manifest>
761        </jar>
762    
763      </target>
764    
765    
766      <target name="4jdk8-tck"
767              depends="4jdk8jar"
768              description="Runs tck tests for jsr166-4jdk8 directly">
769    
770        <run-tck-tests
771          target="8"
772          workdir="${build.4jdk8.dir}"
773          classes="${4jdk8product.jar}">
774          <javac-elements>
775            <!-- JDK9+ test classes -->
776            <exclude name="*9Test.java"/>
777            <exclude name="*10Test.java"/>
778          </javac-elements>
779        </run-tck-tests>
780      </target>
781    
782    
783      <target name="4jdk8-jtreg"
784              depends="4jdk8jar"
785              description="Runs jtreg tests for jsr166-4jdk8 using the jtreg ant task">
786        <run-jtreg-tests
787           target="8"
788           workdir="${build.4jdk8.dir}"
789           classes="${4jdk8product.jar}"/>
790      </target>
791    
792    
793      <target name="4jdk8-test"
794              depends="4jdk8-tck, 4jdk8-jtreg"
795              description="Runs tck and jtreg tests for jsr166-4jdk8">
796      </target>
797    
798    
799      <target name="4jdk8docs"
800              description="Builds javadocs for src/jdk8 to dist dir">
801    
802        <delete dir="${4jdk8docs.dir}"/>
803        <mkdir dir="${4jdk8docs.dir}"/>
804    
805        <javadoc destdir="${4jdk8docs.dir}"
806                 packagenames="none"
807                 link="${java8.api.url}"
808                 overview="${4jdk8src.dir}/intro.html"
809                 access="${build.javadoc.access}"
810                 sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
811                 classpath=""
812                 executable="${javadoc8}"
813                 failonerror = "true">
814          <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
815            <include name="**/*.java"/>
816          </fileset>
817          <arg line="-Xdocrootparent ${java8.docroot.url}"/>
818          <arg value="-XDignore.symbol.file=true"/>
819          <arg value="-tag"/>
820          <arg value="${javadoc.jls.option}"/>
821    <!-- @apiNote currently unused -->
822    <!--       <arg value="-tag"/> -->
823    <!--       <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/> -->
824          <arg value="-tag"/>
825          <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
826          <arg value="-tag"/>
827          <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
828        </javadoc>
829      </target>
830    
831    
832      <target name="4jdk8dist"
833              depends="4jdk8dist-jar, 4jdk8dist-docs"
834              description="Puts all distributable products in single hierarchy"/>
835    
836    
837      <target name="4jdk8clean"
838              description="Removes all 4jdk8 build products">
839    
840        <delete dir="${build.4jdk8.dir}"/>
841    
842      </target>
843    
844    
845      <target name="4jdk8dist-jar"
846              depends="4jdk8clean, 4jdk8jar">
847        <copy file="${4jdk8product.jar}" todir="${dist.dir}"/>
848      </target>
849    
850    
851      <target name="4jdk8dist-docs"
852              depends="4jdk8clean, 4jdk8docs">
853        <mirror-dir src="${4jdk8docs.dir}" dst="${dist.4jdk8docs.dir}"/>
854      </target>
855    
856    
857    
858    <!-- jsr166 4jdk7 -->    <!-- jsr166 4jdk7 -->
859    
860    <target name="4jdk7compile"    <target name="4jdk7compile"
# Line 667  Line 874 
874             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
875             includeAntRuntime="false"             includeAntRuntime="false"
876             includeJavaRuntime="false"             includeJavaRuntime="false"
877               encoding="ASCII"
878             executable="${javac7}"             executable="${javac7}"
879             fork="true">             fork="true">
880    
# Line 697  Line 905 
905             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
906             includeAntRuntime="false"             includeAntRuntime="false"
907             includeJavaRuntime="false"             includeJavaRuntime="false"
908               encoding="ASCII"
909             executable="${javac8}"             executable="${javac8}"
910             fork="true">             fork="true">
911    
# Line 752  Line 961 
961    </target>    </target>
962    
963    
964      <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
965    <target name="4jdk7-tck-junit"    <target name="4jdk7-tck-junit"
966            depends="4jdk7compile"            depends="4jdk7compile">
           description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">  
967    
968      <junit printsummary="true"      <junit printsummary="true"
969             showoutput="true"             showoutput="true"
# Line 807  Line 1016 
1016               link="${java7.api.url}"               link="${java7.api.url}"
1017               overview="${4jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
1018               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1019               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
1020               classpath=""               classpath=""
1021               executable="${javadoc7}">               executable="${javadoc7}"
1022                 failonerror = "true">
1023        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
1024          <include name="**/*.java"/>          <include name="**/*.java"/>
1025        </fileset>        </fileset>
# Line 863  Line 1073 
1073             target="5"             target="5"
1074             includeAntRuntime="false"             includeAntRuntime="false"
1075             includeJavaRuntime="false"             includeJavaRuntime="false"
1076               encoding="ASCII"
1077             executable="${javac7}"             executable="${javac7}"
1078             fork="true">             fork="true">
1079    
# Line 901  Line 1112 
1112               packagenames="jsr166x.*"               packagenames="jsr166x.*"
1113               link="${java.api.url}"               link="${java.api.url}"
1114               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1115               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1116               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1117               source="5"               source="5"
1118               executable="${javadoc7}">               executable="${javadoc7}"
1119                 failonerror = "true">
1120        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1121        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1122    
# Line 955  Line 1167 
1167             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
1168             includeAntRuntime="false"             includeAntRuntime="false"
1169             includeJavaRuntime="false"             includeJavaRuntime="false"
1170               encoding="ASCII"
1171             executable="${javac7}"             executable="${javac7}"
1172             fork="true">             fork="true">
1173    
# Line 993  Line 1206 
1206               packagenames="jsr166y.*"               packagenames="jsr166y.*"
1207               link="${java.api.url}"               link="${java.api.url}"
1208               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1209               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1210               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1211               source="6"               source="6"
1212               executable="${javadoc7}">               executable="${javadoc7}"
1213                 failonerror = "true">
1214        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1215        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1216    
# Line 1048  Line 1262 
1262             target="6"             target="6"
1263             includeAntRuntime="false"             includeAntRuntime="false"
1264             includeJavaRuntime="false"             includeJavaRuntime="false"
1265               encoding="ASCII"
1266             executable="${javac7}"             executable="${javac7}"
1267             fork="true">             fork="true">
1268    
# Line 1086  Line 1301 
1301               packagenames="extra166y.*"               packagenames="extra166y.*"
1302               link="${java.api.url}"               link="${java.api.url}"
1303               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1304               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1305               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1306               source="6"               source="6"
1307               executable="${javadoc7}">               executable="${javadoc7}">
# Line 1207  Line 1422 
1422               packagenames="jsr166e.*"               packagenames="jsr166e.*"
1423               link="${java.api.url}"               link="${java.api.url}"
1424               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1425               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1426               source="${build.jsr166e.java.version}"               source="${build.jsr166e.java.version}"
1427               executable="${javadoc7}">               executable="${javadoc7}"
1428                 failonerror = "true">
1429        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1430        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1431    
# Line 1294  Line 1510 
1510      </antcall>      </antcall>
1511    </target>    </target>
1512    
1513    <!-- ==============================================================
1514      Running guava tests against jsr166 code
1515    =================================================================== -->
1516    
1517    <!-- <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" -->
1518    <!--   organisation="com.google.guava" module="guava-testlib" revision="21.0"/> -->
1519    <!-- <property name="guava.version" value="21.0"/> -->
1520    
1521    <!-- HOWTO debug print a path id -->
1522    <!-- <pathconvert property="guava.testlib.classpath" refid="guava.testlib.classpath" /> -->
1523    <!-- <echo message="guava.testlib.classpath=${guava.testlib.classpath}"/> -->
1524    
1525    <!-- <ivy:retrieve pathid="guava.tests.classpath" type="jar" inline="true" conf="*" pattern="${lib.dir}/[type]/[artifact].[ext]" -->
1526    <!--   organisation="com.google.guava" module="guava-tests"/> -->
1527    <!-- <get src="http://repo2.maven.org/maven2/com/google/guava/guava-tests/${guava.version}/guava-tests-${guava.version}-tests.jar" -->
1528    <!--   dest="${lib.dir}/jar/guava-tests-tests.jar" usetimestamp="true"/> -->
1529    <!--     <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" type="*" -->
1530    <!--       organisation="com.google.guava" module="guava-testlib" revision="${guava.version}"/> -->
1531    
1532    <!-- <test name="com.google.common.collect.testing.TestsForQueuesInJavaUtil"/> -->
1533    <!-- <test name="com.google.common.collect.testing.TestsForListsInJavaUtil"/> -->
1534    <!-- <test name="com.google.common.collect.testing.TestsForSetsInJavaUtil"/> -->
1535    <!-- <test name="com.google.common.collect.testing.TestsForMapsInJavaUtil"/> -->
1536    
1537    <!-- <ivy:retrieve pathid="guava.testlib.classpath" -->
1538    <!--   type="*" inline="true" conf="*(private),*(public)" -->
1539    <!--   pattern="${guava.dir}/[artifact].[ext]" -->
1540    <!--   organisation="com.google.guava" module="guava-testlib"/> -->
1541    
1542    <!-- Work around bug below by downloading guava-testlib-tests.jar "by hand": -->
1543    <!-- https://issues.apache.org/jira/browse/IVY-1444 -->
1544    <!-- maven tests artifacts cannot be downloaded because they are mapped to private configurations -->
1545    
1546      <target name="init-ivy">
1547        <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.4.0/ivy-2.4.0.jar"
1548             dest="${build.dir}/ivy.jar" usetimestamp="true" skipexisting="true"/>
1549        <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"
1550                 classpath="${build.dir}/ivy.jar"/>
1551      </target>
1552    
1553      <target name="guava-tests" depends="jar, init-ivy"
1554              description="Guava tests run against jsr166 collections">
1555        <property name="guava.dir" value="${build.dir}/guava-testlib"/>
1556        <mkdir dir="${guava.dir}"/>
1557        <ivy:retrieve pathid="guava.testlib.classpath"
1558          type="jar,bundle" inline="true" conf="default,master"
1559          pattern="${guava.dir}/[artifact].[ext]"
1560          organisation="com.google.guava" module="guava-testlib"/>
1561        <property name="guava.version" value="21.0"/>
1562        <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"
1563             dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1564        <junit printsummary="true" showoutput="true" haltonfailure="true"
1565               jvm="${java9}" fork="true">
1566          <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>
1567          <formatter type="brief"/>
1568          <classpath>
1569            <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>
1570            <path refid="guava.testlib.classpath"/>
1571          </classpath>
1572    
1573          <!-- "6" in "OpenJdk6Tests" misleadingly means "6+" -->
1574          <test name="com.google.common.collect.testing.OpenJdk6Tests"/>
1575        </junit>
1576      </target>
1577    
1578  </project>  </project>

Legend:
Removed from v.1.197  
changed lines
  Added in v.1.232

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8