ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
(Generate patch)

Comparing jsr166/build.xml (file contents):
Revision 1.143 by dl, Wed Jul 10 17:09:45 2013 UTC vs.
Revision 1.157 by jsr166, Tue Jul 8 00:01:39 2014 UTC

# Line 16 | Line 16
16    $HOME/jdk/jdk6
17    $HOME/jdk/jdk7
18    $HOME/jdk/jdk8
19 +  $HOME/jdk/jdk9
20    where each of the above is a JDK or a symlink to same, and
21    $HOME/jdk/src/jdk6
22    $HOME/jdk/src/jdk7
23    $HOME/jdk/src/jdk8
24 +  $HOME/jdk/src/jdk9
25    where each of the above is a complete JDK source tree
26    (e.g. mercurial forest) or a symlink to same.
25 As of 2013-02, the very latest lambda 8 jdk is needed for jdk8.
27   ------------------------------------------------------------------------------
28    </description>
29  
30 <  <target name="usage" description="Display main targets by running 'ant -projecthelp'">
30 >  <!-- Display main targets by running 'ant -projecthelp' -->
31 >  <target name="usage">
32      <java classname="org.apache.tools.ant.Main">
33        <arg value="-projecthelp" />
34      </java>
# Line 44 | Line 46 | As of 2013-02, the very latest lambda 8
46    <property name="build.deprecation"    value="false"/>
47    <property name="build.javadoc.access" value="protected"/>
48  
49 <  <!-- Tck options; see JSR166TestCase.java -->
50 <  <!-- ant -Djsr166.profileTests=true -Djsr166.runsPerTest=100 test-tck -->
49 >  <!-- Tck options; see JSR166TestCase.java
50 >   Profiling a tck test class:
51 >   ant -Djsr166.profileTests=true -Djsr166.profileThreshold=100 -Djsr166.tckTestClass=CompletableFutureTest test-tck
52 >   Stress test a tck test class:
53 >   ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck
54 >  -->
55    <property name="jsr166.profileTests"     value="false"/>
56    <property name="jsr166.profileThreshold" value="100"/>
57    <property name="jsr166.runsPerTest"      value="1"/>
58 <  <!-- Allow running an individual tck test class -->
59 <  <!-- ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck -->
58 >  <!-- Stress test an individual tck test class:
59 >  ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck
60 >  -->
61    <property name="jsr166.tckTestClass"     value="JSR166TestCase"/>
62  
63    <!-- Build locations -->
# Line 114 | Line 121 | As of 2013-02, the very latest lambda 8
121    <defjdklocations v="6"/>
122    <defjdklocations v="7"/>
123    <defjdklocations v="8"/>
124 +  <defjdklocations v="9"/>
125  
126    <!-- Source locations -->
127    <property name="src.dir"              location="${basedir}/src/main"/>
# Line 154 | Line 162 | As of 2013-02, the very latest lambda 8
162    <property name="extra166y.jar"    location="${build.extra166y.dir}/extra166y.jar"/>
163    <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
164  
165 <  <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
166 <  <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
167 <  <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
168 <  <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>
169 <
170 <  <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
171 <  <!-- The below does not yet exist as of 2013-01 -->
172 <  <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
165 >  <!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag -->
166 >  <property name="java5.docroot.url"      value="http://docs.oracle.com/javase/1.5.0/docs"/>
167 >  <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>
168 >  <property name="java7.docroot.url"      value="http://docs.oracle.com/javase/7/docs"/>
169 >  <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>
170 >  <!-- The expected canonical location does not yet exist as of 2014-07 -->
171 >  <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
172 >  <property name="java9.docroot.url"      value="http://download.java.net/jdk9/docs"/>
173 >  <!-- Default jdk doc location (latest stable release seems best) -->
174 >  <property name="java.docroot.url"       value="${java8.docroot.url}"/>
175  
176 <  <!-- Default jdk api doc location (latest stable release seems best) -->
177 <  <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
176 >  <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
177 >  <property name="java5.api.url"      value="${java5.docroot.url}/api/"/>
178 >  <property name="java6.api.url"      value="${java6.docroot.url}/api/"/>
179 >  <property name="java7.api.url"      value="${java7.docroot.url}/api/"/>
180 >  <property name="java8.api.url"      value="${java8.docroot.url}/api/"/>
181 >  <property name="java9.api.url"      value="${java9.docroot.url}/api/"/>
182 >  <property name="java.api.url"       value="${java.docroot.url}/api/"/>
183  
184    <!-- Define the "jtreg" task -->
185    <!-- See the docs in "jtreg -onlineHelp" -->
# Line 183 | Line 198 | As of 2013-02, the very latest lambda 8
198      <attribute name="compile-target" default="@{target}"/>
199      <attribute name="workdir"/>
200      <attribute name="classes"/>
201 <    <attribute name="jvmflags" default=""/>
201 >    <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
202      <element name="javac-elements" optional="true"/>
203      <sequential>
204  
# Line 230 | Line 245 | As of 2013-02, the very latest lambda 8
245    </macrodef>
246  
247    <macrodef name="run-jtreg-tests">
248 +    <!-- ant -Djtreg.src.dir=src/test/jtreg/util/concurrent/CompletableFuture test-jtreg -->
249      <attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/>
250      <attribute name="source" default="7"/>
251      <attribute name="target"/>
# Line 268 | Line 284 | As of 2013-02, the very latest lambda 8
284  
285    <!-- Main targets -->
286  
287 +  <property name="build.main.java.version" value="9"/>
288 +  <property name="build.main.javac" value="${javac9}"/>
289 +
290    <target name="dists"
291            depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
292            description="Builds all public jars and docs"/>
# Line 286 | Line 305 | As of 2013-02, the very latest lambda 8
305             classpath=""
306             includeAntRuntime="false"
307             includeJavaRuntime="false"
308 <           executable="${javac8}"
308 >           executable="${build.main.javac}"
309             fork="true">
310  
311        <include name="**/*.java"/>
312        <compilerarg value="-Xprefer:source"/>
313        <compilerarg value="-XDignore.symbol.file=true"/>
314        <compilerarg value="-Xlint:all"/>
315 +      <compilerarg value="-Xdoclint:all/protected"/>
316 +      <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
317        <compilerarg line="${build.args}"/>
318  
319      </javac>
# Line 320 | Line 341 | As of 2013-02, the very latest lambda 8
341  
342      <javadoc destdir="${docs.dir}"
343               packagenames="none"
344 <             link="${jdkapi8docs.url}"
344 >             link="${java9.api.url}"
345               overview="${src.dir}/intro.html"
346               access="${build.javadoc.access}"
347 <             sourcepath="${src.dir}:${jdk8src.dir}"
347 >             sourcepath="${src.dir}:${jdk9src.dir}"
348               classpath=""
349 <             executable="${javadoc8}">
349 >             executable="${javadoc9}">
350        <fileset dir="${src.dir}" defaultexcludes="yes">
351          <include name="**/*.java"/>
352        </fileset>
353 +      <arg line="-Xdocrootparent ${java9.docroot.url}"/>
354 +      <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
355        <arg value="-XDignore.symbol.file=true"/>
356        <arg value="-tag"/>
357        <arg value="${javadoc.jls.option}"/>
# Line 337 | Line 360 | As of 2013-02, the very latest lambda 8
360        <arg value="-tag"/>
361        <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
362        <arg value="-tag"/>
363 <      <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
363 >      <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
364      </javadoc>
365    </target>
366  
# Line 376 | Line 399 | As of 2013-02, the very latest lambda 8
399    <target name="dist-clean"
400            description="Removes all build and distribution products">
401  
402 +    <delete dir="${build.dir}"/>
403      <delete dir="${dist.dir}"/>
404  
405    </target>
# Line 397 | Line 421 | As of 2013-02, the very latest lambda 8
421            description="Runs tck tests for main directly">
422  
423      <run-tck-tests
424 <      target="8"
424 >      target="${build.main.java.version}"
425        workdir="${build.dir}"
426        classes="${product.jar}"/>
427    </target>
# Line 406 | Line 430 | As of 2013-02, the very latest lambda 8
430            depends="jar"
431            description="Runs jtreg tests for main using the jtreg ant task">
432      <run-jtreg-tests
433 <       target="8"
433 >       target="${build.main.java.version}"
434         workdir="${build.dir}"
435         classes="${product.jar}"/>
436    </target>
# Line 416 | Line 440 | As of 2013-02, the very latest lambda 8
440            description="Runs tck and jtreg tests for main">
441    </target>
442  
443 +  <target name="test89"
444 +          description="Runs tck and jtreg tests for main for multiple java versions">
445 +
446 +    <antcall target="clean"/>
447 +    <antcall target="test">
448 +      <param name="build.main.java.version" value="8"/>
449 +      <param name="build.main.javac" value="${javac8}"/>
450 +    </antcall>
451 +
452 +    <antcall target="clean"/>
453 +    <antcall target="test">
454 +      <param name="build.main.java.version" value="9"/>
455 +      <param name="build.main.javac" value="${javac9}"/>
456 +    </antcall>
457 +
458 +  </target>
459 +
460  
461  
462    <target name="configure-compiler">
# Line 495 | Line 536 | As of 2013-02, the very latest lambda 8
536      </javac>
537    </target>
538  
539 +  <target name="4jdk7doclint"
540 +          depends="configure-compiler"
541 +          description="Finds doclint warnings">
542 +
543 +    <mkdir dir="${build.4jdk7.classes.dir}"/>
544 +
545 +    <javac srcdir="${4jdk7src.dir}"
546 +           destdir="${build.4jdk7.classes.dir}"
547 +           debug="${build.debug}"
548 +           debuglevel="${build.debuglevel}"
549 +           deprecation="${build.deprecation}"
550 +           source="6"
551 +           classpath=""
552 +           bootclasspath="${bootclasspath7}"
553 +           includeAntRuntime="false"
554 +           includeJavaRuntime="false"
555 +           executable="${javac8}"
556 +           fork="true">
557 +
558 +      <include name="**/*.java"/>
559 +      <compilerarg value="-Xprefer:source"/>
560 +      <compilerarg value="-XDignore.symbol.file=true"/>
561 +      <compilerarg value="-Xlint:all"/>
562 +      <compilerarg value="-Xdoclint:all/protected"/>
563 +      <compilerarg line="${build.args}"/>
564 +
565 +    </javac>
566 +  </target>
567 +
568  
569    <target name="4jdk7jar"
570            depends="4jdk7compile"
# Line 518 | Line 588 | As of 2013-02, the very latest lambda 8
588        <javac-elements>
589          <!-- JDK8+ test classes -->
590          <exclude name="*8Test.java"/>
591 +        <exclude name="*9Test.java"/>
592          <exclude name="DoubleAccumulatorTest.java"/>
593          <exclude name="DoubleAdderTest.java"/>
594          <exclude name="LongAccumulatorTest.java"/>
595          <exclude name="LongAdderTest.java"/>
596          <exclude name="CompletableFutureTest.java"/>
597 +        <exclude name="SplittableRandomTest.java"/>
598          <exclude name="StampedLockTest.java"/>
599        </javac-elements>
600      </run-tck-tests>
# Line 582 | Line 654 | As of 2013-02, the very latest lambda 8
654  
655      <javadoc destdir="${4jdk7docs.dir}"
656               packagenames="none"
657 <             link="${jdkapi7docs.url}"
657 >             link="${java7.api.url}"
658               overview="${4jdk7src.dir}/intro.html"
659               access="${build.javadoc.access}"
660               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
# Line 591 | Line 663 | As of 2013-02, the very latest lambda 8
663        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
664          <include name="**/*.java"/>
665        </fileset>
666 +      <arg line="-Xdocrootparent ${java7.docroot.url}"/>
667        <arg value="-XDignore.symbol.file=true"/>
668      </javadoc>
669    </target>
# Line 609 | Line 682 | As of 2013-02, the very latest lambda 8
682    </target>
683  
684  
612  <target name="4jdk7dist-clean"
613          description="Removes all build and distribution products">
614
615  </target>
616
685    <target name="4jdk7dist-jar"
686            depends="4jdk7clean, 4jdk7jar">
687      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
# Line 675 | Line 743 | As of 2013-02, the very latest lambda 8
743  
744      <javadoc destdir="${jsr166xdocs.dir}"
745               packagenames="jsr166x.*"
746 <             link="${jdkapidocs.url}"
746 >             link="${java.api.url}"
747               access="${build.javadoc.access}"
748               sourcepath="${topsrc.dir}:${jdk6src.dir}"
749               bootclasspath="${bootclasspath6}"
750               source="5"
751               executable="${javadoc7}">
752 +      <arg line="-Xdocrootparent ${java.docroot.url}"/>
753        <arg value="-XDignore.symbol.file=true"/>
754  
755      </javadoc>
# Line 700 | Line 769 | As of 2013-02, the very latest lambda 8
769    </target>
770  
771  
703  <target name="jsr166xdist-clean"
704          description="Removes all build and distribution products">
705
706  </target>
707
708
772    <target name="jsr166xdist-jar"
773            depends="jsr166xclean, jsr166xjar">
774      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
# Line 766 | Line 829 | As of 2013-02, the very latest lambda 8
829  
830      <javadoc destdir="${jsr166ydocs.dir}"
831               packagenames="jsr166y.*"
832 <             link="${jdkapidocs.url}"
832 >             link="${java.api.url}"
833               access="${build.javadoc.access}"
834               sourcepath="${topsrc.dir}:${jdk6src.dir}"
835               bootclasspath="${bootclasspath6}"
836               source="6"
837               executable="${javadoc7}">
838 +      <arg line="-Xdocrootparent ${java.docroot.url}"/>
839        <arg value="-XDignore.symbol.file=true"/>
840  
841      </javadoc>
# Line 791 | Line 855 | As of 2013-02, the very latest lambda 8
855    </target>
856  
857  
794  <target name="jsr166ydist-clean"
795          description="Removes all build and distribution products">
796
797  </target>
798
858    <target name="jsr166ydist-jar"
859            depends="jsr166yclean, jsr166yjar">
860      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
# Line 857 | Line 916 | As of 2013-02, the very latest lambda 8
916  
917      <javadoc destdir="${extra166ydocs.dir}"
918               packagenames="extra166y.*"
919 <             link="${jdkapidocs.url}"
919 >             link="${java.api.url}"
920               access="${build.javadoc.access}"
921               sourcepath="${topsrc.dir}:${jdk6src.dir}"
922               bootclasspath="${bootclasspath6}"
923               source="6"
924               executable="${javadoc7}">
925 +      <arg line="-Xdocrootparent ${java.docroot.url}"/>
926        <arg value="-XDignore.symbol.file=true"/>
927  
928      </javadoc>
# Line 882 | Line 942 | As of 2013-02, the very latest lambda 8
942    </target>
943  
944  
885  <target name="extra166ydist-clean"
886          description="Removes all build and distribution products">
887
888  </target>
889
945    <target name="extra166ydist-jar"
946            depends="extra166yclean, extra166yjar">
947      <copy file="${extra166y.jar}" todir="${dist.dir}"/>
# Line 899 | Line 954 | As of 2013-02, the very latest lambda 8
954  
955    <!-- jsr166e -->
956  
957 +  <property name="build.jsr166e.java.version" value="6"/>
958 +  <property name="build.jsr166e.javac" value="${javac6}"/>
959 +
960    <target name="jsr166ecompile"
961            depends="configure-compiler"
962            description="Compiles jsr166e sources">
# Line 910 | Line 968 | As of 2013-02, the very latest lambda 8
968             debug="${build.debug}"
969             debuglevel="${build.debuglevel}"
970             deprecation="${build.deprecation}"
971 <           source="7"
971 >           source="${build.jsr166e.java.version}"
972             classpath=""
973             includeAntRuntime="false"
974             includeJavaRuntime="false"
975 <           executable="${javac7}"
975 >           executable="${build.jsr166e.javac}"
976             fork="true">
977  
978        <include name="jsr166e/**/*.java"/>
# Line 925 | Line 983 | As of 2013-02, the very latest lambda 8
983      </javac>
984    </target>
985  
986 +  <!-- jsr166e: find doclint errors -->
987 +  <target name="jsr166edoclint">
988 +
989 +    <mkdir dir="${build.jsr166e.classes.dir}"/>
990 +
991 +    <javac srcdir="${topsrc.dir}"
992 +           destdir="${build.jsr166e.classes.dir}"
993 +           debug="${build.debug}"
994 +           debuglevel="${build.debuglevel}"
995 +           deprecation="${build.deprecation}"
996 +           source="${build.jsr166e.java.version}"
997 +           classpath=""
998 +           bootclasspath="${bootclasspath7}"
999 +           includeAntRuntime="false"
1000 +           includeJavaRuntime="false"
1001 +           executable="${javac8}"
1002 +           fork="true">
1003 +
1004 +      <include name="jsr166e/**/*.java"/>
1005 +      <compilerarg value="-XDignore.symbol.file=true"/>
1006 +      <compilerarg value="-Xlint:all"/>
1007 +      <compilerarg value="-Xdoclint:all/protected"/>
1008 +
1009 +    </javac>
1010 +  </target>
1011 +
1012  
1013    <target name="jsr166ejar"
1014            depends="jsr166ecompile"
# Line 945 | Line 1029 | As of 2013-02, the very latest lambda 8
1029  
1030      <javadoc destdir="${jsr166edocs.dir}"
1031               packagenames="jsr166e.*"
1032 <             link="${jdkapidocs.url}"
1032 >             link="${java.api.url}"
1033               access="${build.javadoc.access}"
1034 <             sourcepath="${topsrc.dir}:${jdk7src.dir}"
1035 <             source="7"
1034 >             sourcepath="${topsrc.dir}:${jdk6src.dir}"
1035 >             source="${build.jsr166e.java.version}"
1036               executable="${javadoc7}">
1037 +      <arg line="-Xdocrootparent ${java.docroot.url}"/>
1038        <arg value="-XDignore.symbol.file=true"/>
1039  
1040      </javadoc>
1041    </target>
1042  
1043  
1044 <  <target name="jsr166e-test-tck"
1045 <          depends="jsr166ejar"
1046 <          description="Runs tck tests for jsr166e">
1044 >  <target name="jsr166e-test-tck-one-java-version"
1045 >          depends="jsr166ejar">
1046 >
1047 >    <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1048  
1049      <run-tck-tests
1050        tck.src.dir="${test.src.dir}/tck-jsr166e"
1051 <      target="7"
1051 >      target="${build.jsr166e.java.version}"
1052        workdir="${build.jsr166e.dir}"
1053        classes="${jsr166e.jar}"/>
1054    </target>
1055  
1056 +  <target name="jsr166e-test-tck"
1057 +          description="Runs tck tests for jsr166e for multiple java versions">
1058 +
1059 + <!--     <antcall target="clean"/> -->
1060 + <!--     <antcall target="jsr166e-test-tck-one-java-version"> -->
1061 + <!--       <param name="build.jsr166e.java.version" value="8"/> -->
1062 + <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->
1063 + <!--     </antcall> -->
1064 +
1065 +    <antcall target="clean"/>
1066 +    <antcall target="jsr166e-test-tck-one-java-version">
1067 +      <param name="build.jsr166e.java.version" value="7"/>
1068 +      <param name="build.jsr166e.javac" value="${javac7}"/>
1069 +    </antcall>
1070 +
1071 +    <antcall target="clean"/>
1072 +    <antcall target="jsr166e-test-tck-one-java-version">
1073 +      <param name="build.jsr166e.java.version" value="6"/>
1074 +      <param name="build.jsr166e.javac" value="${javac6}"/>
1075 +    </antcall>
1076 +  </target>
1077 +
1078 +
1079 +  <target name="jsr166e-test"
1080 +          depends="jsr166e-test-tck"
1081 +          description="Runs all tests for jsr166e">
1082 +  </target>
1083  
1084    <target name="jsr166edist"
1085            depends="jsr166edist-jar, jsr166edist-docs"
# Line 979 | Line 1092 | As of 2013-02, the very latest lambda 8
1092    </target>
1093  
1094  
982  <target name="jsr166edist-clean"
983          description="Removes all build and distribution products">
984
985  </target>
986
1095    <target name="jsr166edist-jar"
1096            depends="jsr166eclean, jsr166ejar">
1097      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines