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.148 by jsr166, Sat Jul 20 18:26:16 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  
# Line 45 | 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 115 | 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 155 | 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 184 | 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 231 | 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 269 | 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 287 | 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"/>
# Line 323 | 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"/>
# Line 402 | 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 411 | 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 421 | 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 500 | 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 523 | 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"/>
# Line 588 | 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 597 | 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 676 | 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 761 | 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 847 | 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 913 | 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 933 | 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}:${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>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines