ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.109
Committed: Sun Jan 20 01:06:24 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.108: +22 -49 lines
Log Message:
build.xml rewrite continued

File Contents

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