ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.110
Committed: Sun Jan 20 01:09:12 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.109: +0 -1 lines
Log Message:
delete obsolete variable jdksrc.dir

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     destdir="${build.testcases.dir}"
311     debug="${build.debug}"
312     debuglevel="${build.debuglevel}"
313     deprecation="${build.deprecation}"
314     source="${build.sourcelevel}"
315     fork="true">
316    
317     <compilerarg value="${bootclasspath.args}"/>
318     <compilerarg line="${build.args}"/>
319 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
320 jsr166 1.65
321 tim 1.60 <classpath refid="test.classpath"/>
322    
323     </javac>
324    
325     <javac srcdir="${test.src.dir}"
326 tim 1.1 destdir="${build.testcases.dir}"
327     debug="${build.debug}"
328     debuglevel="${build.debuglevel}"
329     deprecation="${build.deprecation}"
330     source="${build.sourcelevel}"
331     fork="true">
332    
333 tim 1.60 <include name="jsr166/test/**"/>
334 jsr166 1.65
335 tim 1.59 <compilerarg value="${bootclasspath.args}"/>
336 tim 1.57 <compilerarg line="${build.args}"/>
337 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
338 jsr166 1.65
339 tim 1.57 <classpath refid="test.classpath"/>
340 tim 1.1
341     </javac>
342 tim 1.27
343 tim 1.62 <!--
344     <javac srcdir="${jtreg.src.dir}"
345     destdir="${build.testcases.dir}"
346     debug="${build.debug}"
347     debuglevel="${build.debuglevel}"
348     deprecation="${build.deprecation}"
349     source="${build.sourcelevel}"
350     fork="true">
351    
352     <compilerarg value="${bootclasspath.args}"/>
353     <compilerarg line="${build.args}"/>
354 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
355 jsr166 1.65
356 tim 1.62 <classpath refid="test.classpath"/>
357    
358     </javac>
359     -->
360    
361 tim 1.1 </target>
362 tim 1.11
363 tim 1.1
364 tim 1.28 <target name="run-tests"
365     depends="compile-tests">
366 tim 1.27
367     <!-- May be overridden by user.properties -->
368     <property name="testcase" value="*"/>
369    
370 tim 1.1 <mkdir dir="${build.reports.dir}"/>
371 tim 1.27
372 tim 1.1 <junit printsummary="true"
373     showoutput="true"
374     errorProperty="junit.failed"
375     failureProperty="junit.failed"
376 tim 1.12 dir="${build.reports.dir}"
377     fork="true">
378    
379 tim 1.59 <jvmarg value="${bootclasspath.args}"/>
380 tim 1.64 <jvmarg value="-server"/>
381     <jvmarg value="-showversion"/>
382 jsr166 1.65
383 tim 1.59 <classpath refid="test.classpath"/>
384 tim 1.1
385     <formatter type="xml"/>
386    
387 tim 1.62 <batchtest todir="${build.reports.dir}" unless="no.test.tck">
388 tim 1.60 <fileset dir="${tck.src.dir}">
389     <include name="**/${testcase}Test.java"/>
390     </fileset>
391 tim 1.62 </batchtest>
392 jsr166 1.65
393 tim 1.62 <batchtest todir="${build.reports.dir}" if="do.test.old">
394 tim 1.60 <fileset dir="${test.src.dir}">
395     <include name="jsr166/test/**/${testcase}Test.java"/>
396 tim 1.1 </fileset>
397     </batchtest>
398 tim 1.62
399 jsr166 1.65 <!--
400 tim 1.62 <batchtest todir="${build.reports.dir}" if="do.test.jtreg">
401     <fileset dir="${jtreg.src.dir}">
402     <include name="**/${testcase}Test.java"/>
403     </fileset>
404     </batchtest>
405     -->
406 tim 1.1
407     </junit>
408 tim 1.27
409 tim 1.1 </target>
410    
411    
412 tim 1.28 <target name="report-tests"
413     depends="run-tests">
414    
415 tim 1.54 <!-- Sets junit.report.format to frames if redirection is present,
416 tim 1.1 otherwise sets it to noframes. -->
417     <available property="junit.report.format"
418     value="frames"
419     classname="org.apache.xalan.lib.Redirect"
420     />
421     <property name="junit.report.format" value="noframes"/>
422    
423     <junitreport todir="${build.reports.dir}">
424     <fileset dir="${build.reports.dir}">
425     <include name="TEST-*.xml"/>
426     </fileset>
427 jsr166 1.75 <report format="${junit.report.format}" todir="${build.reports.dir}"
428 tim 1.1 />
429     </junitreport>
430    
431     <fail message="Test Cases Failed" if="junit.failed"/>
432 tim 1.28
433 tim 1.18 </target>
434    
435    
436 tim 1.32 <target name="configure-compiler">
437 tim 1.54
438     <property name="unchecked.option" value="-Xlint:unchecked"/>
439    
440     <condition property="warnunchecked.arg" value="${unchecked.option}">
441 tim 1.57 <istrue value="${build.warnunchecked}"/>
442 tim 1.32 </condition>
443    
444 tim 1.37 <property name="warnunchecked.arg" value=""/>
445 tim 1.34
446 tim 1.32
447     <!-- Common options in javac invocations -->
448 tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
449 tim 1.33
450     </target>
451    
452    
453 tim 1.37 <target name="configure-tests"
454     depends="configure-compiler">
455 tim 1.28
456     <!-- junit.framework.Protectable is in JUnit 3.8.1 but not in 3.7 -->
457 tim 1.18 <available property="junit.available"
458 tim 1.28 classname="junit.framework.Protectable"/>
459    
460 tim 1.54 <!-- Xalan -->
461     <available property="xalan.available"
462     classname="org.apache.xalan.Version"/>
463    
464 jsr166 1.65
465 tim 1.59 <!-- Ant 1.6beta and later don't need or want this check -->
466 jsr166 1.65 <!--
467 tim 1.59 <fail message="Need JUnit 3.8.1 in ${ant.home}${file.separator}lib to run tests"
468     unless="junit.available"/>
469    
470 tim 1.54 <fail message="Need Xalan 2.5.1 jar in ${ant.home}${file.separator}lib to run tests"
471     unless="xalan.available"/>
472 tim 1.59 -->
473 tim 1.30
474 tim 1.28 </target>
475    
476    
477 jsr166 1.65 <!-- Various demos and test programs -->
478    
479    
480 jsr166 1.103 <target name="loops" depends="configure-compiler"
481 jsr166 1.65 description="Benchmark from Doug Lea's AQS paper">
482    
483     <mkdir dir="${build.loops.dir}"/>
484    
485     <javac srcdir="${loops.src.dir}"
486     destdir="${build.loops.dir}"
487     debug="${build.debug}"
488     debuglevel="${build.debuglevel}"
489     deprecation="${build.deprecation}"
490     source="${build.sourcelevel}"
491     fork="true">
492    
493     <compilerarg line="${build.args}"/>
494     <classpath refid="loops.classpath"/>
495 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
496 jsr166 1.65
497     </javac>
498    
499     <java classname="ALoops" fork="true">
500     <classpath refid="loops.classpath"/>
501     </java>
502    
503     </target>
504    
505    
506 jsr166 1.99 <!-- jsr166 4jdk7 -->
507 jsr166 1.92
508    
509 jsr166 1.99 <target name="4jdk7compile"
510 jsr166 1.92 depends="configure-compiler"
511 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
512 jsr166 1.92
513 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
514 jsr166 1.92
515 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
516     destdir="${build.4jdk7.classes.dir}"
517 jsr166 1.92 debug="${build.debug}"
518     debuglevel="${build.debuglevel}"
519     deprecation="${build.deprecation}"
520 jsr166 1.107 source="6"
521 jsr166 1.92 classpath=""
522     bootclasspath="${bootclasspath6}"
523     includeAntRuntime="false"
524     includeJavaRuntime="false"
525 jsr166 1.97 executable="${javac7}"
526 jsr166 1.92 fork="true">
527    
528     <include name="**/*.java"/>
529     <compilerarg line="${build.args}"/>
530     <compilerarg value="-XDignore.symbol.file=true"/>
531     <compilerarg value="-Xlint:all"/>
532    
533     </javac>
534    
535 jsr166 1.99 <jar destfile="${4jdk7product.jar}" index="true">
536     <fileset dir="${build.4jdk7.classes.dir}"/>
537 jsr166 1.97 </jar>
538    
539 jsr166 1.99 <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
540 jsr166 1.97
541     <javac srcdir="${tck.src.dir}"
542 jsr166 1.99 destdir="${build.4jdk7.tck.classes.dir}"
543 jsr166 1.97 debug="${build.debug}"
544     debuglevel="${build.debuglevel}"
545     deprecation="${build.deprecation}"
546 jsr166 1.107 source="6"
547 jsr166 1.97 classpath="${junit.jar}"
548 jsr166 1.99 bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
549 jsr166 1.97 includeAntRuntime="false"
550     includeJavaRuntime="false"
551     executable="${javac7}"
552     fork="true">
553    
554     <include name="**/*.java"/>
555     <compilerarg line="${build.args}"/>
556     <compilerarg value="-XDignore.symbol.file=true"/>
557     <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
558    
559     </javac>
560    
561 jsr166 1.92 </target>
562    
563    
564 jsr166 1.99 <target name="4jdk7-test-tck"
565     depends="4jdk7compile"
566     description="Runs tck tests for jsr166-4jdk7 directly">
567 jsr166 1.97 <run-tck-tests
568     jvm="${java7}"
569 jsr166 1.99 tck.classes="${build.4jdk7.tck.classes.dir}"
570     product.jar="${4jdk7product.jar}"/>
571 jsr166 1.97 </target>
572    
573    
574 jsr166 1.99 <target name="4jdk7-test-tck-junit"
575     depends="4jdk7compile"
576     description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
577 jsr166 1.97
578     <junit printsummary="true"
579     showoutput="true"
580     errorProperty="junit.failed"
581     failureProperty="junit.failed"
582     includeantruntime="true"
583     jvm="${java7}"
584     fork="true">
585    
586 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
587 jsr166 1.97 <jvmarg value="-server"/>
588 jsr166 1.92
589 jsr166 1.97 <classpath>
590     <pathelement location="${junit.jar}"/>
591 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
592 jsr166 1.97 </classpath>
593 jsr166 1.92
594 jsr166 1.97 <formatter type="brief"/>
595 jsr166 1.92
596 jsr166 1.97 <test name="JSR166TestCase" haltonfailure="no">
597     </test>
598 jsr166 1.92
599 jsr166 1.97 </junit>
600 jsr166 1.92 </target>
601    
602    
603 jsr166 1.99 <target name="4jdk7docs"
604 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
605 jsr166 1.92
606 jsr166 1.102 <delete dir="${dist.4jdk7.docs.dir}"/>
607     <mkdir dir="${dist.4jdk7.docs.dir}"/>
608 jsr166 1.92
609 jsr166 1.102 <javadoc destdir="${dist.4jdk7.docs.dir}"
610 jsr166 1.92 packagenames="none"
611     link="${jdkapi7docs.url}"
612 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
613     sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
614 jsr166 1.92 classpath=""
615 jsr166 1.99 executable="${javadoc7}">
616     <arg value="-XDignore.symbol.file=true"/>
617     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
618 jsr166 1.92 <include name="**/*.java"/>
619     </fileset>
620     </javadoc>
621    
622     </target>
623    
624    
625 jsr166 1.99 <target name="4jdk7dist"
626 jsr166 1.102 depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
627 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
628    
629    
630    
631 jsr166 1.99 <target name="4jdk7clean"
632 jsr166 1.109 description="Removes all 4jdk7 build products">
633 jsr166 1.92
634 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
635 jsr166 1.92
636     </target>
637    
638    
639    
640 jsr166 1.99 <target name="4jdk7dist-clean"
641 jsr166 1.92 description="Removes all build and distribution products">
642    
643     </target>
644    
645 jsr166 1.99 <target name="4jdk7dist-jar"
646     depends="4jdk7clean, 4jdk7compile">
647 jsr166 1.92
648 jsr166 1.99 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
649 jsr166 1.92
650     </target>
651    
652 jsr166 1.109
653 dl 1.70 <!-- jsr166x -->
654    
655     <target name="jsr166xcompile"
656 jsr166 1.103 depends="configure-compiler"
657 jsr166 1.105 description="Compiles jsr166x sources to build dir">
658 dl 1.70
659     <mkdir dir="${build.jsr166x.dir}"/>
660    
661 jsr166 1.105 <javac srcdir="${topsrc.dir}"
662     destdir="${build.jsr166x.dir}"
663     debug="${build.debug}"
664     debuglevel="${build.debuglevel}"
665     deprecation="${build.deprecation}"
666     classpath=""
667 jsr166 1.107 source="5"
668 jsr166 1.105 bootclasspath="${bootclasspath6}"
669     includeAntRuntime="false"
670     includeJavaRuntime="false"
671     executable="${javac7}"
672     fork="true">
673 dl 1.70
674 jsr166 1.105 <include name="jsr166x/**/*.java"/>
675 dl 1.70 <compilerarg line="${build.args}"/>
676 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
677 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
678 dl 1.70
679     </javac>
680    
681     </target>
682    
683    
684    
685     <target name="jsr166xjar"
686     depends="jsr166xcompile"
687     description="Builds library jar from compiled sources">
688    
689 jsr166 1.106 <jar destfile="${jsr166x.jar}">
690 dl 1.70 <fileset dir="${build.jsr166x.dir}"/>
691     </jar>
692    
693     </target>
694    
695    
696    
697     <target name="jsr166xdocs"
698 jsr166 1.102 description="Builds javadocs to dist dir">
699 dl 1.70
700 jsr166 1.108 <delete dir="${dist.jsr166xjavadocs.dir}"/>
701     <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
702 dl 1.70
703 jsr166 1.108 <javadoc destdir="${dist.jsr166xjavadocs.dir}"
704 jsr166 1.107 packagenames="jsr166x.*"
705 jsr166 1.91 link="${jdkapidocs.url}"
706 jsr166 1.107 source="5"
707     bootclasspath="${bootclasspath6}"
708     sourcepath="${topsrc.dir}:${jdk6src.dir}"
709     executable="${javadoc7}"
710 jsr166 1.89 additionalparam="-XDignore.symbol.file=true" />
711 dl 1.70
712     </target>
713    
714    
715     <target name="jsr166xdist"
716 jsr166 1.108 depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdocs"
717 dl 1.70 description="Puts all distributable products in single hierarchy"/>
718    
719    
720    
721     <target name="jsr166xclean"
722 jsr166 1.109 description="Removes all jsr166x build products">
723 dl 1.70
724     <delete dir="${build.jsr166x.dir}"/>
725    
726     </target>
727    
728    
729    
730     <target name="jsr166xdist-clean"
731     description="Removes all build and distribution products">
732    
733     </target>
734    
735    
736     <target name="jsr166xdist-jar"
737     depends="jsr166xclean, jsr166xjar">
738    
739 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
740 dl 1.70
741     </target>
742    
743 dl 1.74 <!-- jsr166y -->
744    
745    
746     <target name="jsr166ycompile"
747 jsr166 1.103 depends="configure-compiler"
748 dl 1.74 description="Compiles jsr166y sources">
749    
750     <mkdir dir="${build.jsr166y.dir}"/>
751    
752 jsr166 1.103 <javac srcdir="${topsrc.dir}"
753     destdir="${build.jsr166y.dir}"
754     debug="${build.debug}"
755     debuglevel="${build.debuglevel}"
756     deprecation="${build.deprecation}"
757 jsr166 1.107 source="6"
758 jsr166 1.103 classpath=""
759     bootclasspath="${bootclasspath6}"
760     includeAntRuntime="false"
761     includeJavaRuntime="false"
762     executable="${javac7}"
763     fork="true">
764 dl 1.74
765 jsr166 1.103 <include name="jsr166y/**/*.java"/>
766 dl 1.74 <compilerarg line="${build.args}"/>
767 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
768 jsr166 1.103 <compilerarg value="-Xlint:all"/>
769 dl 1.74 </javac>
770     </target>
771    
772    
773     <target name="jsr166yjar"
774     depends="jsr166ycompile"
775     description="Builds library jar from compiled sources">
776    
777 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
778 dl 1.74 <fileset dir="${build.jsr166y.dir}"/>
779     </jar>
780    
781     </target>
782    
783    
784    
785     <target name="jsr166ydocs"
786 jsr166 1.102 description="Builds javadocs to dist dir">
787 dl 1.74
788 jsr166 1.108 <delete dir="${dist.jsr166yjavadocs.dir}"/>
789     <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
790 dl 1.74
791 jsr166 1.108 <javadoc destdir="${dist.jsr166yjavadocs.dir}"
792 jsr166 1.107 packagenames="jsr166y.*"
793 jsr166 1.91 link="${jdkapidocs.url}"
794 jsr166 1.107 source="6"
795     bootclasspath="${bootclasspath6}"
796     sourcepath="${topsrc.dir}:${jdk6src.dir}"
797     executable="${javadoc7}"
798 jsr166 1.89 additionalparam="-XDignore.symbol.file=true" />
799 dl 1.74
800     </target>
801    
802    
803     <target name="jsr166ydist"
804 jsr166 1.108 depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydocs"
805 dl 1.74 description="Puts all distributable products in single hierarchy"/>
806    
807    
808    
809     <target name="jsr166yclean"
810 jsr166 1.109 description="Removes all jsr166y build products">
811 dl 1.74
812     <delete dir="${build.jsr166y.dir}"/>
813    
814     </target>
815    
816    
817    
818     <target name="jsr166ydist-clean"
819     description="Removes all build and distribution products">
820    
821     </target>
822    
823     <target name="jsr166ydist-jar"
824     depends="jsr166yclean, jsr166yjar">
825    
826 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
827 dl 1.74
828     </target>
829    
830 dl 1.90
831 dl 1.76 <!-- extra166y -->
832    
833    
834     <target name="extra166ycompile"
835 jsr166 1.103 depends="configure-compiler, jsr166yjar"
836 dl 1.76 description="Compiles extra166y sources">
837    
838     <mkdir dir="${build.extra166y.dir}"/>
839    
840 jsr166 1.103 <javac srcdir="${topsrc.dir}"
841     destdir="${build.extra166y.dir}"
842     debug="${build.debug}"
843     debuglevel="${build.debuglevel}"
844     deprecation="${build.deprecation}"
845 jsr166 1.105 classpath=""
846 jsr166 1.107 source="6"
847 jsr166 1.106 bootclasspath="${jsr166y.jar}:${bootclasspath6}"
848 jsr166 1.103 includeAntRuntime="false"
849     includeJavaRuntime="false"
850     executable="${javac7}"
851     fork="true">
852 dl 1.76
853 jsr166 1.103 <include name="extra166y/**/*.java"/>
854 dl 1.76 <compilerarg line="${build.args}"/>
855 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
856 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
857 dl 1.76
858     </javac>
859    
860     </target>
861    
862    
863    
864     <target name="extra166yjar"
865     depends="extra166ycompile"
866     description="Builds library jar from compiled sources">
867    
868 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
869 dl 1.76 <fileset dir="${build.extra166y.dir}"/>
870     </jar>
871    
872     </target>
873    
874    
875    
876     <target name="extra166ydocs"
877 jsr166 1.107 description="Builds javadocs to build dir">
878 dl 1.76
879 jsr166 1.108 <delete dir="${dist.extra166yjavadocs.dir}"/>
880     <mkdir dir="${dist.extra166yjavadocs.dir}"/>
881 dl 1.76
882 jsr166 1.108 <javadoc destdir="${dist.extra166yjavadocs.dir}"
883 jsr166 1.107 packagenames="extra166y.*"
884 jsr166 1.91 link="${jdkapidocs.url}"
885 jsr166 1.107 source="6"
886     bootclasspath="${bootclasspath6}"
887     sourcepath="${topsrc.dir}:${jdk6src.dir}"
888     executable="${javadoc7}"
889 jsr166 1.89 additionalparam="-XDignore.symbol.file=true" />
890 dl 1.76
891     </target>
892    
893    
894     <target name="extra166ydist"
895 jsr166 1.108 depends="extra166ydist-clean, extra166ydist-jar, extra166ydocs"
896 dl 1.76 description="Puts all distributable products in single hierarchy"/>
897    
898    
899    
900     <target name="extra166yclean"
901 jsr166 1.109 description="Removes all extra166y build products">
902 dl 1.76
903     <delete dir="${build.extra166y.dir}"/>
904    
905     </target>
906    
907    
908    
909     <target name="extra166ydist-clean"
910     description="Removes all build and distribution products">
911    
912     </target>
913    
914     <target name="extra166ydist-jar"
915     depends="extra166yclean, extra166yjar">
916    
917 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
918 dl 1.76
919     </target>
920    
921 dl 1.90 <!-- jsr166e -->
922    
923     <target name="jsr166ecompile"
924 jsr166 1.94 depends="configure-compiler"
925 dl 1.90 description="Compiles jsr166e sources">
926    
927     <mkdir dir="${build.jsr166e.dir}"/>
928    
929 jsr166 1.95 <javac srcdir="${topsrc.dir}"
930 jsr166 1.94 destdir="${build.jsr166e.dir}"
931     debug="${build.debug}"
932     debuglevel="${build.debuglevel}"
933     deprecation="${build.deprecation}"
934 jsr166 1.107 source="7"
935 jsr166 1.94 classpath=""
936     includeAntRuntime="false"
937     includeJavaRuntime="false"
938     executable="${javac7}"
939     fork="true">
940 dl 1.90
941 jsr166 1.95 <include name="jsr166e/**/*.java"/>
942 dl 1.90 <compilerarg line="${build.args}"/>
943     <compilerarg value="-XDignore.symbol.file=true"/>
944 jsr166 1.94 <compilerarg value="-Xlint:all"/>
945 dl 1.90
946     </javac>
947    
948     </target>
949    
950    
951    
952     <target name="jsr166ejar"
953     depends="jsr166ecompile"
954     description="Builds library jar from compiled sources">
955    
956 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
957 dl 1.90 <fileset dir="${build.jsr166e.dir}"/>
958     </jar>
959    
960     </target>
961    
962    
963    
964     <target name="jsr166edocs"
965 jsr166 1.107 description="Builds javadocs to build dir">
966 dl 1.90
967 jsr166 1.108 <delete dir="${dist.jsr166ejavadocs.dir}"/>
968     <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
969 dl 1.90
970 jsr166 1.108 <javadoc destdir="${dist.jsr166ejavadocs.dir}"
971 jsr166 1.107 packagenames="jsr166e.*"
972     link="${jdkapidocs.url}"
973     source="7"
974 jsr166 1.99 sourcepath="${topsrc.dir}:${jdk7src.dir}"
975 jsr166 1.96 executable="${javadoc7}"
976     additionalparam="-XDignore.symbol.file=true" >
977     </javadoc>
978 dl 1.90
979     </target>
980    
981    
982     <target name="jsr166edist"
983 jsr166 1.108 depends="jsr166edist-clean, jsr166edist-jar, jsr166edocs"
984 dl 1.90 description="Puts all distributable products in single hierarchy"/>
985    
986    
987    
988     <target name="jsr166eclean"
989 jsr166 1.109 description="Removes all jsr166e build products">
990 dl 1.90
991     <delete dir="${build.jsr166e.dir}"/>
992    
993     </target>
994    
995    
996     <target name="jsr166edist-clean"
997     description="Removes all build and distribution products">
998    
999     </target>
1000    
1001     <target name="jsr166edist-jar"
1002     depends="jsr166eclean, jsr166ejar">
1003    
1004 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1005 dl 1.90
1006     </target>
1007    
1008 tim 1.1 </project>