ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.104
Committed: Sat Jan 19 21:40:04 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.103: +0 -10 lines
Log Message:
remove obsolete version.properties

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