ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.123
Committed: Tue Jan 22 20:22:00 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.122: +1 -1 lines
Log Message:
adjust date

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