ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.142
Committed: Tue Jun 18 20:54:57 2013 UTC (10 years, 10 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.141: +1 -166 lines
Log Message:
delete legacy test infrastructure

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 </javadoc>
336 </target>
337
338
339 <target name="dist"
340 depends="dist-clean, dist-jar, dist-docs"
341 description="Puts all distributable products in single hierarchy"/>
342
343
344 <target name="release"
345 depends="dist"
346 description="Puts entire CVS tree, plus distribution productions, in a jar">
347
348 <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
349
350 <jar basedir="${basedir}" destfile="${release.jar}">
351 <!-- <exclude name="build/**"/> -->
352 <exclude name="${release.jar}"/>
353 <exclude name="user.properties"/>
354 <exclude name="etc/notes/**"/>
355 <exclude name="src/emulation/**"/>
356 <exclude name="**/SyntaxTest.java"/>
357 <exclude name="**/SuperfluousAbstract.java"/>
358 </jar>
359 </target>
360
361
362 <target name="clean"
363 description="Removes all build products">
364
365 <delete dir="${build.dir}"/>
366
367 </target>
368
369
370 <target name="dist-clean"
371 description="Removes all build and distribution products">
372
373 <delete dir="${dist.dir}"/>
374
375 </target>
376
377
378 <target name="dist-jar"
379 depends="clean, jar">
380 <copy file="${product.jar}" todir="${dist.dir}"/>
381 </target>
382
383 <target name="dist-docs"
384 depends="clean, docs">
385 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
386 </target>
387
388
389 <target name="test-tck"
390 depends="jar"
391 description="Runs tck tests for main directly">
392
393 <run-tck-tests
394 target="8"
395 workdir="${build.dir}"
396 classes="${product.jar}"/>
397 </target>
398
399 <target name="test-jtreg"
400 depends="jar"
401 description="Runs jtreg tests for main using the jtreg ant task">
402 <run-jtreg-tests
403 target="8"
404 workdir="${build.dir}"
405 classes="${product.jar}"/>
406 </target>
407
408 <target name="test"
409 depends="test-tck, test-jtreg"
410 description="Runs tck and jtreg tests for main">
411 </target>
412
413
414
415 <target name="configure-compiler">
416
417 <property name="unchecked.option" value="-Xlint:unchecked"/>
418
419 <condition property="warnunchecked.arg" value="${unchecked.option}">
420 <istrue value="${build.warnunchecked}"/>
421 </condition>
422
423 <property name="warnunchecked.arg" value=""/>
424
425
426 <!-- Common options in javac invocations -->
427 <property name="build.args" value="${warnunchecked.arg}"/>
428
429 </target>
430
431
432
433 <!-- Various demos and test programs -->
434
435
436 <target name="loops" depends="configure-compiler"
437 description="Benchmark from Doug Lea's AQS paper">
438
439 <mkdir dir="${build.loops.dir}"/>
440
441 <javac srcdir="${loops.src.dir}"
442 destdir="${build.loops.dir}"
443 debug="${build.debug}"
444 debuglevel="${build.debuglevel}"
445 deprecation="${build.deprecation}"
446 source="${build.sourcelevel}"
447 fork="true">
448
449 <compilerarg line="${build.args}"/>
450 <classpath refid="loops.classpath"/>
451 <compilerarg value="-XDignore.symbol.file=true"/>
452
453 </javac>
454
455 <java classname="ALoops" fork="true">
456 <classpath refid="loops.classpath"/>
457 </java>
458
459 </target>
460
461
462 <!-- jsr166 4jdk7 -->
463
464 <target name="4jdk7compile"
465 depends="configure-compiler"
466 description="Compiles src/jdk7 sources, targeting jdk7">
467
468 <mkdir dir="${build.4jdk7.classes.dir}"/>
469
470 <javac srcdir="${4jdk7src.dir}"
471 destdir="${build.4jdk7.classes.dir}"
472 debug="${build.debug}"
473 debuglevel="${build.debuglevel}"
474 deprecation="${build.deprecation}"
475 source="6"
476 classpath=""
477 bootclasspath="${bootclasspath6}"
478 includeAntRuntime="false"
479 includeJavaRuntime="false"
480 executable="${javac7}"
481 fork="true">
482
483 <include name="**/*.java"/>
484 <compilerarg value="-Xprefer:source"/>
485 <compilerarg value="-XDignore.symbol.file=true"/>
486 <compilerarg value="-Xlint:all"/>
487 <compilerarg line="${build.args}"/>
488
489 </javac>
490 </target>
491
492
493 <target name="4jdk7jar"
494 depends="4jdk7compile"
495 description="Builds library jar from compiled sources">
496
497 <jar destfile="${4jdk7product.jar}">
498 <fileset dir="${build.4jdk7.classes.dir}"/>
499 </jar>
500
501 </target>
502
503
504 <target name="4jdk7-test-tck"
505 depends="4jdk7jar"
506 description="Runs tck tests for jsr166-4jdk7 directly">
507
508 <run-tck-tests
509 target="7"
510 workdir="${build.4jdk7.dir}"
511 classes="${4jdk7product.jar}">
512 <javac-elements>
513 <!-- JDK8+ test classes -->
514 <exclude name="*8Test.java"/>
515 <exclude name="DoubleAccumulatorTest.java"/>
516 <exclude name="DoubleAdderTest.java"/>
517 <exclude name="LongAccumulatorTest.java"/>
518 <exclude name="LongAdderTest.java"/>
519 <exclude name="CompletableFutureTest.java"/>
520 <exclude name="StampedLockTest.java"/>
521 </javac-elements>
522 </run-tck-tests>
523 </target>
524
525
526 <target name="4jdk7-test-tck-junit"
527 depends="4jdk7compile"
528 description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
529
530 <junit printsummary="true"
531 showoutput="true"
532 errorProperty="junit.failed"
533 failureProperty="junit.failed"
534 includeantruntime="true"
535 jvm="${java7}"
536 fork="true">
537
538 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
539 <jvmarg value="-server"/>
540
541 <classpath>
542 <pathelement location="${junit.jar}"/>
543 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
544 </classpath>
545
546 <formatter type="brief"/>
547
548 <test name="${jsr166.tckTestClass}" haltonfailure="no">
549 </test>
550
551 </junit>
552 </target>
553
554 <target name="4jdk7-test-jtreg"
555 depends="4jdk7jar"
556 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
557 <run-jtreg-tests
558 target="7"
559 workdir="${build.4jdk7.dir}"
560 classes="${4jdk7product.jar}"
561 jtregflags="-exclude:${jtreg.src.dir}/jdk8tests"/>
562 </target>
563
564
565 <target name="4jdk7-test"
566 depends="4jdk7-test-tck, 4jdk7-test-jtreg"
567 description="Runs tck and jtreg tests for jsr166-4jdk7">
568 </target>
569
570
571 <target name="4jdk7docs"
572 description="Builds javadocs for src/jdk7 to dist dir">
573
574 <delete dir="${4jdk7docs.dir}"/>
575 <mkdir dir="${4jdk7docs.dir}"/>
576
577 <javadoc destdir="${4jdk7docs.dir}"
578 packagenames="none"
579 link="${jdkapi7docs.url}"
580 overview="${4jdk7src.dir}/intro.html"
581 access="${build.javadoc.access}"
582 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
583 classpath=""
584 executable="${javadoc7}">
585 <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
586 <include name="**/*.java"/>
587 </fileset>
588 <arg value="-XDignore.symbol.file=true"/>
589 </javadoc>
590 </target>
591
592
593 <target name="4jdk7dist"
594 depends="4jdk7dist-jar, 4jdk7dist-docs"
595 description="Puts all distributable products in single hierarchy"/>
596
597
598 <target name="4jdk7clean"
599 description="Removes all 4jdk7 build products">
600
601 <delete dir="${build.4jdk7.dir}"/>
602
603 </target>
604
605
606 <target name="4jdk7dist-clean"
607 description="Removes all build and distribution products">
608
609 </target>
610
611 <target name="4jdk7dist-jar"
612 depends="4jdk7clean, 4jdk7jar">
613 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
614 </target>
615
616
617 <target name="4jdk7dist-docs"
618 depends="4jdk7clean, 4jdk7docs">
619 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
620 </target>
621
622
623 <!-- jsr166x -->
624
625 <target name="jsr166xcompile"
626 depends="configure-compiler"
627 description="Compiles jsr166x sources to build dir">
628
629 <mkdir dir="${build.jsr166x.classes.dir}"/>
630
631 <javac srcdir="${topsrc.dir}"
632 destdir="${build.jsr166x.classes.dir}"
633 debug="${build.debug}"
634 debuglevel="${build.debuglevel}"
635 deprecation="${build.deprecation}"
636 classpath=""
637 bootclasspath="${bootclasspath6}"
638 source="5"
639 includeAntRuntime="false"
640 includeJavaRuntime="false"
641 executable="${javac7}"
642 fork="true">
643
644 <include name="jsr166x/**/*.java"/>
645 <compilerarg value="-XDignore.symbol.file=true"/>
646 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
647 <compilerarg line="${build.args}"/>
648
649 </javac>
650 </target>
651
652
653 <target name="jsr166xjar"
654 depends="jsr166xcompile"
655 description="Builds library jar from compiled sources">
656
657 <jar destfile="${jsr166x.jar}">
658 <fileset dir="${build.jsr166x.classes.dir}"/>
659 </jar>
660
661 </target>
662
663
664 <target name="jsr166xdocs"
665 description="Builds javadocs to dist dir">
666
667 <delete dir="${jsr166xdocs.dir}"/>
668 <mkdir dir="${jsr166xdocs.dir}"/>
669
670 <javadoc destdir="${jsr166xdocs.dir}"
671 packagenames="jsr166x.*"
672 link="${jdkapidocs.url}"
673 access="${build.javadoc.access}"
674 sourcepath="${topsrc.dir}:${jdk6src.dir}"
675 bootclasspath="${bootclasspath6}"
676 source="5"
677 executable="${javadoc7}">
678 <arg value="-XDignore.symbol.file=true"/>
679
680 </javadoc>
681 </target>
682
683
684 <target name="jsr166xdist"
685 depends="jsr166xdist-jar, jsr166xdist-docs"
686 description="Puts all distributable products in single hierarchy"/>
687
688
689 <target name="jsr166xclean"
690 description="Removes all jsr166x build products">
691
692 <delete dir="${build.jsr166x.dir}"/>
693
694 </target>
695
696
697 <target name="jsr166xdist-clean"
698 description="Removes all build and distribution products">
699
700 </target>
701
702
703 <target name="jsr166xdist-jar"
704 depends="jsr166xclean, jsr166xjar">
705 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
706 </target>
707
708 <target name="jsr166xdist-docs"
709 depends="jsr166xclean, jsr166xdocs">
710 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
711 </target>
712
713 <!-- jsr166y -->
714
715
716 <target name="jsr166ycompile"
717 depends="configure-compiler"
718 description="Compiles jsr166y sources">
719
720 <mkdir dir="${build.jsr166y.classes.dir}"/>
721
722 <javac srcdir="${topsrc.dir}"
723 destdir="${build.jsr166y.classes.dir}"
724 debug="${build.debug}"
725 debuglevel="${build.debuglevel}"
726 deprecation="${build.deprecation}"
727 source="6"
728 classpath=""
729 bootclasspath="${bootclasspath6}"
730 includeAntRuntime="false"
731 includeJavaRuntime="false"
732 executable="${javac7}"
733 fork="true">
734
735 <include name="jsr166y/**/*.java"/>
736 <compilerarg value="-XDignore.symbol.file=true"/>
737 <compilerarg value="-Xlint:all"/>
738 <compilerarg line="${build.args}"/>
739
740 </javac>
741 </target>
742
743
744 <target name="jsr166yjar"
745 depends="jsr166ycompile"
746 description="Builds library jar from compiled sources">
747
748 <jar destfile="${jsr166y.jar}" index="true">
749 <fileset dir="${build.jsr166y.classes.dir}"/>
750 </jar>
751
752 </target>
753
754
755 <target name="jsr166ydocs"
756 description="Builds javadocs to dist dir">
757
758 <delete dir="${jsr166ydocs.dir}"/>
759 <mkdir dir="${jsr166ydocs.dir}"/>
760
761 <javadoc destdir="${jsr166ydocs.dir}"
762 packagenames="jsr166y.*"
763 link="${jdkapidocs.url}"
764 access="${build.javadoc.access}"
765 sourcepath="${topsrc.dir}:${jdk6src.dir}"
766 bootclasspath="${bootclasspath6}"
767 source="6"
768 executable="${javadoc7}">
769 <arg value="-XDignore.symbol.file=true"/>
770
771 </javadoc>
772 </target>
773
774
775 <target name="jsr166ydist"
776 depends="jsr166ydist-jar, jsr166ydist-docs"
777 description="Puts all distributable products in single hierarchy"/>
778
779
780 <target name="jsr166yclean"
781 description="Removes all jsr166y build products">
782
783 <delete dir="${build.jsr166y.dir}"/>
784
785 </target>
786
787
788 <target name="jsr166ydist-clean"
789 description="Removes all build and distribution products">
790
791 </target>
792
793 <target name="jsr166ydist-jar"
794 depends="jsr166yclean, jsr166yjar">
795 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
796 </target>
797
798 <target name="jsr166ydist-docs"
799 depends="jsr166yclean, jsr166ydocs">
800 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
801 </target>
802
803
804 <!-- extra166y -->
805
806
807 <target name="extra166ycompile"
808 depends="configure-compiler, jsr166yjar"
809 description="Compiles extra166y sources">
810
811 <mkdir dir="${build.extra166y.classes.dir}"/>
812
813 <javac srcdir="${topsrc.dir}"
814 destdir="${build.extra166y.classes.dir}"
815 debug="${build.debug}"
816 debuglevel="${build.debuglevel}"
817 deprecation="${build.deprecation}"
818 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
819 classpath=""
820 source="6"
821 includeAntRuntime="false"
822 includeJavaRuntime="false"
823 executable="${javac7}"
824 fork="true">
825
826 <include name="extra166y/**/*.java"/>
827 <compilerarg value="-XDignore.symbol.file=true"/>
828 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
829 <compilerarg line="${build.args}"/>
830
831 </javac>
832 </target>
833
834
835 <target name="extra166yjar"
836 depends="extra166ycompile"
837 description="Builds library jar from compiled sources">
838
839 <jar destfile="${extra166y.jar}" index="true">
840 <fileset dir="${build.extra166y.classes.dir}"/>
841 </jar>
842
843 </target>
844
845
846 <target name="extra166ydocs"
847 description="Builds javadocs to build dir">
848
849 <delete dir="${extra166ydocs.dir}"/>
850 <mkdir dir="${extra166ydocs.dir}"/>
851
852 <javadoc destdir="${extra166ydocs.dir}"
853 packagenames="extra166y.*"
854 link="${jdkapidocs.url}"
855 access="${build.javadoc.access}"
856 sourcepath="${topsrc.dir}:${jdk6src.dir}"
857 bootclasspath="${bootclasspath6}"
858 source="6"
859 executable="${javadoc7}">
860 <arg value="-XDignore.symbol.file=true"/>
861
862 </javadoc>
863 </target>
864
865
866 <target name="extra166ydist"
867 depends="extra166ydist-jar, extra166ydist-docs"
868 description="Puts all distributable products in single hierarchy"/>
869
870
871 <target name="extra166yclean"
872 description="Removes all extra166y build products">
873
874 <delete dir="${build.extra166y.dir}"/>
875
876 </target>
877
878
879 <target name="extra166ydist-clean"
880 description="Removes all build and distribution products">
881
882 </target>
883
884 <target name="extra166ydist-jar"
885 depends="extra166yclean, extra166yjar">
886 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
887 </target>
888
889 <target name="extra166ydist-docs"
890 depends="extra166yclean, extra166ydocs">
891 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
892 </target>
893
894 <!-- jsr166e -->
895
896 <target name="jsr166ecompile"
897 depends="configure-compiler"
898 description="Compiles jsr166e sources">
899
900 <mkdir dir="${build.jsr166e.classes.dir}"/>
901
902 <javac srcdir="${topsrc.dir}"
903 destdir="${build.jsr166e.classes.dir}"
904 debug="${build.debug}"
905 debuglevel="${build.debuglevel}"
906 deprecation="${build.deprecation}"
907 source="7"
908 classpath=""
909 includeAntRuntime="false"
910 includeJavaRuntime="false"
911 executable="${javac7}"
912 fork="true">
913
914 <include name="jsr166e/**/*.java"/>
915 <compilerarg value="-XDignore.symbol.file=true"/>
916 <compilerarg value="-Xlint:all"/>
917 <compilerarg line="${build.args}"/>
918
919 </javac>
920 </target>
921
922
923 <target name="jsr166ejar"
924 depends="jsr166ecompile"
925 description="Builds library jar from compiled sources">
926
927 <jar destfile="${jsr166e.jar}" index="true">
928 <fileset dir="${build.jsr166e.classes.dir}"/>
929 </jar>
930
931 </target>
932
933
934 <target name="jsr166edocs"
935 description="Builds javadocs to build dir">
936
937 <delete dir="${jsr166edocs.dir}"/>
938 <mkdir dir="${jsr166edocs.dir}"/>
939
940 <javadoc destdir="${jsr166edocs.dir}"
941 packagenames="jsr166e.*"
942 link="${jdkapidocs.url}"
943 access="${build.javadoc.access}"
944 sourcepath="${topsrc.dir}:${jdk7src.dir}"
945 source="7"
946 executable="${javadoc7}">
947 <arg value="-XDignore.symbol.file=true"/>
948
949 </javadoc>
950 </target>
951
952
953 <target name="jsr166e-test-tck"
954 depends="jsr166ejar"
955 description="Runs tck tests for jsr166e">
956
957 <run-tck-tests
958 tck.src.dir="${test.src.dir}/tck-jsr166e"
959 target="7"
960 workdir="${build.jsr166e.dir}"
961 classes="${jsr166e.jar}"/>
962 </target>
963
964
965 <target name="jsr166edist"
966 depends="jsr166edist-jar, jsr166edist-docs"
967 description="Puts all distributable products in single hierarchy"/>
968
969
970 <target name="jsr166eclean"
971 description="Removes all jsr166e build products">
972 <delete dir="${build.jsr166e.dir}"/>
973 </target>
974
975
976 <target name="jsr166edist-clean"
977 description="Removes all build and distribution products">
978
979 </target>
980
981 <target name="jsr166edist-jar"
982 depends="jsr166eclean, jsr166ejar">
983 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
984 </target>
985
986 <target name="jsr166edist-docs"
987 depends="jsr166eclean, jsr166edocs">
988 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
989 </target>
990
991
992 <!-- Find buglets that can be detected by static build tools -->
993
994 <target name="lint">
995 <antcall target="dists">
996 <param name="build.javadoc.access" value="private"/>
997 </antcall>
998 </target>
999
1000
1001 </project>