[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.164, Wed May 20 06:13:09 2015 UTC revision 1.180, Sun Sep 13 03:41:53 2015 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">
3    
4    <description>    <description>
5  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
# Line 38  Line 39 
39      </java>      </java>
40    </target>    </target>
41    
42      <!-- HOWTO printf debug: <echo message="prop=${prop}"/> -->
43    
44    <!-- User-specific settings -->    <!-- User-specific settings -->
45    <property file="user.properties"/>    <property file="user.properties"/>
# Line 52  Line 54 
54    
55    <!-- Tck options; see JSR166TestCase.java    <!-- Tck options; see JSR166TestCase.java
56     To profile a single tck test class:     To profile a single tck test class:
57     ant -Djsr166.profileTests=true -Djsr166.profileThreshold=100 -Djsr166.tckTestClass=CompletableFutureTest test-tck     ant -Djsr166.profileTests=true -Djsr166.profileThreshold=10 -Djsr166.tckTestClass=CompletableFutureTest tck
58     To stress test a single tck test class:     To stress test a single tck test class:
59     ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck     ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 tck
60    -->    -->
61    <property name="jsr166.profileTests"     value="false"/>    <property name="jsr166.profileTests"     value="false"/>
62    <property name="jsr166.profileThreshold" value="100"/>    <property name="jsr166.profileThreshold" value="100"/>
# Line 93  Line 95 
95      <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>      <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
96      <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>      <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
97      <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>      <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
98      <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>      <available property="jdk@{v}.have.java.base"
99          file="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes" type="dir"/>
100        <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes"
101          if:set="jdk@{v}.have.java.base"/>
102        <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"
103          unless:set="jdk@{v}.have.java.base"/>
104      <local name="boot.jar.dir"/>      <local name="boot.jar.dir"/>
105      <property name="boot.jar.dir"   location="${jdk@{v}.home}/jre/lib"/>      <property name="boot.jar.dir"   location="${jdk@{v}.home}/jre/lib"/>
106      <path id="bootclasspath@{v}">      <path id="bootclasspath@{v}">
# Line 129  Line 136 
136    <property name="test.src.dir"         location="${basedir}/src/test"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
137    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
138    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
139    <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>    <property name="jtreg7.src.dir"       location="${test.src.dir}/jtreg-jdk7"/>
140      <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg"/>
141      <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>
142      <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>
143    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
144    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
145    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
# Line 234  Line 244 
244          <jvmarg value="-Xbootclasspath/p:@{classes}"/>          <jvmarg value="-Xbootclasspath/p:@{classes}"/>
245          <jvmarg line="@{jvmflags}"/>          <jvmarg line="@{jvmflags}"/>
246    
247          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 test-tck -->          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
248          <syspropertyset id="java.util.concurrent.ForkJoinPool-properties">          <syspropertyset id="java.util.concurrent.ForkJoinPool-properties">
249            <propertyref prefix="java.util.concurrent.ForkJoinPool"/>            <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
250          </syspropertyset>          </syspropertyset>
# Line 251  Line 261 
261      </sequential>      </sequential>
262    </macrodef>    </macrodef>
263    
264      <!-- Define jtreg test sets for different jdk versions -->
265      <fileset dir="${jtreg9.src.dir}">
266        <patternset id="jdk9.jtreg.tests">
267          <include name="**/*.java"/>
268        </patternset>
269      </fileset>
270    
271      <fileset dir="${jtreg8.src.dir}">
272        <patternset id="jdk8.jtreg.tests">
273          <include name="**/*.java"/>
274          <exclude name="**/SpliteratorCharacteristics.java"/>
275          <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->
276          <exclude name="**/GCDuringIteration.java"/>
277        </patternset>
278      </fileset>
279    
280      <fileset dir="${jtreg7.src.dir}">
281        <patternset id="jdk7.jtreg.tests">
282          <include name="**/*.java"/>
283        </patternset>
284      </fileset>
285    
286    <macrodef name="run-jtreg-tests">    <macrodef name="run-jtreg-tests">
287      <!-- ant -Djtreg.src.dir=src/test/jtreg/util/concurrent/CompletableFuture test-jtreg -->      <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
     <attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/>  
288      <attribute name="source" default="7"/>      <attribute name="source" default="7"/>
289      <attribute name="target"/>      <attribute name="target"/>
290      <attribute name="workdir"/>      <attribute name="workdir"/>
# Line 264  Line 295 
295      <delete dir="@{workdir}/JTreport" quiet="true"/>      <delete dir="@{workdir}/JTreport" quiet="true"/>
296      <mkdir dir="@{workdir}/JTwork/scratch"/>      <mkdir dir="@{workdir}/JTwork/scratch"/>
297      <mkdir dir="@{workdir}/JTreport"/>      <mkdir dir="@{workdir}/JTreport"/>
298      <jtreg dir="@{jtreg.src.dir}"      <jtreg dir="${jtreg@{target}.src.dir}"
299             jdk="${jdk@{target}.home}"             jdk="${jdk@{target}.home}"
300             workDir="@{workdir}/JTwork"             workDir="@{workdir}/JTwork"
301             reportDir="@{workdir}/JTreport">             reportDir="@{workdir}/JTreport">
302          <patternset refid="jdk@{target}.jtreg.tests"/>
303        <arg value="-Xbootclasspath/p:@{classes}"/>        <arg value="-Xbootclasspath/p:@{classes}"/>
304        <arg value="-agentvm"/>        <arg value="-agentvm"/>
305        <arg value="-v:nopass,fail"/>        <arg value="-v:nopass,fail"/>
# Line 334  Line 365 
365    
366      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
367        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}"/>
368          <manifest>
369            <attribute name="Built-By" value="${user.name}"/>
370            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
371          </manifest>
372      </jar>      </jar>
373    </target>    </target>
374    
# Line 392  Line 427 
427        <exclude name="src/emulation/**"/>        <exclude name="src/emulation/**"/>
428        <exclude name="**/SyntaxTest.java"/>        <exclude name="**/SyntaxTest.java"/>
429        <exclude name="**/SuperfluousAbstract.java"/>        <exclude name="**/SuperfluousAbstract.java"/>
430          <manifest>
431            <attribute name="Built-By" value="${user.name}"/>
432            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
433          </manifest>
434      </jar>      </jar>
435    </target>    </target>
436    
# Line 423  Line 462 
462      <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>      <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
463    </target>    </target>
464    
465    <target name="tck" depends="test-tck" description="alias for test-tck"/>    <target name="tck"
   <target name="test-tck"  
466            depends="jar"            depends="jar"
467            description="Runs tck tests for main directly">            description="Runs tck tests for main directly">
468    
# Line 434  Line 472 
472        classes="${product.jar}"/>        classes="${product.jar}"/>
473    </target>    </target>
474    
475    <target name="test-tck-parallelism-1"    <target name="tck-parallelism-1"
476            description="Runs test-tck with given common pool parallelism">            description="Runs tck with given common pool parallelism">
477      <antcall target="test-tck">      <antcall target="tck">
478        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
479      </antcall>      </antcall>
480    </target>    </target>
481    
482    <target name="test-tck-parallelism-0"    <target name="tck-parallelism-0"
483            description="Runs test-tck with given common pool parallelism">            description="Runs tck with given common pool parallelism">
484      <antcall target="test-tck">      <antcall target="tck">
485        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>        <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
486      </antcall>      </antcall>
487    </target>    </target>
488    
489    <target name="jtreg" depends="test-jtreg" description="alias for test-jtreg"/>    <target name="jtreg"
   <target name="test-jtreg"  
490            depends="jar"            depends="jar"
491            description="Runs jtreg tests for main using the jtreg ant task">            description="Runs jtreg tests for main using the jtreg ant task">
492      <run-jtreg-tests      <run-jtreg-tests
# Line 459  Line 496 
496    </target>    </target>
497    
498    <target name="test"    <target name="test"
499            depends="test-tck, test-tck-parallelism-1, test-jtreg"            depends="tck, tck-parallelism-1, jtreg"
500            description="Runs tck and jtreg tests for main">            description="Runs tck and jtreg tests for main">
501    </target>    </target>
502    
503      <target name="jtreg8" description="Runs jtreg tests with jdk8">
504    
505        <antcall target="jtreg">
506          <param name="build.main.java.version" value="8"/>
507          <param name="build.main.javac" value="${javac8}"/>
508        </antcall>
509    
510      </target>
511    
512    <target name="test89"    <target name="test89"
513            description="Runs tck and jtreg tests for main for multiple java versions">            description="Runs tck and jtreg tests for main for multiple java versions">
514    
# Line 483  Line 529 
529    
530    
531    <target name="configure-compiler">    <target name="configure-compiler">
532        <fail message="ant version too old">
533          <condition>
534            <not> <antversion atleast="1.9.1"/> </not>
535          </condition>
536        </fail>
537    
538      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
539    
# Line 529  Line 580 
580    </target>    </target>
581    
582    
583      <target name="compile-test-loops" depends="jar"
584              description="compile all the perf tests in src/test/loops">
585    
586        <mkdir dir="${build.dir}/test/loops"/>
587    
588        <javac srcdir="${basedir}/src/test/loops"
589               destdir="${build.dir}/test/loops"
590               debug="${build.debug}"
591               debuglevel="${build.debuglevel}"
592               deprecation="${build.deprecation}"
593               includeAntRuntime="false"
594               includeJavaRuntime="false"
595               executable="${javac9}"
596               fork="true">
597    
598          <include name="*.java"/>
599          <compilerarg value="-XDignore.symbol.file=true"/>
600          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
601          <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
602          <compilerarg line="${build.args}"/>
603    
604        </javac>
605    
606      </target>
607    
608    
609    <!-- jsr166 4jdk7 -->    <!-- jsr166 4jdk7 -->
610    
611    <target name="4jdk7compile"    <target name="4jdk7compile"
# Line 596  Line 673 
673    
674      <jar destfile="${4jdk7product.jar}">      <jar destfile="${4jdk7product.jar}">
675        <fileset dir="${build.4jdk7.classes.dir}"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
676          <manifest>
677            <attribute name="Built-By" value="${user.name}"/>
678            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
679          </manifest>
680      </jar>      </jar>
681    
682    </target>    </target>
683    
684    
685    <target name="4jdk7-test-tck"    <target name="4jdk7-tck"
686            depends="4jdk7jar"            depends="4jdk7jar"
687            description="Runs tck tests for jsr166-4jdk7 directly">            description="Runs tck tests for jsr166-4jdk7 directly">
688    
# Line 613  Line 694 
694          <!-- JDK8+ test classes -->          <!-- JDK8+ test classes -->
695          <exclude name="*8Test.java"/>          <exclude name="*8Test.java"/>
696          <exclude name="*9Test.java"/>          <exclude name="*9Test.java"/>
697            <exclude name="*10Test.java"/>
698          <exclude name="DoubleAccumulatorTest.java"/>          <exclude name="DoubleAccumulatorTest.java"/>
699          <exclude name="DoubleAdderTest.java"/>          <exclude name="DoubleAdderTest.java"/>
700          <exclude name="LongAccumulatorTest.java"/>          <exclude name="LongAccumulatorTest.java"/>
# Line 620  Line 702 
702          <exclude name="CompletableFutureTest.java"/>          <exclude name="CompletableFutureTest.java"/>
703          <exclude name="SplittableRandomTest.java"/>          <exclude name="SplittableRandomTest.java"/>
704          <exclude name="StampedLockTest.java"/>          <exclude name="StampedLockTest.java"/>
705            <exclude name="SubmissionPublisherTest.java"/>
706        </javac-elements>        </javac-elements>
707      </run-tck-tests>      </run-tck-tests>
708    </target>    </target>
709    
710    
711    <target name="4jdk7-test-tck-junit"    <target name="4jdk7-tck-junit"
712            depends="4jdk7compile"            depends="4jdk7compile"
713            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
714    
# Line 653  Line 736 
736      </junit>      </junit>
737    </target>    </target>
738    
739    <target name="4jdk7-test-jtreg"    <target name="4jdk7-jtreg"
740            depends="4jdk7jar"            depends="4jdk7jar"
741            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
742      <run-jtreg-tests      <run-jtreg-tests
743         target="7"         target="7"
744         workdir="${build.4jdk7.dir}"         workdir="${build.4jdk7.dir}"
745         classes="${4jdk7product.jar}"         classes="${4jdk7product.jar}"/>
        jtregflags="-exclude:${jtreg.src.dir}/jdk8tests"/>  
746    </target>    </target>
747    
748    
749    <target name="4jdk7-test"    <target name="4jdk7-test"
750            depends="4jdk7-test-tck, 4jdk7-test-jtreg"            depends="4jdk7-tck, 4jdk7-jtreg"
751            description="Runs tck and jtreg tests for jsr166-4jdk7">            description="Runs tck and jtreg tests for jsr166-4jdk7">
752    </target>    </target>
753    
# Line 755  Line 837 
837    
838      <jar destfile="${jsr166x.jar}">      <jar destfile="${jsr166x.jar}">
839        <fileset dir="${build.jsr166x.classes.dir}"/>        <fileset dir="${build.jsr166x.classes.dir}"/>
840          <manifest>
841            <attribute name="Built-By" value="${user.name}"/>
842            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
843          </manifest>
844      </jar>      </jar>
845    
846    </target>    </target>
# Line 842  Line 928 
928    
929      <jar destfile="${jsr166y.jar}" index="true">      <jar destfile="${jsr166y.jar}" index="true">
930        <fileset dir="${build.jsr166y.classes.dir}"/>        <fileset dir="${build.jsr166y.classes.dir}"/>
931          <manifest>
932            <attribute name="Built-By" value="${user.name}"/>
933            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
934          </manifest>
935      </jar>      </jar>
936    
937    </target>    </target>
# Line 930  Line 1020 
1020    
1021      <jar destfile="${extra166y.jar}" index="true">      <jar destfile="${extra166y.jar}" index="true">
1022        <fileset dir="${build.extra166y.classes.dir}"/>        <fileset dir="${build.extra166y.classes.dir}"/>
1023          <manifest>
1024            <attribute name="Built-By" value="${user.name}"/>
1025            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1026          </manifest>
1027      </jar>      </jar>
1028    
1029    </target>    </target>
# Line 1045  Line 1139 
1139    
1140      <jar destfile="${jsr166e.jar}" index="true">      <jar destfile="${jsr166e.jar}" index="true">
1141        <fileset dir="${build.jsr166e.classes.dir}"/>        <fileset dir="${build.jsr166e.classes.dir}"/>
1142          <manifest>
1143            <attribute name="Built-By" value="${user.name}"/>
1144            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1145          </manifest>
1146      </jar>      </jar>
1147    
1148    </target>    </target>
# Line 1070  Line 1168 
1168    </target>    </target>
1169    
1170    
1171    <target name="jsr166e-test-tck-one-java-version"    <target name="jsr166e-tck-one-java-version"
1172            depends="jsr166ejar">            depends="jsr166ejar">
1173    
1174      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
# Line 1082  Line 1180 
1180        classes="${jsr166e.jar}"/>        classes="${jsr166e.jar}"/>
1181    </target>    </target>
1182    
1183    <target name="jsr166e-test-tck"    <target name="jsr166e-tck"
1184            description="Runs tck tests for jsr166e for multiple java versions">            description="Runs tck tests for jsr166e for multiple java versions">
1185    
1186  <!--     <antcall target="clean"/> -->  <!--     <antcall target="clean"/> -->
1187  <!--     <antcall target="jsr166e-test-tck-one-java-version"> -->  <!--     <antcall target="jsr166e-tck-one-java-version"> -->
1188  <!--       <param name="build.jsr166e.java.version" value="8"/> -->  <!--       <param name="build.jsr166e.java.version" value="8"/> -->
1189  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->
1190  <!--     </antcall> -->  <!--     </antcall> -->
1191    
1192      <antcall target="clean"/>      <antcall target="clean"/>
1193      <antcall target="jsr166e-test-tck-one-java-version">      <antcall target="jsr166e-tck-one-java-version">
1194        <param name="build.jsr166e.java.version" value="7"/>        <param name="build.jsr166e.java.version" value="7"/>
1195        <param name="build.jsr166e.javac" value="${javac7}"/>        <param name="build.jsr166e.javac" value="${javac7}"/>
1196      </antcall>      </antcall>
1197    
1198      <antcall target="clean"/>      <antcall target="clean"/>
1199      <antcall target="jsr166e-test-tck-one-java-version">      <antcall target="jsr166e-tck-one-java-version">
1200        <param name="build.jsr166e.java.version" value="6"/>        <param name="build.jsr166e.java.version" value="6"/>
1201        <param name="build.jsr166e.javac" value="${javac6}"/>        <param name="build.jsr166e.javac" value="${javac6}"/>
1202      </antcall>      </antcall>
# Line 1106  Line 1204 
1204    
1205    
1206    <target name="jsr166e-test"    <target name="jsr166e-test"
1207            depends="jsr166e-test-tck"            depends="jsr166e-tck"
1208            description="Runs all tests for jsr166e">            description="Runs all tests for jsr166e">
1209    </target>    </target>
1210    

Legend:
Removed from v.1.164  
changed lines
  Added in v.1.180

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8