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.177 by jsr166, Fri Sep 11 18:43:46 2015 UTC vs.
Revision 1.184 by jsr166, Wed Sep 30 15:30:46 2015 UTC

# Line 29 | Line 29
29    Alternatively, define ant variables thus:
30    ant -Djdk$N.home=...
31    for $N in 6 7 8 9 ...
32 +
33 +  As of 2015-09, there is incomplete hacky support for jigsaw
34 +  Build for jigsaw using something like:
35 +  ant -Djdk9.home="$HOME/jdk/jigsaw" -Djdk9.src.dir="$HOME/jdk/src/jigsaw" clean test dist
36 +  "docs" target is still broken.
37   ------------------------------------------------------------------------------
38    </description>
39  
# Line 52 | Line 57
57    <property name="build.deprecation"    value="false"/>
58    <property name="build.javadoc.access" value="protected"/>
59  
55  <!-- Tck options; see JSR166TestCase.java
56   To profile a single tck test class:
57   ant -Djsr166.profileTests=true -Djsr166.profileThreshold=10 -Djsr166.tckTestClass=CompletableFutureTest tck
58   To stress test a single tck test class:
59   ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 tck
60  -->
61  <property name="jsr166.profileTests"     value="false"/>
62  <property name="jsr166.profileThreshold" value="100"/>
63  <property name="jsr166.runsPerTest"      value="1"/>
64  <property name="jsr166.tckTestClass"     value="JSR166TestCase"/>
65
60    <!-- Build locations -->
61    <property name="build.dir"                   location="build"/>
62    <property name="build.classes.dir"           location="${build.dir}/classes"/>
# Line 95 | Line 89
89      <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
90      <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
91      <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
92 <    <available property="jdk@{v}.have.java.base"
92 >    <local name="have.java.base"/>
93 >    <available property="have.java.base"
94        file="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes" type="dir"/>
95      <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes"
96 <      if:set="jdk@{v}.have.java.base"/>
96 >      if:set="have.java.base"/>
97      <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"
98 <      unless:set="jdk@{v}.have.java.base"/>
98 >      unless:set="have.java.base"/>
99 >    <local name="modules"/>
100 >    <available property="modules" file="${jdk@{v}.home}/jmods" type="dir"/>
101      <local name="boot.jar.dir"/>
102 <    <property name="boot.jar.dir"   location="${jdk@{v}.home}/jre/lib"/>
103 <    <path id="bootclasspath@{v}">
102 >    <property name="boot.jar.dir"   location="${jdk@{v}.home}/jre/lib" unless:set="modules"/>
103 >    <path id="bootclasspath@{v}" unless:set="modules">
104        <pathelement path="${boot.jar.dir}/resources.jar"/>
105        <pathelement path="${boot.jar.dir}/rt.jar"/>
106        <pathelement path="${boot.jar.dir}/jsse.jar"/>
107        <pathelement path="${boot.jar.dir}/jce.jar"/>
108        <pathelement path="${boot.jar.dir}/charsets.jar"/>
109      </path>
110 <    <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}"/>
110 >    <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}" unless:set="modules"/>
111      </sequential>
112    </macrodef>
113  
# Line 203 | Line 200
200      <pathelement location="${junit.jar}"/>
201    </path>
202  
203 +  <!-- Tck options; see JSR166TestCase.java
204 +   To profile a single tck test class:
205 +   ant -Djsr166.profileTests=true -Djsr166.profileThreshold=10 -Djsr166.tckTestClass=CompletableFutureTest tck
206 +   To stress test a single tck test class:
207 +   ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 tck
208 +   To stress test a single tck test method:
209 +   ant -Djsr166.tckTestClass=RecursiveTaskTest -Djsr166.runsPerTest=1000 -Djsr166.methodFilter=testAbnormalInvokeAll3 tck
210 +  -->
211 +  <property name="jsr166.tckTestClass"     value="JSR166TestCase"/>
212    <macrodef name="run-tck-tests">
213      <attribute name="tck.src.dir" default="${tck.src.dir}"/>
214      <attribute name="target"/>
# Line 211 | Line 217
217      <attribute name="classes"/>
218      <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
219      <element name="javac-elements" optional="true"/>
220 +
221      <sequential>
222  
223 +    <local name="modules"/>
224 +    <condition property="modules">
225 +      <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>
226 +    </condition>
227 +
228      <mkdir dir="@{workdir}/tck-classes"/>
229  
230      <javac srcdir="@{tck.src.dir}"
# Line 231 | Line 243
243        <include name="*.java"/>
244        <compilerarg value="-XDignore.symbol.file=true"/>
245        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
246 <      <compilerarg value="-Xbootclasspath/p:@{classes}"/>
246 >      <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
247 >      <compilerarg value="-Xoverride:${build.classes.dir}" if:set="modules"/>
248        <compilerarg line="${build.args}"/>
249        <javac-elements/>
250  
# Line 241 | Line 254
254            failonerror="true"
255            jvm="${java@{target}}"
256            fork="true">
257 <        <jvmarg value="-Xbootclasspath/p:@{classes}"/>
257 >        <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
258 >        <jvmarg value="-Xoverride:${build.classes.dir}" if:set="modules"/>
259          <jvmarg line="@{jvmflags}"/>
260  
261          <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
262 <        <syspropertyset id="java.util.concurrent.ForkJoinPool-properties">
262 >        <syspropertyset id="system-properties-used-by-tck">
263            <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
264 +          <propertyref prefix="jsr166."/>
265          </syspropertyset>
266  
252        <sysproperty key="jsr166.profileTests"     value="${jsr166.profileTests}"/>
253        <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>
254        <sysproperty key="jsr166.runsPerTest"      value="${jsr166.runsPerTest}"/>
267          <classpath>
268            <pathelement location="${junit.jar}"/>
269            <pathelement location="@{workdir}/tck-classes"/>
# Line 290 | Line 302
302      <attribute name="workdir"/>
303      <attribute name="classes"/>
304      <attribute name="jtregflags" default=""/>
305 +
306      <sequential>
307 +
308 +    <local name="modules"/>
309 +    <condition property="modules">
310 +      <available file="${jdk@{target}.home}/jmods" type="dir"/>
311 +    </condition>
312 +
313      <delete dir="@{workdir}/JTwork"   quiet="true"/>
314      <delete dir="@{workdir}/JTreport" quiet="true"/>
315      <mkdir dir="@{workdir}/JTwork/scratch"/>
# Line 300 | Line 319
319             workDir="@{workdir}/JTwork"
320             reportDir="@{workdir}/JTreport">
321        <patternset refid="jdk@{target}.jtreg.tests"/>
322 <      <arg value="-Xbootclasspath/p:@{classes}"/>
322 >      <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
323 >      <arg value="-Xoverride:${build.classes.dir}" if:set="modules"/>
324        <arg value="-agentvm"/>
325        <arg value="-v:nopass,fail"/>
326        <arg value="-vmoptions:-esa -ea"/>
# Line 333 | Line 353
353            depends="configure-compiler"
354            description="Compiles src/main sources to build dir">
355  
356 <    <mkdir dir="${build.classes.dir}"/>
356 >    <local name="modules"/>
357 >    <condition property="modules">
358 >      <and>
359 >        <available file="${jdk9.home}/jmods" type="dir"/>
360 >        <equals arg1="9" arg2="${build.main.java.version}"/>
361 >      </and>
362 >    </condition>
363 >
364 >    <local name="destdir"/>
365 >    <property name="destdir" value="${build.classes.dir}/java.base" if:set="modules"/>
366 >    <property name="destdir" value="${build.classes.dir}" unless:set="modules"/>
367 >
368 >    <mkdir dir="${destdir}"/>
369  
370      <javac srcdir="${src.dir}"
371 <           destdir="${build.classes.dir}"
371 >           destdir="${destdir}"
372             debug="${build.debug}"
373             debuglevel="${build.debuglevel}"
374             deprecation="${build.deprecation}"
# Line 347 | Line 379
379             fork="true">
380  
381        <include name="**/*.java"/>
382 +      <compilerarg value="-Xmodule:java.base" if:set="modules"/>
383        <compilerarg value="-Xprefer:source"/>
384        <compilerarg value="-XDignore.symbol.file=true"/>
385        <compilerarg value="-Xlint:all"/>
# Line 365 | Line 398
398  
399      <jar destfile="${product.jar}">
400        <fileset dir="${build.classes.dir}"/>
401 +      <manifest>
402 +        <attribute name="Built-By" value="${user.name}"/>
403 +        <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
404 +      </manifest>
405      </jar>
406    </target>
407  
# Line 392 | Line 429
429        <arg line="-Xdocrootparent ${java9.docroot.url}"/>
430        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
431        <arg value="-XDignore.symbol.file=true"/>
432 + <!--  TODO     <arg value="-Xmodule:java.base"/> -->
433        <arg value="-tag"/>
434        <arg value="${javadoc.jls.option}"/>
435        <arg value="-tag"/>
# Line 423 | Line 461
461        <exclude name="src/emulation/**"/>
462        <exclude name="**/SyntaxTest.java"/>
463        <exclude name="**/SuperfluousAbstract.java"/>
464 +      <manifest>
465 +        <attribute name="Built-By" value="${user.name}"/>
466 +        <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
467 +      </manifest>
468      </jar>
469    </target>
470  
# Line 521 | Line 563
563  
564  
565    <target name="configure-compiler">
566 +    <fail message="ant version too old">
567 +      <condition>
568 +        <not> <antversion atleast="1.9.1"/> </not>
569 +      </condition>
570 +    </fail>
571  
572      <property name="unchecked.option" value="-Xlint:unchecked"/>
573  
# Line 660 | Line 707
707  
708      <jar destfile="${4jdk7product.jar}">
709        <fileset dir="${build.4jdk7.classes.dir}"/>
710 +      <manifest>
711 +        <attribute name="Built-By" value="${user.name}"/>
712 +        <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
713 +      </manifest>
714      </jar>
715  
716    </target>
# Line 820 | Line 871
871  
872      <jar destfile="${jsr166x.jar}">
873        <fileset dir="${build.jsr166x.classes.dir}"/>
874 +      <manifest>
875 +        <attribute name="Built-By" value="${user.name}"/>
876 +        <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
877 +      </manifest>
878      </jar>
879  
880    </target>
# Line 907 | Line 962
962  
963      <jar destfile="${jsr166y.jar}" index="true">
964        <fileset dir="${build.jsr166y.classes.dir}"/>
965 +      <manifest>
966 +        <attribute name="Built-By" value="${user.name}"/>
967 +        <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
968 +      </manifest>
969      </jar>
970  
971    </target>
# Line 995 | Line 1054
1054  
1055      <jar destfile="${extra166y.jar}" index="true">
1056        <fileset dir="${build.extra166y.classes.dir}"/>
1057 +      <manifest>
1058 +        <attribute name="Built-By" value="${user.name}"/>
1059 +        <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1060 +      </manifest>
1061      </jar>
1062  
1063    </target>
# Line 1110 | Line 1173
1173  
1174      <jar destfile="${jsr166e.jar}" index="true">
1175        <fileset dir="${build.jsr166e.classes.dir}"/>
1176 +      <manifest>
1177 +        <attribute name="Built-By" value="${user.name}"/>
1178 +        <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1179 +      </manifest>
1180      </jar>
1181  
1182    </target>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines