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

Diff of /jsr166/build.xml

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

revision 1.224 by jsr166, Thu Nov 24 01:58:04 2016 UTC revision 1.234 by jsr166, Sat Feb 18 18:33:42 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 17  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=... -Djdk$N.src.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 2016-03, the sources in src/main are for jdk9+ only.  The "docs"    As of 2016-03, the sources in src/main are for jdk9+ only.
   target is currently broken.  
38  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
39    </description>    </description>
40    
# Line 133  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 142  Line 143 
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-jdk8"/>    <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"/>
# Line 252  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 line="--patch-module java.base=${build.classes.dir}/java.base" if:set="modules"/>        <compilerarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
258        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
259        <javac-elements/>        <javac-elements/>
260    
# Line 263  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 line="--patch-module java.base=${build.classes.dir}/java.base" if:set="modules"/>          <jvmarg value="--patch-module=java.base=@{classes}" if:set="modules"/>
269            <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" if:set="modules"/>
270            <jvmarg value="--add-opens=java.base/java.util=ALL-UNNAMED" if:set="modules"/>
271            <jvmarg value="--add-opens=java.base/java.util.concurrent=ALL-UNNAMED" if:set="modules"/>
272            <jvmarg value="--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED" if:set="modules"/>
273            <jvmarg value="--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 -->          <!-- ant -Dvmoptions="-Xmx8m" -Djsr166.tckTestClass=CompletableFutureTest tck -->
276          <jvmarg line="${vmoptions}" if:set="vmoptions"/>          <jvmarg line="${vmoptions}" if:set="vmoptions"/>
# Line 294  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 333  Line 337 
337             workDir="@{workdir}/JTwork">             workDir="@{workdir}/JTwork">
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="-javacoptions:--patch-module java.base=${build.classes.dir}/java.base" if:set="modules"/>        <arg value="-javacoptions:--patch-module java.base=@{classes}" if:set="modules"/>
341        <arg value="-vmoptions:--patch-module java.base=${build.classes.dir}/java.base" if:set="modules"/>        <arg value="-vmoptions:--patch-module java.base=@{classes}" if:set="modules"/>
342        <arg value="-agentvm"/>        <arg value="-agentvm"/>
343        <arg value="-noreport"/>        <arg value="-noreport"/>
344        <arg value="-verbose:${jtreg.verbose}"/>        <arg value="-verbose:${jtreg.verbose}"/>
# Line 396  Line 400 
400             fork="true">             fork="true">
401    
402        <include name="**/*.java"/>        <include name="**/*.java"/>
403        <compilerarg value="-Xmodule:java.base" if:set="modules"/>        <compilerarg value="--patch-module=java.base=${src.dir}" if:set="modules"/>
404        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
405        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
406        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
# Line 433  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}" -->  <!-- TODO: sourcepath="${src.dir}:${jdk9.src.dir}" -->
441  <!--  TODO: sourcepath="${src.dir}:${jdk9.src.dir}:${jdk9.src.home}/jdk/src/java.logging/share/classes" -->  <!-- 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}"
# Line 449  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        <arg value="-Xmodule:java.base"/>        <arg value="--patch-module=java.base=${src.dir}"/>
460        <arg value="-tag"/>        <arg value="-tag"/>
461        <arg value="${javadoc.jls.option}"/>        <arg value="${javadoc.jls.option}"/>
462  <!-- @apiNote currently unused -->  <!-- @apiNote currently unused -->
# Line 1503  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.224  
changed lines
  Added in v.1.234

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