ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.145
Committed: Sun Jul 14 22:39:31 2013 UTC (10 years, 9 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.144: +1 -0 lines
Log Message:
register SplittableRandomTest as a jdk8+ test

File Contents

# Content
1 <project name="jsr166" default="usage">
2
3 <description>
4 ------------------------------------------------------------------------------
5 Build file for JSR-166
6
7 Usage: ant [target]
8
9 User-specific settings are read from user.properties.
10 See user.properties.sample for an explanation of some useful settings.
11
12 The repository contains all dependencies except for ant and the JDK
13 itself. Because the JDK version matters and because different
14 targets require different JDKs, we assume that users have created a
15 hierarchy containing:
16 $HOME/jdk/jdk6
17 $HOME/jdk/jdk7
18 $HOME/jdk/jdk8
19 where each of the above is a JDK or a symlink to same, and
20 $HOME/jdk/src/jdk6
21 $HOME/jdk/src/jdk7
22 $HOME/jdk/src/jdk8
23 where each of the above is a complete JDK source tree
24 (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>
28
29 <target name="usage" description="Display main targets by running 'ant -projecthelp'">
30 <java classname="org.apache.tools.ant.Main">
31 <arg value="-projecthelp" />
32 </java>
33 </target>
34
35
36 <!-- User-specific settings -->
37 <property file="user.properties"/>
38
39
40 <!-- Compilation options -->
41 <property name="build.sourcelevel" value="6"/>
42 <property name="build.debug" value="true"/>
43 <property name="build.debuglevel" value="source,lines,vars"/>
44 <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 -->
57 <property name="build.dir" location="build"/>
58 <property name="build.classes.dir" location="${build.dir}/classes"/>
59 <property name="build.testcases.dir" location="${build.dir}/testcases"/>
60 <property name="build.loops.dir" location="${build.dir}/loops"/>
61 <property name="build.reports.dir" location="${build.dir}/reports"/>
62
63 <property name="build.4jdk7.dir" location="${build.dir}/jsr166-4jdk7"/>
64 <property name="build.4jdk7.classes.dir" location="${build.4jdk7.dir}/classes"/>
65 <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
66 <property name="build.4jdk7.docs.dir" location="${build.4jdk7.dir}/docs"/>
67
68 <property name="build.jsr166x.dir" location="${build.dir}/jsr166x"/>
69 <property name="build.jsr166y.dir" location="${build.dir}/jsr166y"/>
70 <property name="build.jsr166e.dir" location="${build.dir}/jsr166e"/>
71 <property name="build.extra166y.dir" location="${build.dir}/extra166y"/>
72
73 <property name="build.jsr166x.classes.dir" location="${build.jsr166x.dir}/classes"/>
74 <property name="build.jsr166y.classes.dir" location="${build.jsr166y.dir}/classes"/>
75 <property name="build.jsr166e.classes.dir" location="${build.jsr166e.dir}/classes"/>
76 <property name="build.extra166y.classes.dir" location="${build.extra166y.dir}/classes"/>
77
78 <!-- JDK locations -->
79 <property name="jdks.home" location="${user.home}/jdk"/>
80
81 <macrodef name="defjdklocations">
82 <attribute name="v"/>
83 <sequential>
84 <property name="jdk@{v}.home" location="${jdks.home}/jdk@{v}"/>
85 <property name="java@{v}" location="${jdk@{v}.home}/bin/java"/>
86 <property name="javac@{v}" location="${jdk@{v}.home}/bin/javac"/>
87 <property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/>
88 <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
89 <local name="boot.jar.dir"/>
90 <property name="boot.jar.dir" location="${jdk@{v}.home}/jre/lib"/>
91 <path id="bootclasspath@{v}">
92 <pathelement path="${boot.jar.dir}/resources.jar"/>
93 <pathelement path="${boot.jar.dir}/rt.jar"/>
94 <pathelement path="${boot.jar.dir}/jsse.jar"/>
95 <pathelement path="${boot.jar.dir}/jce.jar"/>
96 <pathelement path="${boot.jar.dir}/charsets.jar"/>
97 </path>
98 <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}"/>
99 </sequential>
100 </macrodef>
101
102 <macrodef name="mirror-dir">
103 <attribute name="src"/>
104 <attribute name="dst"/>
105 <sequential>
106 <delete dir="@{dst}"/>
107 <mkdir dir="@{dst}"/>
108 <copy todir="@{dst}" preservelastmodified="true">
109 <fileset dir="@{src}"/>
110 </copy>
111 </sequential>
112 </macrodef>
113
114 <defjdklocations v="6"/>
115 <defjdklocations v="7"/>
116 <defjdklocations v="8"/>
117
118 <!-- Source locations -->
119 <property name="src.dir" location="${basedir}/src/main"/>
120 <property name="test.src.dir" location="${basedir}/src/test"/>
121 <property name="loops.src.dir" location="${basedir}/src/loops"/>
122 <property name="tck.src.dir" location="${test.src.dir}/tck"/>
123 <property name="jtreg.src.dir" location="${test.src.dir}/jtreg"/>
124 <property name="lib.dir" location="${basedir}/lib"/>
125 <property name="dist.dir" location="${basedir}/dist"/>
126 <property name="topsrc.dir" location="${basedir}/src"/>
127 <property name="4jdk7src.dir" location="${topsrc.dir}/jdk7"/>
128 <property name="jsr166xsrc.dir" location="${topsrc.dir}/jsr166x"/>
129 <property name="jsr166ysrc.dir" location="${topsrc.dir}/jsr166y"/>
130 <property name="jsr166esrc.dir" location="${topsrc.dir}/jsr166e"/>
131 <property name="extra166ysrc.dir" location="${topsrc.dir}/extra166y"/>
132
133 <!-- Javadoc locations -->
134 <property name="docs.dir" location="${build.dir}/docs"/>
135 <property name="4jdk7docs.dir" location="${build.4jdk7.dir}/docs"/>
136 <property name="jsr166xdocs.dir" location="${build.jsr166x.dir}/docs"/>
137 <property name="jsr166ydocs.dir" location="${build.jsr166y.dir}/docs"/>
138 <property name="jsr166edocs.dir" location="${build.jsr166e.dir}/docs"/>
139 <property name="extra166ydocs.dir" location="${build.extra166y.dir}/docs"/>
140
141 <property name="dist.docs.dir" location="${dist.dir}/docs"/>
142 <property name="dist.4jdk7docs.dir" location="${dist.dir}/jsr166-4jdk7docs"/>
143 <property name="dist.jsr166xdocs.dir" location="${dist.dir}/jsr166xdocs"/>
144 <property name="dist.jsr166ydocs.dir" location="${dist.dir}/jsr166ydocs"/>
145 <property name="dist.jsr166edocs.dir" location="${dist.dir}/jsr166edocs"/>
146 <property name="dist.extra166ydocs.dir" location="${dist.dir}/extra166ydocs"/>
147
148 <!-- Jar locations -->
149 <property name="product.jar" location="${build.dir}/jsr166.jar"/>
150 <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
151 <property name="jsr166x.jar" location="${build.jsr166x.dir}/jsr166x.jar"/>
152 <property name="jsr166y.jar" location="${build.jsr166y.dir}/jsr166y.jar"/>
153 <property name="jsr166e.jar" location="${build.jsr166e.dir}/jsr166e.jar"/>
154 <property name="extra166y.jar" location="${build.extra166y.dir}/extra166y.jar"/>
155 <property name="junit.jar" location="${lib.dir}/junit.jar"/>
156
157 <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
158 <property name="jdkapi5docs.url" value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
159 <property name="jdkapi6docs.url" value="http://docs.oracle.com/javase/6/docs/api/"/>
160 <property name="jdkapi7docs.url" value="http://docs.oracle.com/javase/7/docs/api/"/>
161
162 <property name="jdkapi8docs.url" value="http://download.java.net/jdk8/docs/api/"/>
163 <!-- The below does not yet exist as of 2013-01 -->
164 <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
165
166 <!-- Default jdk api doc location (latest stable release seems best) -->
167 <property name="jdkapidocs.url" value="${jdkapi7docs.url}"/>
168
169 <!-- Define the "jtreg" task -->
170 <!-- See the docs in "jtreg -onlineHelp" -->
171 <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
172 classpath="${lib.dir}/jtreg.jar" />
173
174 <!-- Test classpath -->
175 <path id="test.classpath">
176 <pathelement location="${build.testcases.dir}"/>
177 <pathelement location="${junit.jar}"/>
178 </path>
179
180 <macrodef name="run-tck-tests">
181 <attribute name="tck.src.dir" default="${tck.src.dir}"/>
182 <attribute name="target"/>
183 <attribute name="compile-target" default="@{target}"/>
184 <attribute name="workdir"/>
185 <attribute name="classes"/>
186 <attribute name="jvmflags" default=""/>
187 <element name="javac-elements" optional="true"/>
188 <sequential>
189
190 <mkdir dir="@{workdir}/tck-classes"/>
191
192 <javac srcdir="@{tck.src.dir}"
193 destdir="@{workdir}/tck-classes"
194 debug="${build.debug}"
195 debuglevel="${build.debuglevel}"
196 deprecation="${build.deprecation}"
197 source="@{compile-target}"
198 target="@{compile-target}"
199 classpath="${junit.jar}"
200 bootclasspath="@{classes}:${bootclasspath@{compile-target}}"
201 includeAntRuntime="false"
202 includeJavaRuntime="false"
203 executable="${javac@{compile-target}}"
204 fork="true">
205
206 <include name="*.java"/>
207 <compilerarg value="-XDignore.symbol.file=true"/>
208 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
209 <compilerarg line="${build.args}"/>
210 <javac-elements/>
211
212 </javac>
213
214 <java classname="${jsr166.tckTestClass}"
215 failonerror="true"
216 jvm="${java@{target}}"
217 fork="true">
218 <jvmarg value="-Xbootclasspath/p:@{classes}"/>
219 <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>
224 <pathelement location="${junit.jar}"/>
225 <pathelement location="@{workdir}/tck-classes"/>
226 </classpath>
227 </java>
228
229 </sequential>
230 </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 -->
261 <path id="loops.classpath">
262 <pathelement location="${build.loops.dir}"/>
263 </path>
264
265 <!-- Support @jls tag, used in jdk8+ javadoc -->
266 <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
267 <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
268
269 <!-- Main targets -->
270
271 <target name="dists"
272 depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
273 description="Builds all public jars and docs"/>
274
275 <target name="compile"
276 depends="configure-compiler"
277 description="Compiles src/main sources to build dir">
278
279 <mkdir dir="${build.classes.dir}"/>
280
281 <javac srcdir="${src.dir}"
282 destdir="${build.classes.dir}"
283 debug="${build.debug}"
284 debuglevel="${build.debuglevel}"
285 deprecation="${build.deprecation}"
286 classpath=""
287 includeAntRuntime="false"
288 includeJavaRuntime="false"
289 executable="${javac8}"
290 fork="true">
291
292 <include name="**/*.java"/>
293 <compilerarg value="-Xprefer:source"/>
294 <compilerarg value="-XDignore.symbol.file=true"/>
295 <compilerarg value="-Xlint:all"/>
296 <compilerarg line="${build.args}"/>
297
298 </javac>
299 </target>
300
301
302 <target name="jar"
303 depends="compile"
304 description="Builds library jar from compiled sources">
305
306 <jar destfile="${product.jar}">
307 <fileset dir="${build.classes.dir}"/>
308 </jar>
309 </target>
310
311
312 <target name="docs"
313 description="Builds javadocs for src/main to dist dir">
314
315 <delete dir="${docs.dir}"/>
316 <mkdir dir="${docs.dir}"/>
317
318 <!-- the packagenames="none" hack below prevents scanning the -->
319 <!-- sourcepath for packages -->
320
321 <javadoc destdir="${docs.dir}"
322 packagenames="none"
323 link="${jdkapi8docs.url}"
324 overview="${src.dir}/intro.html"
325 access="${build.javadoc.access}"
326 sourcepath="${src.dir}:${jdk8src.dir}"
327 classpath=""
328 executable="${javadoc8}">
329 <fileset dir="${src.dir}" defaultexcludes="yes">
330 <include name="**/*.java"/>
331 </fileset>
332 <arg value="-XDignore.symbol.file=true"/>
333 <arg value="-tag"/>
334 <arg value="${javadoc.jls.option}"/>
335 <arg value="-tag"/>
336 <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
337 <arg value="-tag"/>
338 <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
339 <arg value="-tag"/>
340 <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
341 </javadoc>
342 </target>
343
344
345 <target name="dist"
346 depends="dist-clean, dist-jar, dist-docs"
347 description="Puts all distributable products in single hierarchy"/>
348
349
350 <target name="release"
351 depends="dist"
352 description="Puts entire CVS tree, plus distribution productions, in a jar">
353
354 <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
355
356 <jar basedir="${basedir}" destfile="${release.jar}">
357 <!-- <exclude name="build/**"/> -->
358 <exclude name="${release.jar}"/>
359 <exclude name="user.properties"/>
360 <exclude name="etc/notes/**"/>
361 <exclude name="src/emulation/**"/>
362 <exclude name="**/SyntaxTest.java"/>
363 <exclude name="**/SuperfluousAbstract.java"/>
364 </jar>
365 </target>
366
367
368 <target name="clean"
369 description="Removes all build products">
370
371 <delete dir="${build.dir}"/>
372
373 </target>
374
375
376 <target name="dist-clean"
377 description="Removes all build and distribution products">
378
379 <delete dir="${dist.dir}"/>
380
381 </target>
382
383
384 <target name="dist-jar"
385 depends="clean, jar">
386 <copy file="${product.jar}" todir="${dist.dir}"/>
387 </target>
388
389 <target name="dist-docs"
390 depends="clean, docs">
391 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
392 </target>
393
394
395 <target name="test-tck"
396 depends="jar"
397 description="Runs tck tests for main directly">
398
399 <run-tck-tests
400 target="8"
401 workdir="${build.dir}"
402 classes="${product.jar}"/>
403 </target>
404
405 <target name="test-jtreg"
406 depends="jar"
407 description="Runs jtreg tests for main using the jtreg ant task">
408 <run-jtreg-tests
409 target="8"
410 workdir="${build.dir}"
411 classes="${product.jar}"/>
412 </target>
413
414 <target name="test"
415 depends="test-tck, test-jtreg"
416 description="Runs tck and jtreg tests for main">
417 </target>
418
419
420
421 <target name="configure-compiler">
422
423 <property name="unchecked.option" value="-Xlint:unchecked"/>
424
425 <condition property="warnunchecked.arg" value="${unchecked.option}">
426 <istrue value="${build.warnunchecked}"/>
427 </condition>
428
429 <property name="warnunchecked.arg" value=""/>
430
431
432 <!-- Common options in javac invocations -->
433 <property name="build.args" value="${warnunchecked.arg}"/>
434
435 </target>
436
437
438
439 <!-- Various demos and test programs -->
440
441
442 <target name="loops" depends="configure-compiler"
443 description="Benchmark from Doug Lea's AQS paper">
444
445 <mkdir dir="${build.loops.dir}"/>
446
447 <javac srcdir="${loops.src.dir}"
448 destdir="${build.loops.dir}"
449 debug="${build.debug}"
450 debuglevel="${build.debuglevel}"
451 deprecation="${build.deprecation}"
452 source="${build.sourcelevel}"
453 fork="true">
454
455 <compilerarg line="${build.args}"/>
456 <classpath refid="loops.classpath"/>
457 <compilerarg value="-XDignore.symbol.file=true"/>
458
459 </javac>
460
461 <java classname="ALoops" fork="true">
462 <classpath refid="loops.classpath"/>
463 </java>
464
465 </target>
466
467
468 <!-- jsr166 4jdk7 -->
469
470 <target name="4jdk7compile"
471 depends="configure-compiler"
472 description="Compiles src/jdk7 sources, targeting jdk7">
473
474 <mkdir dir="${build.4jdk7.classes.dir}"/>
475
476 <javac srcdir="${4jdk7src.dir}"
477 destdir="${build.4jdk7.classes.dir}"
478 debug="${build.debug}"
479 debuglevel="${build.debuglevel}"
480 deprecation="${build.deprecation}"
481 source="6"
482 classpath=""
483 bootclasspath="${bootclasspath6}"
484 includeAntRuntime="false"
485 includeJavaRuntime="false"
486 executable="${javac7}"
487 fork="true">
488
489 <include name="**/*.java"/>
490 <compilerarg value="-Xprefer:source"/>
491 <compilerarg value="-XDignore.symbol.file=true"/>
492 <compilerarg value="-Xlint:all"/>
493 <compilerarg line="${build.args}"/>
494
495 </javac>
496 </target>
497
498
499 <target name="4jdk7jar"
500 depends="4jdk7compile"
501 description="Builds library jar from compiled sources">
502
503 <jar destfile="${4jdk7product.jar}">
504 <fileset dir="${build.4jdk7.classes.dir}"/>
505 </jar>
506
507 </target>
508
509
510 <target name="4jdk7-test-tck"
511 depends="4jdk7jar"
512 description="Runs tck tests for jsr166-4jdk7 directly">
513
514 <run-tck-tests
515 target="7"
516 workdir="${build.4jdk7.dir}"
517 classes="${4jdk7product.jar}">
518 <javac-elements>
519 <!-- JDK8+ test classes -->
520 <exclude name="*8Test.java"/>
521 <exclude name="DoubleAccumulatorTest.java"/>
522 <exclude name="DoubleAdderTest.java"/>
523 <exclude name="LongAccumulatorTest.java"/>
524 <exclude name="LongAdderTest.java"/>
525 <exclude name="CompletableFutureTest.java"/>
526 <exclude name="SplittableRandomTest.java"/>
527 <exclude name="StampedLockTest.java"/>
528 </javac-elements>
529 </run-tck-tests>
530 </target>
531
532
533 <target name="4jdk7-test-tck-junit"
534 depends="4jdk7compile"
535 description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
536
537 <junit printsummary="true"
538 showoutput="true"
539 errorProperty="junit.failed"
540 failureProperty="junit.failed"
541 includeantruntime="true"
542 jvm="${java7}"
543 fork="true">
544
545 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
546 <jvmarg value="-server"/>
547
548 <classpath>
549 <pathelement location="${junit.jar}"/>
550 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
551 </classpath>
552
553 <formatter type="brief"/>
554
555 <test name="${jsr166.tckTestClass}" haltonfailure="no">
556 </test>
557
558 </junit>
559 </target>
560
561 <target name="4jdk7-test-jtreg"
562 depends="4jdk7jar"
563 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
564 <run-jtreg-tests
565 target="7"
566 workdir="${build.4jdk7.dir}"
567 classes="${4jdk7product.jar}"
568 jtregflags="-exclude:${jtreg.src.dir}/jdk8tests"/>
569 </target>
570
571
572 <target name="4jdk7-test"
573 depends="4jdk7-test-tck, 4jdk7-test-jtreg"
574 description="Runs tck and jtreg tests for jsr166-4jdk7">
575 </target>
576
577
578 <target name="4jdk7docs"
579 description="Builds javadocs for src/jdk7 to dist dir">
580
581 <delete dir="${4jdk7docs.dir}"/>
582 <mkdir dir="${4jdk7docs.dir}"/>
583
584 <javadoc destdir="${4jdk7docs.dir}"
585 packagenames="none"
586 link="${jdkapi7docs.url}"
587 overview="${4jdk7src.dir}/intro.html"
588 access="${build.javadoc.access}"
589 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
590 classpath=""
591 executable="${javadoc7}">
592 <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
593 <include name="**/*.java"/>
594 </fileset>
595 <arg value="-XDignore.symbol.file=true"/>
596 </javadoc>
597 </target>
598
599
600 <target name="4jdk7dist"
601 depends="4jdk7dist-jar, 4jdk7dist-docs"
602 description="Puts all distributable products in single hierarchy"/>
603
604
605 <target name="4jdk7clean"
606 description="Removes all 4jdk7 build products">
607
608 <delete dir="${build.4jdk7.dir}"/>
609
610 </target>
611
612
613 <target name="4jdk7dist-clean"
614 description="Removes all build and distribution products">
615
616 </target>
617
618 <target name="4jdk7dist-jar"
619 depends="4jdk7clean, 4jdk7jar">
620 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
621 </target>
622
623
624 <target name="4jdk7dist-docs"
625 depends="4jdk7clean, 4jdk7docs">
626 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
627 </target>
628
629
630 <!-- jsr166x -->
631
632 <target name="jsr166xcompile"
633 depends="configure-compiler"
634 description="Compiles jsr166x sources to build dir">
635
636 <mkdir dir="${build.jsr166x.classes.dir}"/>
637
638 <javac srcdir="${topsrc.dir}"
639 destdir="${build.jsr166x.classes.dir}"
640 debug="${build.debug}"
641 debuglevel="${build.debuglevel}"
642 deprecation="${build.deprecation}"
643 classpath=""
644 bootclasspath="${bootclasspath6}"
645 source="5"
646 includeAntRuntime="false"
647 includeJavaRuntime="false"
648 executable="${javac7}"
649 fork="true">
650
651 <include name="jsr166x/**/*.java"/>
652 <compilerarg value="-XDignore.symbol.file=true"/>
653 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
654 <compilerarg line="${build.args}"/>
655
656 </javac>
657 </target>
658
659
660 <target name="jsr166xjar"
661 depends="jsr166xcompile"
662 description="Builds library jar from compiled sources">
663
664 <jar destfile="${jsr166x.jar}">
665 <fileset dir="${build.jsr166x.classes.dir}"/>
666 </jar>
667
668 </target>
669
670
671 <target name="jsr166xdocs"
672 description="Builds javadocs to dist dir">
673
674 <delete dir="${jsr166xdocs.dir}"/>
675 <mkdir dir="${jsr166xdocs.dir}"/>
676
677 <javadoc destdir="${jsr166xdocs.dir}"
678 packagenames="jsr166x.*"
679 link="${jdkapidocs.url}"
680 access="${build.javadoc.access}"
681 sourcepath="${topsrc.dir}:${jdk6src.dir}"
682 bootclasspath="${bootclasspath6}"
683 source="5"
684 executable="${javadoc7}">
685 <arg value="-XDignore.symbol.file=true"/>
686
687 </javadoc>
688 </target>
689
690
691 <target name="jsr166xdist"
692 depends="jsr166xdist-jar, jsr166xdist-docs"
693 description="Puts all distributable products in single hierarchy"/>
694
695
696 <target name="jsr166xclean"
697 description="Removes all jsr166x build products">
698
699 <delete dir="${build.jsr166x.dir}"/>
700
701 </target>
702
703
704 <target name="jsr166xdist-clean"
705 description="Removes all build and distribution products">
706
707 </target>
708
709
710 <target name="jsr166xdist-jar"
711 depends="jsr166xclean, jsr166xjar">
712 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
713 </target>
714
715 <target name="jsr166xdist-docs"
716 depends="jsr166xclean, jsr166xdocs">
717 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
718 </target>
719
720 <!-- jsr166y -->
721
722
723 <target name="jsr166ycompile"
724 depends="configure-compiler"
725 description="Compiles jsr166y sources">
726
727 <mkdir dir="${build.jsr166y.classes.dir}"/>
728
729 <javac srcdir="${topsrc.dir}"
730 destdir="${build.jsr166y.classes.dir}"
731 debug="${build.debug}"
732 debuglevel="${build.debuglevel}"
733 deprecation="${build.deprecation}"
734 source="6"
735 classpath=""
736 bootclasspath="${bootclasspath6}"
737 includeAntRuntime="false"
738 includeJavaRuntime="false"
739 executable="${javac7}"
740 fork="true">
741
742 <include name="jsr166y/**/*.java"/>
743 <compilerarg value="-XDignore.symbol.file=true"/>
744 <compilerarg value="-Xlint:all"/>
745 <compilerarg line="${build.args}"/>
746
747 </javac>
748 </target>
749
750
751 <target name="jsr166yjar"
752 depends="jsr166ycompile"
753 description="Builds library jar from compiled sources">
754
755 <jar destfile="${jsr166y.jar}" index="true">
756 <fileset dir="${build.jsr166y.classes.dir}"/>
757 </jar>
758
759 </target>
760
761
762 <target name="jsr166ydocs"
763 description="Builds javadocs to dist dir">
764
765 <delete dir="${jsr166ydocs.dir}"/>
766 <mkdir dir="${jsr166ydocs.dir}"/>
767
768 <javadoc destdir="${jsr166ydocs.dir}"
769 packagenames="jsr166y.*"
770 link="${jdkapidocs.url}"
771 access="${build.javadoc.access}"
772 sourcepath="${topsrc.dir}:${jdk6src.dir}"
773 bootclasspath="${bootclasspath6}"
774 source="6"
775 executable="${javadoc7}">
776 <arg value="-XDignore.symbol.file=true"/>
777
778 </javadoc>
779 </target>
780
781
782 <target name="jsr166ydist"
783 depends="jsr166ydist-jar, jsr166ydist-docs"
784 description="Puts all distributable products in single hierarchy"/>
785
786
787 <target name="jsr166yclean"
788 description="Removes all jsr166y build products">
789
790 <delete dir="${build.jsr166y.dir}"/>
791
792 </target>
793
794
795 <target name="jsr166ydist-clean"
796 description="Removes all build and distribution products">
797
798 </target>
799
800 <target name="jsr166ydist-jar"
801 depends="jsr166yclean, jsr166yjar">
802 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
803 </target>
804
805 <target name="jsr166ydist-docs"
806 depends="jsr166yclean, jsr166ydocs">
807 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
808 </target>
809
810
811 <!-- extra166y -->
812
813
814 <target name="extra166ycompile"
815 depends="configure-compiler, jsr166yjar"
816 description="Compiles extra166y sources">
817
818 <mkdir dir="${build.extra166y.classes.dir}"/>
819
820 <javac srcdir="${topsrc.dir}"
821 destdir="${build.extra166y.classes.dir}"
822 debug="${build.debug}"
823 debuglevel="${build.debuglevel}"
824 deprecation="${build.deprecation}"
825 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
826 classpath=""
827 source="6"
828 includeAntRuntime="false"
829 includeJavaRuntime="false"
830 executable="${javac7}"
831 fork="true">
832
833 <include name="extra166y/**/*.java"/>
834 <compilerarg value="-XDignore.symbol.file=true"/>
835 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
836 <compilerarg line="${build.args}"/>
837
838 </javac>
839 </target>
840
841
842 <target name="extra166yjar"
843 depends="extra166ycompile"
844 description="Builds library jar from compiled sources">
845
846 <jar destfile="${extra166y.jar}" index="true">
847 <fileset dir="${build.extra166y.classes.dir}"/>
848 </jar>
849
850 </target>
851
852
853 <target name="extra166ydocs"
854 description="Builds javadocs to build dir">
855
856 <delete dir="${extra166ydocs.dir}"/>
857 <mkdir dir="${extra166ydocs.dir}"/>
858
859 <javadoc destdir="${extra166ydocs.dir}"
860 packagenames="extra166y.*"
861 link="${jdkapidocs.url}"
862 access="${build.javadoc.access}"
863 sourcepath="${topsrc.dir}:${jdk6src.dir}"
864 bootclasspath="${bootclasspath6}"
865 source="6"
866 executable="${javadoc7}">
867 <arg value="-XDignore.symbol.file=true"/>
868
869 </javadoc>
870 </target>
871
872
873 <target name="extra166ydist"
874 depends="extra166ydist-jar, extra166ydist-docs"
875 description="Puts all distributable products in single hierarchy"/>
876
877
878 <target name="extra166yclean"
879 description="Removes all extra166y build products">
880
881 <delete dir="${build.extra166y.dir}"/>
882
883 </target>
884
885
886 <target name="extra166ydist-clean"
887 description="Removes all build and distribution products">
888
889 </target>
890
891 <target name="extra166ydist-jar"
892 depends="extra166yclean, extra166yjar">
893 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
894 </target>
895
896 <target name="extra166ydist-docs"
897 depends="extra166yclean, extra166ydocs">
898 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
899 </target>
900
901 <!-- jsr166e -->
902
903 <property name="build.jsr166e.java.version" value="6"/>
904 <property name="build.jsr166e.javac" value="${javac6}"/>
905
906 <target name="jsr166ecompile"
907 depends="configure-compiler"
908 description="Compiles jsr166e sources">
909
910 <mkdir dir="${build.jsr166e.classes.dir}"/>
911
912 <javac srcdir="${topsrc.dir}"
913 destdir="${build.jsr166e.classes.dir}"
914 debug="${build.debug}"
915 debuglevel="${build.debuglevel}"
916 deprecation="${build.deprecation}"
917 source="${build.jsr166e.java.version}"
918 classpath=""
919 includeAntRuntime="false"
920 includeJavaRuntime="false"
921 executable="${build.jsr166e.javac}"
922 fork="true">
923
924 <include name="jsr166e/**/*.java"/>
925 <compilerarg value="-XDignore.symbol.file=true"/>
926 <compilerarg value="-Xlint:all"/>
927 <compilerarg line="${build.args}"/>
928
929 </javac>
930 </target>
931
932
933 <target name="jsr166ejar"
934 depends="jsr166ecompile"
935 description="Builds library jar from compiled sources">
936
937 <jar destfile="${jsr166e.jar}" index="true">
938 <fileset dir="${build.jsr166e.classes.dir}"/>
939 </jar>
940
941 </target>
942
943
944 <target name="jsr166edocs"
945 description="Builds javadocs to build dir">
946
947 <delete dir="${jsr166edocs.dir}"/>
948 <mkdir dir="${jsr166edocs.dir}"/>
949
950 <javadoc destdir="${jsr166edocs.dir}"
951 packagenames="jsr166e.*"
952 link="${jdkapidocs.url}"
953 access="${build.javadoc.access}"
954 sourcepath="${topsrc.dir}:${jdk6src.dir}"
955 source="${build.jsr166e.java.version}"
956 executable="${javadoc7}">
957 <arg value="-XDignore.symbol.file=true"/>
958
959 </javadoc>
960 </target>
961
962
963 <target name="jsr166e-test-tck-one-java-version"
964 depends="jsr166ejar"
965 description="Runs tck tests for jsr166e">
966
967 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
968
969 <run-tck-tests
970 tck.src.dir="${test.src.dir}/tck-jsr166e"
971 target="${build.jsr166e.java.version}"
972 workdir="${build.jsr166e.dir}"
973 classes="${jsr166e.jar}"/>
974 </target>
975
976 <target name="jsr166e-test-tck"
977 description="Runs tck tests for jsr166e for multiple java versions">
978
979 <!-- <antcall target="clean"/> -->
980 <!-- <antcall target="jsr166e-test-tck-one-java-version"> -->
981 <!-- <param name="build.jsr166e.java.version" value="8"/> -->
982 <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
983 <!-- </antcall> -->
984
985 <antcall target="clean"/>
986 <antcall target="jsr166e-test-tck-one-java-version">
987 <param name="build.jsr166e.java.version" value="7"/>
988 <param name="build.jsr166e.javac" value="${javac7}"/>
989 </antcall>
990
991 <antcall target="clean"/>
992 <antcall target="jsr166e-test-tck-one-java-version">
993 <param name="build.jsr166e.java.version" value="6"/>
994 <param name="build.jsr166e.javac" value="${javac6}"/>
995 </antcall>
996 </target>
997
998
999 <target name="jsr166edist"
1000 depends="jsr166edist-jar, jsr166edist-docs"
1001 description="Puts all distributable products in single hierarchy"/>
1002
1003
1004 <target name="jsr166eclean"
1005 description="Removes all jsr166e build products">
1006 <delete dir="${build.jsr166e.dir}"/>
1007 </target>
1008
1009
1010 <target name="jsr166edist-clean"
1011 description="Removes all build and distribution products">
1012
1013 </target>
1014
1015 <target name="jsr166edist-jar"
1016 depends="jsr166eclean, jsr166ejar">
1017 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1018 </target>
1019
1020 <target name="jsr166edist-docs"
1021 depends="jsr166eclean, jsr166edocs">
1022 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1023 </target>
1024
1025
1026 <!-- Find buglets that can be detected by static build tools -->
1027
1028 <target name="lint">
1029 <antcall target="dists">
1030 <param name="build.javadoc.access" value="private"/>
1031 </antcall>
1032 </target>
1033
1034
1035 </project>