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

Diff of /jsr166/build.xml

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

revision 1.152 by jsr166, Tue Feb 25 16:33:15 2014 UTC revision 1.175 by jsr166, Fri Sep 4 19:37:34 2015 UTC
# Line 24  Line 24 
24    $HOME/jdk/src/jdk9    $HOME/jdk/src/jdk9
25    where each of the above is a complete JDK source tree    where each of the above is a complete JDK source tree
26    (e.g. mercurial forest) or a symlink to same.    (e.g. mercurial forest) or a symlink to same.
27    
28      Alternatively, define ant variables thus:
29      ant -Djdk$N.home=...
30      for $N in 6 7 8 9 ...
31  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
32    </description>    </description>
33    
# Line 46  Line 50 
50    <property name="build.deprecation"    value="false"/>    <property name="build.deprecation"    value="false"/>
51    <property name="build.javadoc.access" value="protected"/>    <property name="build.javadoc.access" value="protected"/>
52    
53    <!-- Tck options; see JSR166TestCase.java -->    <!-- Tck options; see JSR166TestCase.java
54    <!-- ant -Djsr166.profileTests=true -Djsr166.runsPerTest=100 test-tck -->     To profile a single tck test class:
55       ant -Djsr166.profileTests=true -Djsr166.profileThreshold=10 -Djsr166.tckTestClass=CompletableFutureTest tck
56       To stress test a single tck test class:
57       ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 tck
58      -->
59    <property name="jsr166.profileTests"     value="false"/>    <property name="jsr166.profileTests"     value="false"/>
60    <property name="jsr166.profileThreshold" value="100"/>    <property name="jsr166.profileThreshold" value="100"/>
61    <property name="jsr166.runsPerTest"      value="1"/>    <property name="jsr166.runsPerTest"      value="1"/>
   <!-- Allow running an individual tck test class -->  
   <!-- ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck -->  
62    <property name="jsr166.tckTestClass"     value="JSR166TestCase"/>    <property name="jsr166.tckTestClass"     value="JSR166TestCase"/>
63    
64    <!-- Build locations -->    <!-- Build locations -->
# Line 123  Line 129 
129    <property name="test.src.dir"         location="${basedir}/src/test"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
130    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
131    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
132    <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>    <property name="jtreg7.src.dir"       location="${test.src.dir}/jtreg-jdk7"/>
133      <property name="jtreg8.src.dir"       location="${test.src.dir}/jtreg"/>
134      <property name="jtreg9.src.dir"       location="${test.src.dir}/jtreg"/>
135      <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>
136    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
137    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
138    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
# Line 161  Line 170 
170    <property name="java5.docroot.url"      value="http://docs.oracle.com/javase/1.5.0/docs"/>    <property name="java5.docroot.url"      value="http://docs.oracle.com/javase/1.5.0/docs"/>
171    <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"/>
172    <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"/>
173    <!-- The expected canonical location does not yet exist as of 2014-02 -->    <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>
174    <!-- <property name="java8.docroot.url" value="http://docs.oracle.com/javase/8/docs"/> -->    <!-- The expected canonical location does not yet exist as of 2014-07 -->
   <property name="java8.docroot.url"      value="http://download.java.net/jdk8/docs"/>  
   <!-- No published jdk9 docs exist as of 2014-02 -->  
175    <!-- <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"/> -->
176    <property name="java9.docroot.url"      value="${java8.docroot.url}"/>    <property name="java9.docroot.url"      value="http://download.java.net/jdk9/docs"/>
177    <!-- Default jdk doc location (latest stable release seems best) -->    <!-- Default jdk doc location (latest stable release seems best) -->
178    <property name="java.docroot.url"       value="${java7.docroot.url}"/>    <property name="java.docroot.url"       value="${java8.docroot.url}"/>
179    
180    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
181    <property name="java5.api.url"      value="${java5.docroot.url}/api/"/>    <property name="java5.api.url"      value="${java5.docroot.url}/api/"/>
# Line 195  Line 202 
202      <attribute name="compile-target" default="@{target}"/>      <attribute name="compile-target" default="@{target}"/>
203      <attribute name="workdir"/>      <attribute name="workdir"/>
204      <attribute name="classes"/>      <attribute name="classes"/>
205      <attribute name="jvmflags" default=""/>      <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
206      <element name="javac-elements" optional="true"/>      <element name="javac-elements" optional="true"/>
207      <sequential>      <sequential>
208    
# Line 209  Line 216 
216             source="@{compile-target}"             source="@{compile-target}"
217             target="@{compile-target}"             target="@{compile-target}"
218             classpath="${junit.jar}"             classpath="${junit.jar}"
            bootclasspath="@{classes}:${bootclasspath@{compile-target}}"  
219             includeAntRuntime="false"             includeAntRuntime="false"
220             includeJavaRuntime="false"             includeJavaRuntime="false"
221             executable="${javac@{compile-target}}"             executable="${javac@{compile-target}}"
# Line 218  Line 224 
224        <include name="*.java"/>        <include name="*.java"/>
225        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
226        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
227          <compilerarg value="-Xbootclasspath/p:@{classes}"/>
228        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
229        <javac-elements/>        <javac-elements/>
230    
# Line 229  Line 236 
236            fork="true">            fork="true">
237          <jvmarg value="-Xbootclasspath/p:@{classes}"/>          <jvmarg value="-Xbootclasspath/p:@{classes}"/>
238          <jvmarg line="@{jvmflags}"/>          <jvmarg line="@{jvmflags}"/>
239    
240            <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
241            <syspropertyset id="java.util.concurrent.ForkJoinPool-properties">
242              <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
243            </syspropertyset>
244    
245          <sysproperty key="jsr166.profileTests"     value="${jsr166.profileTests}"/>          <sysproperty key="jsr166.profileTests"     value="${jsr166.profileTests}"/>
246          <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>          <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>
247          <sysproperty key="jsr166.runsPerTest"      value="${jsr166.runsPerTest}"/>          <sysproperty key="jsr166.runsPerTest"      value="${jsr166.runsPerTest}"/>
# Line 241  Line 254 
254      </sequential>      </sequential>
255    </macrodef>    </macrodef>
256    
257      <!-- Define jtreg test sets for different jdk versions -->
258      <fileset dir="${jtreg9.src.dir}">
259        <patternset id="jdk9.jtreg.tests">
260          <include name="**/*.java"/>
261        </patternset>
262      </fileset>
263    
264      <fileset dir="${jtreg8.src.dir}">
265        <patternset id="jdk8.jtreg.tests">
266          <include name="**/*.java"/>
267          <exclude name="**/SpliteratorCharacteristics.java"/>
268          <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->
269          <exclude name="**/GCDuringIteration.java"/>
270        </patternset>
271      </fileset>
272    
273      <fileset dir="${jtreg7.src.dir}">
274        <patternset id="jdk7.jtreg.tests">
275          <include name="**/*.java"/>
276        </patternset>
277      </fileset>
278    
279    <macrodef name="run-jtreg-tests">    <macrodef name="run-jtreg-tests">
280      <attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/>      <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
281      <attribute name="source" default="7"/>      <attribute name="source" default="7"/>
282      <attribute name="target"/>      <attribute name="target"/>
283      <attribute name="workdir"/>      <attribute name="workdir"/>
# Line 253  Line 288 
288      <delete dir="@{workdir}/JTreport" quiet="true"/>      <delete dir="@{workdir}/JTreport" quiet="true"/>
289      <mkdir dir="@{workdir}/JTwork/scratch"/>      <mkdir dir="@{workdir}/JTwork/scratch"/>
290      <mkdir dir="@{workdir}/JTreport"/>      <mkdir dir="@{workdir}/JTreport"/>
291      <jtreg dir="@{jtreg.src.dir}"      <jtreg dir="${jtreg@{target}.src.dir}"
292             jdk="${jdk@{target}.home}"             jdk="${jdk@{target}.home}"
293             workDir="@{workdir}/JTwork"             workDir="@{workdir}/JTwork"
294             reportDir="@{workdir}/JTreport">             reportDir="@{workdir}/JTreport">
295          <patternset refid="jdk@{target}.jtreg.tests"/>
296        <arg value="-Xbootclasspath/p:@{classes}"/>        <arg value="-Xbootclasspath/p:@{classes}"/>
297        <arg value="-agentvm"/>        <arg value="-agentvm"/>
298        <arg value="-v:nopass,fail"/>        <arg value="-v:nopass,fail"/>
# Line 308  Line 343 
343        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
344        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
345        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
346          <compilerarg value="-Werror"/>
347        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected"/>
348        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
349        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 411  Line 447 
447      <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>      <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
448    </target>    </target>
449    
450      <target name="tck"
   <target name="test-tck"  
451            depends="jar"            depends="jar"
452            description="Runs tck tests for main directly">            description="Runs tck tests for main directly">
453    
# Line 422  Line 457 
457        classes="${product.jar}"/>        classes="${product.jar}"/>
458    </target>    </target>
459    
460    <target name="test-jtreg"    <target name="tck-parallelism-1"
461              description="Runs tck with given common pool parallelism">
462        <antcall target="tck">
463          <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
464        </antcall>
465      </target>
466    
467      <target name="tck-parallelism-0"
468              description="Runs tck with given common pool parallelism">
469        <antcall target="tck">
470          <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
471        </antcall>
472      </target>
473    
474      <target name="jtreg"
475            depends="jar"            depends="jar"
476            description="Runs jtreg tests for main using the jtreg ant task">            description="Runs jtreg tests for main using the jtreg ant task">
477      <run-jtreg-tests      <run-jtreg-tests
# Line 432  Line 481 
481    </target>    </target>
482    
483    <target name="test"    <target name="test"
484            depends="test-tck, test-jtreg"            depends="tck, tck-parallelism-1, jtreg"
485            description="Runs tck and jtreg tests for main">            description="Runs tck and jtreg tests for main">
486    </target>    </target>
487    
488      <target name="jtreg8" description="Runs jtreg tests with jdk8">
489    
490        <antcall target="jtreg">
491          <param name="build.main.java.version" value="8"/>
492          <param name="build.main.javac" value="${javac8}"/>
493        </antcall>
494    
495      </target>
496    
497    <target name="test89"    <target name="test89"
498            description="Runs tck and jtreg tests for main for multiple java versions">            description="Runs tck and jtreg tests for main for multiple java versions">
499    
# Line 502  Line 560 
560    </target>    </target>
561    
562    
563      <target name="compile-test-loops" depends="jar"
564              description="compile all the perf tests in src/test/loops">
565    
566        <mkdir dir="${build.dir}/test/loops"/>
567    
568        <javac srcdir="${basedir}/src/test/loops"
569               destdir="${build.dir}/test/loops"
570               debug="${build.debug}"
571               debuglevel="${build.debuglevel}"
572               deprecation="${build.deprecation}"
573               includeAntRuntime="false"
574               includeJavaRuntime="false"
575               executable="${javac9}"
576               fork="true">
577    
578          <include name="*.java"/>
579          <compilerarg value="-XDignore.symbol.file=true"/>
580          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
581          <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
582          <compilerarg line="${build.args}"/>
583    
584        </javac>
585    
586      </target>
587    
588    
589    <!-- jsr166 4jdk7 -->    <!-- jsr166 4jdk7 -->
590    
591    <target name="4jdk7compile"    <target name="4jdk7compile"
# Line 527  Line 611 
611        <compilerarg value="-Xprefer:source"/>        <compilerarg value="-Xprefer:source"/>
612        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
613        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
614          <compilerarg value="-Werror"/>
615        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
616    
617      </javac>      </javac>
# Line 573  Line 658 
658    </target>    </target>
659    
660    
661    <target name="4jdk7-test-tck"    <target name="4jdk7-tck"
662            depends="4jdk7jar"            depends="4jdk7jar"
663            description="Runs tck tests for jsr166-4jdk7 directly">            description="Runs tck tests for jsr166-4jdk7 directly">
664    
# Line 597  Line 682 
682    </target>    </target>
683    
684    
685    <target name="4jdk7-test-tck-junit"    <target name="4jdk7-tck-junit"
686            depends="4jdk7compile"            depends="4jdk7compile"
687            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
688    
# Line 625  Line 710 
710      </junit>      </junit>
711    </target>    </target>
712    
713    <target name="4jdk7-test-jtreg"    <target name="4jdk7-jtreg"
714            depends="4jdk7jar"            depends="4jdk7jar"
715            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
716      <run-jtreg-tests      <run-jtreg-tests
717         target="7"         target="7"
718         workdir="${build.4jdk7.dir}"         workdir="${build.4jdk7.dir}"
719         classes="${4jdk7product.jar}"         classes="${4jdk7product.jar}"/>
        jtregflags="-exclude:${jtreg.src.dir}/jdk8tests"/>  
720    </target>    </target>
721    
722    
723    <target name="4jdk7-test"    <target name="4jdk7-test"
724            depends="4jdk7-test-tck, 4jdk7-test-jtreg"            depends="4jdk7-tck, 4jdk7-jtreg"
725            description="Runs tck and jtreg tests for jsr166-4jdk7">            description="Runs tck and jtreg tests for jsr166-4jdk7">
726    </target>    </target>
727    
# Line 714  Line 798 
798        <include name="jsr166x/**/*.java"/>        <include name="jsr166x/**/*.java"/>
799        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
800        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
801          <compilerarg value="-Werror"/>
802        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
803    
804      </javac>      </javac>
# Line 800  Line 885 
885        <include name="jsr166y/**/*.java"/>        <include name="jsr166y/**/*.java"/>
886        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
887        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
888          <compilerarg value="-Werror"/>
889        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
890    
891      </javac>      </javac>
# Line 887  Line 973 
973        <include name="extra166y/**/*.java"/>        <include name="extra166y/**/*.java"/>
974        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
975        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
976          <compilerarg value="-Werror"/>
977        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
978    
979      </javac>      </javac>
# Line 974  Line 1061 
1061        <include name="jsr166e/**/*.java"/>        <include name="jsr166e/**/*.java"/>
1062        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1063        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1064          <compilerarg value="-Werror"/>
1065        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
1066    
1067      </javac>      </javac>
# Line 1000  Line 1088 
1088        <include name="jsr166e/**/*.java"/>        <include name="jsr166e/**/*.java"/>
1089        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
1090        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
1091          <compilerarg value="-Werror"/>
1092        <compilerarg value="-Xdoclint:all/protected"/>        <compilerarg value="-Xdoclint:all/protected"/>
1093    
1094      </javac>      </javac>
# Line 1037  Line 1126 
1126    </target>    </target>
1127    
1128    
1129    <target name="jsr166e-test-tck-one-java-version"    <target name="jsr166e-tck-one-java-version"
1130            depends="jsr166ejar">            depends="jsr166ejar">
1131    
1132      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>      <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
# Line 1049  Line 1138 
1138        classes="${jsr166e.jar}"/>        classes="${jsr166e.jar}"/>
1139    </target>    </target>
1140    
1141    <target name="jsr166e-test-tck"    <target name="jsr166e-tck"
1142            description="Runs tck tests for jsr166e for multiple java versions">            description="Runs tck tests for jsr166e for multiple java versions">
1143    
1144  <!--     <antcall target="clean"/> -->  <!--     <antcall target="clean"/> -->
1145  <!--     <antcall target="jsr166e-test-tck-one-java-version"> -->  <!--     <antcall target="jsr166e-tck-one-java-version"> -->
1146  <!--       <param name="build.jsr166e.java.version" value="8"/> -->  <!--       <param name="build.jsr166e.java.version" value="8"/> -->
1147  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->  <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->
1148  <!--     </antcall> -->  <!--     </antcall> -->
1149    
1150      <antcall target="clean"/>      <antcall target="clean"/>
1151      <antcall target="jsr166e-test-tck-one-java-version">      <antcall target="jsr166e-tck-one-java-version">
1152        <param name="build.jsr166e.java.version" value="7"/>        <param name="build.jsr166e.java.version" value="7"/>
1153        <param name="build.jsr166e.javac" value="${javac7}"/>        <param name="build.jsr166e.javac" value="${javac7}"/>
1154      </antcall>      </antcall>
1155    
1156      <antcall target="clean"/>      <antcall target="clean"/>
1157      <antcall target="jsr166e-test-tck-one-java-version">      <antcall target="jsr166e-tck-one-java-version">
1158        <param name="build.jsr166e.java.version" value="6"/>        <param name="build.jsr166e.java.version" value="6"/>
1159        <param name="build.jsr166e.javac" value="${javac6}"/>        <param name="build.jsr166e.javac" value="${javac6}"/>
1160      </antcall>      </antcall>
# Line 1073  Line 1162 
1162    
1163    
1164    <target name="jsr166e-test"    <target name="jsr166e-test"
1165            depends="jsr166e-test-tck"            depends="jsr166e-tck"
1166            description="Runs all tests for jsr166e">            description="Runs all tests for jsr166e">
1167    </target>    </target>
1168    
# Line 1103  Line 1192 
1192    
1193    <target name="lint">    <target name="lint">
1194      <antcall target="dists">      <antcall target="dists">
1195          <param name="build.javadoc.access" value="public"/>
1196        </antcall>
1197      </target>
1198    
1199    <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1200      <target name="lint-private">
1201        <antcall target="dist">
1202        <param name="build.javadoc.access" value="private"/>        <param name="build.javadoc.access" value="private"/>
1203      </antcall>      </antcall>
1204    </target>    </target>

Legend:
Removed from v.1.152  
changed lines
  Added in v.1.175

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