ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.111
Committed: Sun Jan 20 03:34:23 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.110: +28 -16 lines
Log Message:
fix compile-tests target

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