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

Diff of /jsr166/build.xml

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

revision 1.199 by jsr166, Fri Mar 25 03:36:15 2016 UTC revision 1.206 by jsr166, Sun Mar 27 19:38:01 2016 UTC
# Line 7  Line 7 
7    
8    Usage: ant [target]    Usage: ant [target]
9    
10      See http://gee.cs.oswego.edu/dl/concurrency-interest/index.html for
11      more details.
12    
13    User-specific settings are read from user.properties.    User-specific settings are read from user.properties.
14    See user.properties.sample for an explanation of some useful settings.    See user.properties.sample for an explanation of some useful settings.
15    
# Line 30  Line 33 
33    ant -Djdk$N.home=... -Djdk$N.src.home=...    ant -Djdk$N.home=... -Djdk$N.src.home=...
34    for $N in 6 7 8 9 ...    for $N in 6 7 8 9 ...
35    
36    As of 2015-09, there is incomplete hacky support for jigsaw    As of 2016-03, the sources in src/main are for jdk9+ only.  The "docs"
37    Build for jigsaw using something like:    target is currently broken.
   ant -Djdk9.home="$HOME/jdk/jigsaw" -Djdk9.src.home="$HOME/jdk/src/jigsaw" clean test dist  
   "docs" target is still broken.  
38  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
39    </description>    </description>
40    
# Line 69  Line 70 
70    <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>    <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
71    <property name="build.4jdk7.docs.dir"        location="${build.4jdk7.dir}/docs"/>    <property name="build.4jdk7.docs.dir"        location="${build.4jdk7.dir}/docs"/>
72    
73      <property name="build.4jdk8.dir"             location="${build.dir}/jsr166-4jdk8"/>
74      <property name="build.4jdk8.classes.dir"     location="${build.4jdk8.dir}/classes"/>
75      <property name="build.4jdk8.tck.classes.dir" location="${build.4jdk8.dir}/tck-classes"/>
76      <property name="build.4jdk8.docs.dir"        location="${build.4jdk8.dir}/docs"/>
77    
78    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
79    <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>    <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>
80    <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>    <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>
# Line 135  Line 141 
141    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
142    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
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"/>    <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="jtreg.src.dir"        location="${jtreg9.src.dir}"/>    <property name="jtreg.src.dir"        location="${jtreg9.src.dir}"/>
147    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
148    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
149    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
150    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
151      <property name="4jdk8src.dir"         location="${topsrc.dir}/jdk8"/>
152    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
153    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>    <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
154    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
# Line 150  Line 157 
157    <!-- Javadoc locations -->    <!-- Javadoc locations -->
158    <property name="docs.dir"          location="${build.dir}/docs"/>    <property name="docs.dir"          location="${build.dir}/docs"/>
159    <property name="4jdk7docs.dir"     location="${build.4jdk7.dir}/docs"/>    <property name="4jdk7docs.dir"     location="${build.4jdk7.dir}/docs"/>
160      <property name="4jdk8docs.dir"     location="${build.4jdk8.dir}/docs"/>
161    <property name="jsr166xdocs.dir"   location="${build.jsr166x.dir}/docs"/>    <property name="jsr166xdocs.dir"   location="${build.jsr166x.dir}/docs"/>
162    <property name="jsr166ydocs.dir"   location="${build.jsr166y.dir}/docs"/>    <property name="jsr166ydocs.dir"   location="${build.jsr166y.dir}/docs"/>
163    <property name="jsr166edocs.dir"   location="${build.jsr166e.dir}/docs"/>    <property name="jsr166edocs.dir"   location="${build.jsr166e.dir}/docs"/>
# Line 157  Line 165 
165    
166    <property name="dist.docs.dir"          location="${dist.dir}/docs"/>    <property name="dist.docs.dir"          location="${dist.dir}/docs"/>
167    <property name="dist.4jdk7docs.dir"     location="${dist.dir}/jsr166-4jdk7docs"/>    <property name="dist.4jdk7docs.dir"     location="${dist.dir}/jsr166-4jdk7docs"/>
168      <property name="dist.4jdk8docs.dir"     location="${dist.dir}/jsr166-4jdk8docs"/>
169    <property name="dist.jsr166xdocs.dir"   location="${dist.dir}/jsr166xdocs"/>    <property name="dist.jsr166xdocs.dir"   location="${dist.dir}/jsr166xdocs"/>
170    <property name="dist.jsr166ydocs.dir"   location="${dist.dir}/jsr166ydocs"/>    <property name="dist.jsr166ydocs.dir"   location="${dist.dir}/jsr166ydocs"/>
171    <property name="dist.jsr166edocs.dir"   location="${dist.dir}/jsr166edocs"/>    <property name="dist.jsr166edocs.dir"   location="${dist.dir}/jsr166edocs"/>
# Line 165  Line 174 
174    <!-- Jar locations -->    <!-- Jar locations -->
175    <property name="product.jar"      location="${build.dir}/jsr166.jar"/>    <property name="product.jar"      location="${build.dir}/jsr166.jar"/>
176    <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>    <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
177      <property name="4jdk8product.jar" location="${build.4jdk8.dir}/jsr166-4jdk8.jar"/>
178    <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>    <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>
179    <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>    <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>
180    <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>    <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>
# Line 176  Line 186 
186    <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"/>
187    <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"/>
188    <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>    <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>
189    <!-- The expected canonical location does not yet exist as of 2015-11 -->    <!-- The expected canonical location does not yet exist as of 2016-03 -->
190    <!-- <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"/> -->
191    <property name="java9.docroot.url"      value="http://download.java.net/jdk9/docs"/>    <property name="java9.docroot.url"      value="http://download.java.net/jdk9/docs"/>
192    <!-- Default jdk doc location (latest stable release seems best) -->    <!-- Default jdk doc location (latest stable release seems best) -->
# Line 210  Line 220 
220      <attribute name="compile-target" default="@{target}"/>      <attribute name="compile-target" default="@{target}"/>
221      <attribute name="workdir"/>      <attribute name="workdir"/>
222      <attribute name="classes"/>      <attribute name="classes"/>
223      <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>      <!--
224            <attribute name="jvmflags" default="-XX:+UseParallelGC -XX:-UseBiasedLocking -ea -esa -Djsr166.testImplementationDetails=true"/>
225        -->
226            <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
227      <element name="javac-elements" optional="true"/>      <element name="javac-elements" optional="true"/>
228    
229      <sequential>      <sequential>
# Line 351  Line 364 
364    <property name="build.main.javac" value="${javac9}"/>    <property name="build.main.javac" value="${javac9}"/>
365    
366    <target name="dists"    <target name="dists"
367            depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"            depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
368            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
369    
370    <target name="compile"    <target name="compile"
# Line 394  Line 407 
407        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
408    
409      </javac>      </javac>
   
     <!-- We need jdk9's Contended annotation, but at compile time only -->  
     <delete file="${destdir}/jdk/internal/vm/annotation/Contended.class"/>  
410    </target>    </target>
411    
412    
413    <target name="jar"    <target name="jar"
414            depends="compile"            depends="compile"
415            description="Builds library jar from compiled sources">            description="Builds library jar for src/main from compiled sources">
416    
417      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
418        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}"/>
# Line 511  Line 521 
521    
522    <target name="tck"    <target name="tck"
523            depends="jar"            depends="jar"
524            description="Runs tck tests for main directly">            description="Runs tck tests for src/main directly">
525    
526      <run-tck-tests      <run-tck-tests
527        target="${build.main.java.version}"        target="${build.main.java.version}"
# Line 535  Line 545 
545    
546    <target name="jtreg"    <target name="jtreg"
547            depends="jar"            depends="jar"
548            description="Runs jtreg tests for main using the jtreg ant task">            description="Runs jtreg tests for src/main using the jtreg ant task">
549      <run-jtreg-tests      <run-jtreg-tests
550         target="${build.main.java.version}"         target="${build.main.java.version}"
551         workdir="${build.dir}"         workdir="${build.dir}"
# Line 544  Line 554 
554    
555    <target name="test"    <target name="test"
556            depends="tck, tck-parallelism-1, jtreg"            depends="tck, tck-parallelism-1, jtreg"
557            description="Runs tck and jtreg tests for main">            description="Runs tck and jtreg tests for src/main">
558    </target>    </target>
559    
560    <target name="jtreg8" description="Runs jtreg tests with jdk8">  <!--   <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
561    
562      <antcall target="jtreg">  <!--     <antcall target="jtreg"> -->
563        <param name="build.main.java.version" value="8"/>  <!--       <param name="build.main.java.version" value="8"/> -->
564        <param name="build.main.javac" value="${javac8}"/>  <!--       <param name="build.main.javac" value="${javac8}"/> -->
565      </antcall>  <!--     </antcall> -->
566    
567    </target>  <!--   </target> -->
568    
569    <target name="test89"  <!--   <target name="test89" -->
570            description="Runs tck and jtreg tests for main for multiple java versions">  <!--           description="Runs tck and jtreg tests for src/main for multiple java versions"> -->
571    
572      <antcall target="clean"/>  <!--     <antcall target="clean"/> -->
573      <antcall target="test">  <!--     <antcall target="test"> -->
574        <param name="build.main.java.version" value="8"/>  <!--       <param name="build.main.java.version" value="8"/> -->
575        <param name="build.main.javac" value="${javac8}"/>  <!--       <param name="build.main.javac" value="${javac8}"/> -->
576      </antcall>  <!--     </antcall> -->
577    
578      <antcall target="clean"/>  <!--     <antcall target="clean"/> -->
579      <antcall target="test">  <!--     <antcall target="test"> -->
580        <param name="build.main.java.version" value="9"/>  <!--       <param name="build.main.java.version" value="9"/> -->
581        <param name="build.main.javac" value="${javac9}"/>  <!--       <param name="build.main.javac" value="${javac9}"/> -->
582      </antcall>  <!--     </antcall> -->
583    
584    </target>  <!--   </target> -->
585    
586    
587    
# Line 601  Line 611 
611    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
612    
613    
614    <target name="loops" depends="configure-compiler"    <!-- description="Benchmark from Doug Lea's AQS paper" -->
615            description="Benchmark from Doug Lea's AQS paper">    <target name="loops" depends="configure-compiler">
616    
617      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
618    
# Line 654  Line 664 
664    </target>    </target>
665    
666    
667      <!-- jsr166 4jdk8 -->
668    
669      <target name="4jdk8compile"
670              depends="configure-compiler"
671              description="Compiles src/jdk8 sources, targeting jdk8">
672    
673        <mkdir dir="${build.4jdk8.classes.dir}"/>
674    
675        <javac srcdir="${4jdk8src.dir}"
676               destdir="${build.4jdk8.classes.dir}"
677               debug="${build.debug}"
678               debuglevel="${build.debuglevel}"
679               deprecation="${build.deprecation}"
680               source="8"
681               target="8"
682               classpath=""
683               bootclasspath="${bootclasspath8}"
684               includeAntRuntime="false"
685               includeJavaRuntime="false"
686               executable="${javac8}"
687               fork="true">
688    
689          <include name="**/*.java"/>
690          <compilerarg value="-Xprefer:source"/>
691          <compilerarg value="-XDignore.symbol.file=true"/>
692          <compilerarg value="-Xlint:all"/>
693          <compilerarg value="-Werror"/>
694          <compilerarg line="${build.args}"/>
695    
696        </javac>
697      </target>
698    
699      <target name="4jdk8doclint"
700              depends="configure-compiler"
701              description="Finds doclint warnings">
702    
703        <mkdir dir="${build.4jdk8.classes.dir}"/>
704    
705        <javac srcdir="${4jdk8src.dir}"
706               destdir="${build.4jdk8.classes.dir}"
707               debug="${build.debug}"
708               debuglevel="${build.debuglevel}"
709               deprecation="${build.deprecation}"
710               source="8"
711               target="8"
712               classpath=""
713               bootclasspath="${bootclasspath8}"
714               includeAntRuntime="false"
715               includeJavaRuntime="false"
716               executable="${javac8}"
717               fork="true">
718    
719          <include name="**/*.java"/>
720          <compilerarg value="-Xprefer:source"/>
721          <compilerarg value="-XDignore.symbol.file=true"/>
722          <compilerarg value="-Xlint:all"/>
723          <compilerarg value="-Xdoclint:all/protected"/>
724          <compilerarg line="${build.args}"/>
725    
726        </javac>
727      </target>
728    
729    
730      <target name="4jdk8jar"
731              depends="4jdk8compile"
732              description="Builds library jar from compiled sources">
733    
734        <jar destfile="${4jdk8product.jar}">
735          <fileset dir="${build.4jdk8.classes.dir}"/>
736          <manifest>
737            <attribute name="Built-By" value="${user.name}"/>
738            <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
739          </manifest>
740        </jar>
741    
742      </target>
743    
744    
745      <target name="4jdk8-tck"
746              depends="4jdk8jar"
747              description="Runs tck tests for jsr166-4jdk8 directly">
748    
749        <run-tck-tests
750          target="8"
751          workdir="${build.4jdk8.dir}"
752          classes="${4jdk8product.jar}">
753          <javac-elements>
754            <!-- JDK9+ test classes -->
755            <exclude name="*9Test.java"/>
756            <exclude name="*10Test.java"/>
757          </javac-elements>
758        </run-tck-tests>
759      </target>
760    
761    
762      <target name="4jdk8-jtreg"
763              depends="4jdk8jar"
764              description="Runs jtreg tests for jsr166-4jdk8 using the jtreg ant task">
765        <run-jtreg-tests
766           target="8"
767           workdir="${build.4jdk8.dir}"
768           classes="${4jdk8product.jar}"/>
769      </target>
770    
771    
772      <target name="4jdk8-test"
773              depends="4jdk8-tck, 4jdk8-jtreg"
774              description="Runs tck and jtreg tests for jsr166-4jdk8">
775      </target>
776    
777    
778      <target name="4jdk8docs"
779              description="Builds javadocs for src/jdk8 to dist dir">
780    
781        <delete dir="${4jdk8docs.dir}"/>
782        <mkdir dir="${4jdk8docs.dir}"/>
783    
784        <javadoc destdir="${4jdk8docs.dir}"
785                 packagenames="none"
786                 link="${java8.api.url}"
787                 overview="${4jdk8src.dir}/intro.html"
788                 access="${build.javadoc.access}"
789                 sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
790                 classpath=""
791                 executable="${javadoc8}"
792                 failonerror = "true">
793          <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
794            <include name="**/*.java"/>
795          </fileset>
796          <arg line="-Xdocrootparent ${java8.docroot.url}"/>
797          <arg value="-XDignore.symbol.file=true"/>
798          <arg value="-tag"/>
799          <arg value="${javadoc.jls.option}"/>
800          <arg value="-tag"/>
801          <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
802          <arg value="-tag"/>
803          <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
804          <arg value="-tag"/>
805          <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
806        </javadoc>
807      </target>
808    
809    
810      <target name="4jdk8dist"
811              depends="4jdk8dist-jar, 4jdk8dist-docs"
812              description="Puts all distributable products in single hierarchy"/>
813    
814    
815      <target name="4jdk8clean"
816              description="Removes all 4jdk8 build products">
817    
818        <delete dir="${build.4jdk8.dir}"/>
819    
820      </target>
821    
822    
823      <target name="4jdk8dist-jar"
824              depends="4jdk8clean, 4jdk8jar">
825        <copy file="${4jdk8product.jar}" todir="${dist.dir}"/>
826      </target>
827    
828    
829      <target name="4jdk8dist-docs"
830              depends="4jdk8clean, 4jdk8docs">
831        <mirror-dir src="${4jdk8docs.dir}" dst="${dist.4jdk8docs.dir}"/>
832      </target>
833    
834    
835    
836    <!-- jsr166 4jdk7 -->    <!-- jsr166 4jdk7 -->
837    
838    <target name="4jdk7compile"    <target name="4jdk7compile"
# Line 758  Line 937 
937    </target>    </target>
938    
939    
940      <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
941    <target name="4jdk7-tck-junit"    <target name="4jdk7-tck-junit"
942            depends="4jdk7compile"            depends="4jdk7compile">
           description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">  
943    
944      <junit printsummary="true"      <junit printsummary="true"
945             showoutput="true"             showoutput="true"
# Line 815  Line 994 
994               access="${build.javadoc.access}"               access="${build.javadoc.access}"
995               sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
996               classpath=""               classpath=""
997               executable="${javadoc7}">               executable="${javadoc7}"
998                 failonerror = "true">
999        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
1000          <include name="**/*.java"/>          <include name="**/*.java"/>
1001        </fileset>        </fileset>
# Line 910  Line 1090 
1090               sourcepath="${topsrc.dir}:${jdk6.src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1091               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1092               source="5"               source="5"
1093               executable="${javadoc7}">               executable="${javadoc7}"
1094                 failonerror = "true">
1095        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1096        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1097    
# Line 1002  Line 1183 
1183               sourcepath="${topsrc.dir}:${jdk6.src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1184               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1185               source="6"               source="6"
1186               executable="${javadoc7}">               executable="${javadoc7}"
1187                 failonerror = "true">
1188        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1189        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1190    
# Line 1215  Line 1397 
1397               access="${build.javadoc.access}"               access="${build.javadoc.access}"
1398               sourcepath="${topsrc.dir}:${jdk6.src.dir}"               sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1399               source="${build.jsr166e.java.version}"               source="${build.jsr166e.java.version}"
1400               executable="${javadoc7}">               executable="${javadoc7}"
1401                 failonerror = "true">
1402        <arg line="-Xdocrootparent ${java.docroot.url}"/>        <arg line="-Xdocrootparent ${java.docroot.url}"/>
1403        <arg value="-XDignore.symbol.file=true"/>        <arg value="-XDignore.symbol.file=true"/>
1404    

Legend:
Removed from v.1.199  
changed lines
  Added in v.1.206

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