ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.148
Committed: Sat Jul 20 18:26:16 2013 UTC (10 years, 9 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.147: +4 -29 lines
Log Message:
remove no-op *dist-clean targets; hide "internal" targets

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