ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.126
Committed: Wed Jan 23 06:46:27 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.125: +4 -4 lines
Log Message:
whitespace

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