ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.129
Committed: Wed Jan 23 07:17:13 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.128: +4 -2 lines
Log Message:
make usage target actually print projecthelp

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