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

Diff of /jsr166/build.xml

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

revision 1.128 by jsr166, Wed Jan 23 07:05:10 2013 UTC revision 1.140 by jsr166, Mon May 20 19:12:23 2013 UTC
# Line 22  Line 22 
22    $HOME/jdk/src/jdk8    $HOME/jdk/src/jdk8
23    where each of the above is a complete JDK source tree    where each of the above is a complete JDK source tree
24    (e.g. mercurial forest) or a symlink to same.    (e.g. mercurial forest) or a symlink to same.
25    As of 2013-02, the very latest lambda 8 jdk is needed for jdk8.
26  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
27    </description>    </description>
28    
29    <target name="usage" description="Advises user to run with -projecthelp">    <target name="usage" description="Display main targets by running 'ant -projecthelp'">
30      <echo>Run "ant -projecthelp" for full usage information.</echo>      <java classname="org.apache.tools.ant.Main">
31          <arg value="-projecthelp" />
32        </java>
33    </target>    </target>
34    
35    
# Line 39  Line 42 
42    <property name="build.debug"          value="true"/>    <property name="build.debug"          value="true"/>
43    <property name="build.debuglevel"     value="source,lines,vars"/>    <property name="build.debuglevel"     value="source,lines,vars"/>
44    <property name="build.deprecation"    value="false"/>    <property name="build.deprecation"    value="false"/>
45      <property name="build.javadoc.access" value="protected"/>
46    
47      <!-- Tck options; see JSR166TestCase.java -->
48      <!-- ant -Djsr166.profileTests=true -Djsr166.runsPerTest=100 test-tck -->
49      <property name="jsr166.profileTests"     value="false"/>
50      <property name="jsr166.profileThreshold" value="100"/>
51      <property name="jsr166.runsPerTest"      value="1"/>
52      <!-- Allow running an individual tck test class -->
53      <!-- ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck -->
54      <property name="jsr166.tckTestClass"     value="JSR166TestCase"/>
55    
56    <!-- Build locations -->    <!-- Build locations -->
57    <property name="build.dir"                   location="build"/>    <property name="build.dir"                   location="build"/>
# Line 166  Line 179 
179    
180    <macrodef name="run-tck-tests">    <macrodef name="run-tck-tests">
181      <attribute name="tck.src.dir" default="${tck.src.dir}"/>      <attribute name="tck.src.dir" default="${tck.src.dir}"/>
     <attribute name="source" default="6"/>  
182      <attribute name="target"/>      <attribute name="target"/>
183        <attribute name="compile-target" default="@{target}"/>
184      <attribute name="workdir"/>      <attribute name="workdir"/>
185      <attribute name="classes"/>      <attribute name="classes"/>
186      <attribute name="jvmflags" default=""/>      <attribute name="jvmflags" default=""/>
187        <element name="javac-elements" optional="true"/>
188      <sequential>      <sequential>
189    
190      <mkdir dir="@{workdir}/tck-classes"/>      <mkdir dir="@{workdir}/tck-classes"/>
# Line 180  Line 194 
194             debug="${build.debug}"             debug="${build.debug}"
195             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
196             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
197             source="@{source}"             source="@{compile-target}"
198               target="@{compile-target}"
199             classpath="${junit.jar}"             classpath="${junit.jar}"
200             bootclasspath="@{classes}:${bootclasspath@{source}}"             bootclasspath="@{classes}:${bootclasspath@{compile-target}}"
201             includeAntRuntime="false"             includeAntRuntime="false"
202             includeJavaRuntime="false"             includeJavaRuntime="false"
203             executable="${javac@{target}}"             executable="${javac@{compile-target}}"
204             fork="true">             fork="true">
205    
206        <include name="*.java"/>        <include name="*.java"/>
207        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
208        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
209        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
210          <javac-elements/>
211    
212      </javac>      </javac>
213    
214      <java classname="JSR166TestCase"      <java classname="${jsr166.tckTestClass}"
215            failonerror="true"            failonerror="true"
216            jvm="${java@{target}}"            jvm="${java@{target}}"
217            fork="true">            fork="true">
218          <jvmarg value="-Xbootclasspath/p:@{classes}"/>          <jvmarg value="-Xbootclasspath/p:@{classes}"/>
219          <jvmarg line="@{jvmflags}"/>          <jvmarg line="@{jvmflags}"/>
220            <sysproperty key="jsr166.profileTests"     value="${jsr166.profileTests}"/>
221            <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>
222            <sysproperty key="jsr166.runsPerTest"      value="${jsr166.runsPerTest}"/>
223          <classpath>          <classpath>
224            <pathelement location="${junit.jar}"/>            <pathelement location="${junit.jar}"/>
225            <pathelement location="@{workdir}/tck-classes"/>            <pathelement location="@{workdir}/tck-classes"/>
# Line 210  Line 229 
229      </sequential>      </sequential>
230    </macrodef>    </macrodef>
231    
232      <macrodef name="run-jtreg-tests">
233        <attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/>
234        <attribute name="source" default="7"/>
235        <attribute name="target"/>
236        <attribute name="workdir"/>
237        <attribute name="classes"/>
238        <attribute name="jtregflags" default=""/>
239        <sequential>
240        <delete dir="@{workdir}/JTwork"   quiet="true"/>
241        <delete dir="@{workdir}/JTreport" quiet="true"/>
242        <mkdir dir="@{workdir}/JTwork/scratch"/>
243        <mkdir dir="@{workdir}/JTreport"/>
244        <jtreg dir="@{jtreg.src.dir}"
245               jdk="${jdk@{target}.home}"
246               workDir="@{workdir}/JTwork"
247               reportDir="@{workdir}/JTreport">
248    
249          <arg value="-Xbootclasspath/p:@{classes}"/>
250          <arg value="-agentvm"/>
251          <arg value="-v:nopass,fail"/>
252          <arg value="-vmoptions:-esa -ea"/>
253          <arg value="-automatic"/>
254          <arg value="-k:!ignore"/>
255          <arg line="@{jtregflags}"/>
256        </jtreg>
257        </sequential>
258      </macrodef>
259    
260    <!-- ALoops classpath -->    <!-- ALoops classpath -->
261    <path id="loops.classpath">    <path id="loops.classpath">
262      <pathelement location="${build.loops.dir}"/>      <pathelement location="${build.loops.dir}"/>
# Line 243  Line 290 
290             fork="true">             fork="true">
291    
292        <include name="**/*.java"/>        <include name="**/*.java"/>
293          <compilerarg value="-Xprefer:source"/>
294        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
295        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
296        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 279  Line 327 
327               packagenames="none"               packagenames="none"
328               link="${jdkapi8docs.url}"               link="${jdkapi8docs.url}"
329               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
330                 access="${build.javadoc.access}"
331               sourcepath="${src.dir}:${jdk8src.dir}"               sourcepath="${src.dir}:${jdk8src.dir}"
332               classpath=""               classpath=""
333               executable="${javadoc8}">               executable="${javadoc8}">
# Line 408  Line 457 
457    
458    </target>    </target>
459    
460      <target name="test-tck"
461              depends="jar"
462              description="Runs tck tests for main directly">
463    
464        <run-tck-tests
465          target="8"
466          workdir="${build.dir}"
467          classes="${product.jar}"/>
468      </target>
469    
470      <target name="test-jtreg"
471              depends="jar"
472              description="Runs jtreg tests for main using the jtreg ant task">
473        <run-jtreg-tests
474           target="8"
475           workdir="${build.dir}"
476           classes="${product.jar}"/>
477      </target>
478    
479      <target name="test-ng"
480              depends="test-tck, test-jtreg"
481              description="Runs tck and jtreg tests for main">
482      </target>
483    
484    <target name="run-tests"    <target name="run-tests"
485            depends="compile-tests">            depends="compile-tests">
# Line 574  Line 646 
646             fork="true">             fork="true">
647    
648        <include name="**/*.java"/>        <include name="**/*.java"/>
649          <compilerarg value="-Xprefer:source"/>
650        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
651        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
652        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 600  Line 673 
673      <run-tck-tests      <run-tck-tests
674        target="7"        target="7"
675        workdir="${build.4jdk7.dir}"        workdir="${build.4jdk7.dir}"
676        classes="${4jdk7product.jar}"/>        classes="${4jdk7product.jar}">
677          <javac-elements>
678            <!-- JDK8+ test classes -->
679            <exclude name="*8Test.java"/>
680            <exclude name="DoubleAccumulatorTest.java"/>
681            <exclude name="DoubleAdderTest.java"/>
682            <exclude name="LongAccumulatorTest.java"/>
683            <exclude name="LongAdderTest.java"/>
684            <exclude name="CompletableFutureTest.java"/>
685            <exclude name="StampedLockTest.java"/>
686          </javac-elements>
687        </run-tck-tests>
688    </target>    </target>
689    
690    
# Line 626  Line 710 
710    
711        <formatter type="brief"/>        <formatter type="brief"/>
712    
713        <test name="JSR166TestCase" haltonfailure="no">        <test name="${jsr166.tckTestClass}" haltonfailure="no">
714        </test>        </test>
715    
716      </junit>      </junit>
717    </target>    </target>
718    
719    <target name="4jdk7-test-jtreg"    <target name="4jdk7-test-jtreg"
720            depends="4jdk7compile"            depends="4jdk7jar"
721            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
722      <delete dir="${build.4jdk7.dir}/JTwork"   quiet="true"/>      <run-jtreg-tests
723      <delete dir="${build.4jdk7.dir}/JTreport" quiet="true"/>         target="7"
724      <mkdir dir="${build.4jdk7.dir}/JTwork/scratch"/>         workdir="${build.4jdk7.dir}"
725      <mkdir dir="${build.4jdk7.dir}/JTreport"/>         classes="${4jdk7product.jar}"/>
     <jtreg dir="${jtreg.src.dir}"  
            jdk="${jdk7.home}"  
            workDir="${build.4jdk7.dir}/JTwork"  
            reportDir="${build.4jdk7.dir}/JTreport">  
   
       <arg value="-Xbootclasspath/p:${4jdk7product.jar}"/>  
       <arg value="-agentvm"/>  
       <arg value="-v:nopass,fail"/>  
       <arg value="-vmoptions:-esa -ea"/>  
       <arg value="-automatic"/>  
       <arg value="-k:!ignore"/>  
     </jtreg>  
726    </target>    </target>
727    
728    
# Line 670  Line 742 
742               packagenames="none"               packagenames="none"
743               link="${jdkapi7docs.url}"               link="${jdkapi7docs.url}"
744               overview="${4jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
745                 access="${build.javadoc.access}"
746               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"               sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
747               classpath=""               classpath=""
748               executable="${javadoc7}">               executable="${javadoc7}">
# Line 761  Line 834 
834      <javadoc destdir="${jsr166xdocs.dir}"      <javadoc destdir="${jsr166xdocs.dir}"
835               packagenames="jsr166x.*"               packagenames="jsr166x.*"
836               link="${jdkapidocs.url}"               link="${jdkapidocs.url}"
837                 access="${build.javadoc.access}"
838               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6src.dir}"
839               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
840               source="5"               source="5"
# Line 851  Line 925 
925      <javadoc destdir="${jsr166ydocs.dir}"      <javadoc destdir="${jsr166ydocs.dir}"
926               packagenames="jsr166y.*"               packagenames="jsr166y.*"
927               link="${jdkapidocs.url}"               link="${jdkapidocs.url}"
928                 access="${build.javadoc.access}"
929               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6src.dir}"
930               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
931               source="6"               source="6"
# Line 941  Line 1016 
1016      <javadoc destdir="${extra166ydocs.dir}"      <javadoc destdir="${extra166ydocs.dir}"
1017               packagenames="extra166y.*"               packagenames="extra166y.*"
1018               link="${jdkapidocs.url}"               link="${jdkapidocs.url}"
1019                 access="${build.javadoc.access}"
1020               sourcepath="${topsrc.dir}:${jdk6src.dir}"               sourcepath="${topsrc.dir}:${jdk6src.dir}"
1021               bootclasspath="${bootclasspath6}"               bootclasspath="${bootclasspath6}"
1022               source="6"               source="6"
# Line 1028  Line 1104 
1104      <javadoc destdir="${jsr166edocs.dir}"      <javadoc destdir="${jsr166edocs.dir}"
1105               packagenames="jsr166e.*"               packagenames="jsr166e.*"
1106               link="${jdkapidocs.url}"               link="${jdkapidocs.url}"
1107                 access="${build.javadoc.access}"
1108               sourcepath="${topsrc.dir}:${jdk7src.dir}"               sourcepath="${topsrc.dir}:${jdk7src.dir}"
1109               source="7"               source="7"
1110               executable="${javadoc7}">               executable="${javadoc7}">
# Line 1043  Line 1120 
1120    
1121      <run-tck-tests      <run-tck-tests
1122        tck.src.dir="${test.src.dir}/tck-jsr166e"        tck.src.dir="${test.src.dir}/tck-jsr166e"
1123        source="7"        target="7"
       target="8"  
1124        workdir="${build.jsr166e.dir}"        workdir="${build.jsr166e.dir}"
1125        classes="${jsr166e.jar}"/>        classes="${jsr166e.jar}"/>
1126    </target>    </target>
# Line 1076  Line 1152 
1152      <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>      <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1153    </target>    </target>
1154    
1155    
1156    <!-- Find buglets that can be detected by static build tools -->
1157    
1158      <target name="lint">
1159        <antcall target="dists">
1160          <param name="build.javadoc.access" value="private"/>
1161        </antcall>
1162      </target>
1163    
1164    
1165  </project>  </project>

Legend:
Removed from v.1.128  
changed lines
  Added in v.1.140

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