ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.180
Committed: Sun Sep 13 03:41:53 2015 UTC (8 years, 7 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.179: +5 -0 lines
Log Message:
check ant version

File Contents

# User Rev Content
1 jsr166 1.177 <project name="jsr166" default="usage"
2     xmlns:if="ant:if" xmlns:unless="ant:unless">
3 tim 1.1
4     <description>
5 tim 1.29 ------------------------------------------------------------------------------
6     Build file for JSR-166
7 tim 1.18
8 tim 1.29 Usage: ant [target]
9    
10     User-specific settings are read from user.properties.
11 tim 1.32 See user.properties.sample for an explanation of some useful settings.
12 jsr166 1.98
13     The repository contains all dependencies except for ant and the JDK
14     itself. Because the JDK version matters and because different
15     targets require different JDKs, we assume that users have created a
16     hierarchy containing:
17     $HOME/jdk/jdk6
18     $HOME/jdk/jdk7
19     $HOME/jdk/jdk8
20 jsr166 1.151 $HOME/jdk/jdk9
21 jsr166 1.99 where each of the above is a JDK or a symlink to same, and
22     $HOME/jdk/src/jdk6
23     $HOME/jdk/src/jdk7
24     $HOME/jdk/src/jdk8
25 jsr166 1.151 $HOME/jdk/src/jdk9
26 jsr166 1.99 where each of the above is a complete JDK source tree
27     (e.g. mercurial forest) or a symlink to same.
28 jsr166 1.159
29     Alternatively, define ant variables thus:
30     ant -Djdk$N.home=...
31     for $N in 6 7 8 9 ...
32 tim 1.29 ------------------------------------------------------------------------------
33 tim 1.18 </description>
34 tim 1.11
35 jsr166 1.148 <!-- Display main targets by running 'ant -projecthelp' -->
36     <target name="usage">
37 jsr166 1.129 <java classname="org.apache.tools.ant.Main">
38     <arg value="-projecthelp" />
39     </java>
40 tim 1.29 </target>
41 tim 1.3
42 jsr166 1.177 <!-- HOWTO printf debug: <echo message="prop=${prop}"/> -->
43 tim 1.11
44 tim 1.27 <!-- User-specific settings -->
45 tim 1.23 <property file="user.properties"/>
46 tim 1.27
47 tim 1.1
48     <!-- Compilation options -->
49 jsr166 1.114 <property name="build.sourcelevel" value="6"/>
50 tim 1.1 <property name="build.debug" value="true"/>
51     <property name="build.debuglevel" value="source,lines,vars"/>
52 tim 1.13 <property name="build.deprecation" value="false"/>
53 jsr166 1.130 <property name="build.javadoc.access" value="protected"/>
54 tim 1.1
55 jsr166 1.156 <!-- Tck options; see JSR166TestCase.java
56 jsr166 1.158 To profile a single tck test class:
57 jsr166 1.175 ant -Djsr166.profileTests=true -Djsr166.profileThreshold=10 -Djsr166.tckTestClass=CompletableFutureTest tck
58 jsr166 1.158 To stress test a single tck test class:
59 jsr166 1.174 ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 tck
60 jsr166 1.156 -->
61 jsr166 1.139 <property name="jsr166.profileTests" value="false"/>
62     <property name="jsr166.profileThreshold" value="100"/>
63     <property name="jsr166.runsPerTest" value="1"/>
64 jsr166 1.140 <property name="jsr166.tckTestClass" value="JSR166TestCase"/>
65 jsr166 1.139
66 tim 1.1 <!-- Build locations -->
67 jsr166 1.79 <property name="build.dir" location="build"/>
68     <property name="build.classes.dir" location="${build.dir}/classes"/>
69     <property name="build.testcases.dir" location="${build.dir}/testcases"/>
70     <property name="build.loops.dir" location="${build.dir}/loops"/>
71     <property name="build.reports.dir" location="${build.dir}/reports"/>
72 jsr166 1.92
73 jsr166 1.109 <property name="build.4jdk7.dir" location="${build.dir}/jsr166-4jdk7"/>
74     <property name="build.4jdk7.classes.dir" location="${build.4jdk7.dir}/classes"/>
75 jsr166 1.113 <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
76 jsr166 1.109 <property name="build.4jdk7.docs.dir" location="${build.4jdk7.dir}/docs"/>
77 jsr166 1.92
78 jsr166 1.79 <property name="build.jsr166x.dir" location="${build.dir}/jsr166x"/>
79     <property name="build.jsr166y.dir" location="${build.dir}/jsr166y"/>
80 dl 1.90 <property name="build.jsr166e.dir" location="${build.dir}/jsr166e"/>
81 jsr166 1.79 <property name="build.extra166y.dir" location="${build.dir}/extra166y"/>
82 dl 1.76
83 jsr166 1.126 <property name="build.jsr166x.classes.dir" location="${build.jsr166x.dir}/classes"/>
84     <property name="build.jsr166y.classes.dir" location="${build.jsr166y.dir}/classes"/>
85     <property name="build.jsr166e.classes.dir" location="${build.jsr166e.dir}/classes"/>
86     <property name="build.extra166y.classes.dir" location="${build.extra166y.dir}/classes"/>
87 jsr166 1.114
88 jsr166 1.118 <!-- JDK locations -->
89 jsr166 1.92 <property name="jdks.home" location="${user.home}/jdk"/>
90 jsr166 1.93
91     <macrodef name="defjdklocations">
92     <attribute name="v"/>
93     <sequential>
94 jsr166 1.99 <property name="jdk@{v}.home" location="${jdks.home}/jdk@{v}"/>
95     <property name="java@{v}" location="${jdk@{v}.home}/bin/java"/>
96     <property name="javac@{v}" location="${jdk@{v}.home}/bin/javac"/>
97     <property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/>
98 jsr166 1.177 <available property="jdk@{v}.have.java.base"
99     file="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes" type="dir"/>
100     <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes"
101     if:set="jdk@{v}.have.java.base"/>
102     <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"
103     unless:set="jdk@{v}.have.java.base"/>
104 jsr166 1.118 <local name="boot.jar.dir"/>
105     <property name="boot.jar.dir" location="${jdk@{v}.home}/jre/lib"/>
106     <path id="bootclasspath@{v}">
107     <pathelement path="${boot.jar.dir}/resources.jar"/>
108     <pathelement path="${boot.jar.dir}/rt.jar"/>
109     <pathelement path="${boot.jar.dir}/jsse.jar"/>
110     <pathelement path="${boot.jar.dir}/jce.jar"/>
111     <pathelement path="${boot.jar.dir}/charsets.jar"/>
112     </path>
113     <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}"/>
114 jsr166 1.93 </sequential>
115     </macrodef>
116    
117 jsr166 1.125 <macrodef name="mirror-dir">
118     <attribute name="src"/>
119     <attribute name="dst"/>
120     <sequential>
121     <delete dir="@{dst}"/>
122     <mkdir dir="@{dst}"/>
123     <copy todir="@{dst}" preservelastmodified="true">
124     <fileset dir="@{src}"/>
125     </copy>
126     </sequential>
127     </macrodef>
128    
129 jsr166 1.93 <defjdklocations v="6"/>
130     <defjdklocations v="7"/>
131     <defjdklocations v="8"/>
132 jsr166 1.151 <defjdklocations v="9"/>
133 jsr166 1.92
134 tim 1.1 <!-- Source locations -->
135 tim 1.22 <property name="src.dir" location="${basedir}/src/main"/>
136     <property name="test.src.dir" location="${basedir}/src/test"/>
137 jsr166 1.65 <property name="loops.src.dir" location="${basedir}/src/loops"/>
138 tim 1.60 <property name="tck.src.dir" location="${test.src.dir}/tck"/>
139 jsr166 1.173 <property name="jtreg7.src.dir" location="${test.src.dir}/jtreg-jdk7"/>
140     <property name="jtreg8.src.dir" location="${test.src.dir}/jtreg"/>
141     <property name="jtreg9.src.dir" location="${test.src.dir}/jtreg"/>
142     <property name="jtreg.src.dir" location="${jtreg9.src.dir}"/>
143 tim 1.1 <property name="lib.dir" location="${basedir}/lib"/>
144 tim 1.9 <property name="dist.dir" location="${basedir}/dist"/>
145 dl 1.70 <property name="topsrc.dir" location="${basedir}/src"/>
146 jsr166 1.99 <property name="4jdk7src.dir" location="${topsrc.dir}/jdk7"/>
147 jsr166 1.92 <property name="jsr166xsrc.dir" location="${topsrc.dir}/jsr166x"/>
148     <property name="jsr166ysrc.dir" location="${topsrc.dir}/jsr166y"/>
149     <property name="jsr166esrc.dir" location="${topsrc.dir}/jsr166e"/>
150     <property name="extra166ysrc.dir" location="${topsrc.dir}/extra166y"/>
151 jsr166 1.91
152 jsr166 1.125 <!-- Javadoc locations -->
153 jsr166 1.127 <property name="docs.dir" location="${build.dir}/docs"/>
154     <property name="4jdk7docs.dir" location="${build.4jdk7.dir}/docs"/>
155     <property name="jsr166xdocs.dir" location="${build.jsr166x.dir}/docs"/>
156     <property name="jsr166ydocs.dir" location="${build.jsr166y.dir}/docs"/>
157     <property name="jsr166edocs.dir" location="${build.jsr166e.dir}/docs"/>
158     <property name="extra166ydocs.dir" location="${build.extra166y.dir}/docs"/>
159    
160     <property name="dist.docs.dir" location="${dist.dir}/docs"/>
161     <property name="dist.4jdk7docs.dir" location="${dist.dir}/jsr166-4jdk7docs"/>
162     <property name="dist.jsr166xdocs.dir" location="${dist.dir}/jsr166xdocs"/>
163     <property name="dist.jsr166ydocs.dir" location="${dist.dir}/jsr166ydocs"/>
164     <property name="dist.jsr166edocs.dir" location="${dist.dir}/jsr166edocs"/>
165     <property name="dist.extra166ydocs.dir" location="${dist.dir}/extra166ydocs"/>
166 tim 1.1
167     <!-- Jar locations -->
168 jsr166 1.109 <property name="product.jar" location="${build.dir}/jsr166.jar"/>
169     <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
170     <property name="jsr166x.jar" location="${build.jsr166x.dir}/jsr166x.jar"/>
171     <property name="jsr166y.jar" location="${build.jsr166y.dir}/jsr166y.jar"/>
172     <property name="jsr166e.jar" location="${build.jsr166e.dir}/jsr166e.jar"/>
173     <property name="extra166y.jar" location="${build.extra166y.dir}/extra166y.jar"/>
174 jsr166 1.106 <property name="junit.jar" location="${lib.dir}/junit.jar"/>
175 jsr166 1.65
176 jsr166 1.152 <!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag -->
177     <property name="java5.docroot.url" value="http://docs.oracle.com/javase/1.5.0/docs"/>
178     <property name="java6.docroot.url" value="http://docs.oracle.com/javase/6/docs"/>
179     <property name="java7.docroot.url" value="http://docs.oracle.com/javase/7/docs"/>
180 jsr166 1.157 <property name="java8.docroot.url" value="http://docs.oracle.com/javase/8/docs"/>
181     <!-- The expected canonical location does not yet exist as of 2014-07 -->
182 jsr166 1.152 <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
183 jsr166 1.157 <property name="java9.docroot.url" value="http://download.java.net/jdk9/docs"/>
184 jsr166 1.152 <!-- Default jdk doc location (latest stable release seems best) -->
185 jsr166 1.157 <property name="java.docroot.url" value="${java8.docroot.url}"/>
186 jsr166 1.151
187 jsr166 1.152 <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
188     <property name="java5.api.url" value="${java5.docroot.url}/api/"/>
189     <property name="java6.api.url" value="${java6.docroot.url}/api/"/>
190     <property name="java7.api.url" value="${java7.docroot.url}/api/"/>
191     <property name="java8.api.url" value="${java8.docroot.url}/api/"/>
192     <property name="java9.api.url" value="${java9.docroot.url}/api/"/>
193     <property name="java.api.url" value="${java.docroot.url}/api/"/>
194 jsr166 1.91
195 jsr166 1.115 <!-- Define the "jtreg" task -->
196     <!-- See the docs in "jtreg -onlineHelp" -->
197     <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
198     classpath="${lib.dir}/jtreg.jar" />
199    
200 tim 1.59 <!-- Test classpath -->
201     <path id="test.classpath">
202     <pathelement location="${build.testcases.dir}"/>
203     <pathelement location="${junit.jar}"/>
204     </path>
205 tim 1.28
206 jsr166 1.118 <macrodef name="run-tck-tests">
207 jsr166 1.122 <attribute name="tck.src.dir" default="${tck.src.dir}"/>
208 jsr166 1.118 <attribute name="target"/>
209 jsr166 1.138 <attribute name="compile-target" default="@{target}"/>
210 jsr166 1.118 <attribute name="workdir"/>
211 jsr166 1.122 <attribute name="classes"/>
212 jsr166 1.155 <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
213 jsr166 1.132 <element name="javac-elements" optional="true"/>
214 jsr166 1.118 <sequential>
215    
216     <mkdir dir="@{workdir}/tck-classes"/>
217    
218 jsr166 1.122 <javac srcdir="@{tck.src.dir}"
219 jsr166 1.118 destdir="@{workdir}/tck-classes"
220     debug="${build.debug}"
221     debuglevel="${build.debuglevel}"
222     deprecation="${build.deprecation}"
223 jsr166 1.138 source="@{compile-target}"
224     target="@{compile-target}"
225 jsr166 1.118 classpath="${junit.jar}"
226     includeAntRuntime="false"
227     includeJavaRuntime="false"
228 jsr166 1.138 executable="${javac@{compile-target}}"
229 jsr166 1.118 fork="true">
230    
231 jsr166 1.121 <include name="*.java"/>
232 jsr166 1.118 <compilerarg value="-XDignore.symbol.file=true"/>
233     <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
234 jsr166 1.162 <compilerarg value="-Xbootclasspath/p:@{classes}"/>
235 jsr166 1.118 <compilerarg line="${build.args}"/>
236 jsr166 1.132 <javac-elements/>
237 jsr166 1.118
238     </javac>
239    
240 jsr166 1.140 <java classname="${jsr166.tckTestClass}"
241 jsr166 1.118 failonerror="true"
242     jvm="${java@{target}}"
243     fork="true">
244 jsr166 1.122 <jvmarg value="-Xbootclasspath/p:@{classes}"/>
245 jsr166 1.118 <jvmarg line="@{jvmflags}"/>
246 jsr166 1.160
247 jsr166 1.174 <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
248 jsr166 1.160 <syspropertyset id="java.util.concurrent.ForkJoinPool-properties">
249     <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
250     </syspropertyset>
251    
252 jsr166 1.139 <sysproperty key="jsr166.profileTests" value="${jsr166.profileTests}"/>
253     <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>
254     <sysproperty key="jsr166.runsPerTest" value="${jsr166.runsPerTest}"/>
255 jsr166 1.118 <classpath>
256     <pathelement location="${junit.jar}"/>
257     <pathelement location="@{workdir}/tck-classes"/>
258     </classpath>
259     </java>
260    
261     </sequential>
262     </macrodef>
263    
264 jsr166 1.165 <!-- Define jtreg test sets for different jdk versions -->
265 jsr166 1.173 <fileset dir="${jtreg9.src.dir}">
266 jsr166 1.165 <patternset id="jdk9.jtreg.tests">
267     <include name="**/*.java"/>
268     </patternset>
269     </fileset>
270    
271 jsr166 1.173 <fileset dir="${jtreg8.src.dir}">
272 jsr166 1.165 <patternset id="jdk8.jtreg.tests">
273     <include name="**/*.java"/>
274 jsr166 1.173 <exclude name="**/SpliteratorCharacteristics.java"/>
275 jsr166 1.168 <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->
276 jsr166 1.173 <exclude name="**/GCDuringIteration.java"/>
277 jsr166 1.165 </patternset>
278     </fileset>
279    
280 jsr166 1.173 <fileset dir="${jtreg7.src.dir}">
281 jsr166 1.165 <patternset id="jdk7.jtreg.tests">
282     <include name="**/*.java"/>
283     </patternset>
284     </fileset>
285    
286 jsr166 1.135 <macrodef name="run-jtreg-tests">
287 jsr166 1.174 <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
288 jsr166 1.135 <attribute name="source" default="7"/>
289     <attribute name="target"/>
290     <attribute name="workdir"/>
291     <attribute name="classes"/>
292     <attribute name="jtregflags" default=""/>
293     <sequential>
294     <delete dir="@{workdir}/JTwork" quiet="true"/>
295     <delete dir="@{workdir}/JTreport" quiet="true"/>
296     <mkdir dir="@{workdir}/JTwork/scratch"/>
297     <mkdir dir="@{workdir}/JTreport"/>
298 jsr166 1.173 <jtreg dir="${jtreg@{target}.src.dir}"
299 jsr166 1.135 jdk="${jdk@{target}.home}"
300     workDir="@{workdir}/JTwork"
301     reportDir="@{workdir}/JTreport">
302 jsr166 1.165 <patternset refid="jdk@{target}.jtreg.tests"/>
303 jsr166 1.135 <arg value="-Xbootclasspath/p:@{classes}"/>
304     <arg value="-agentvm"/>
305     <arg value="-v:nopass,fail"/>
306     <arg value="-vmoptions:-esa -ea"/>
307     <arg value="-automatic"/>
308     <arg value="-k:!ignore"/>
309     <arg line="@{jtregflags}"/>
310     </jtreg>
311     </sequential>
312     </macrodef>
313    
314 jsr166 1.65 <!-- ALoops classpath -->
315     <path id="loops.classpath">
316     <pathelement location="${build.loops.dir}"/>
317     </path>
318    
319 jsr166 1.100 <!-- Support @jls tag, used in jdk8+ javadoc -->
320 jsr166 1.120 <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
321 jsr166 1.100 <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
322 tim 1.28
323 tim 1.59 <!-- Main targets -->
324 tim 1.28
325 jsr166 1.151 <property name="build.main.java.version" value="9"/>
326     <property name="build.main.javac" value="${javac9}"/>
327    
328 dl 1.80 <target name="dists"
329 jsr166 1.107 depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
330 dl 1.80 description="Builds all public jars and docs"/>
331 tim 1.11
332 tim 1.28 <target name="compile"
333 jsr166 1.100 depends="configure-compiler"
334 jsr166 1.102 description="Compiles src/main sources to build dir">
335 tim 1.27
336 tim 1.1 <mkdir dir="${build.classes.dir}"/>
337 tim 1.27
338 tim 1.60 <javac srcdir="${src.dir}"
339 jsr166 1.100 destdir="${build.classes.dir}"
340     debug="${build.debug}"
341     debuglevel="${build.debuglevel}"
342     deprecation="${build.deprecation}"
343     classpath=""
344     includeAntRuntime="false"
345     includeJavaRuntime="false"
346 jsr166 1.151 executable="${build.main.javac}"
347 jsr166 1.100 fork="true">
348 tim 1.1
349 jsr166 1.68 <include name="**/*.java"/>
350 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
351 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
352 jsr166 1.100 <compilerarg value="-Xlint:all"/>
353 jsr166 1.164 <compilerarg value="-Werror"/>
354 jsr166 1.146 <compilerarg value="-Xdoclint:all/protected"/>
355     <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
356 dl 1.73 <compilerarg line="${build.args}"/>
357 tim 1.1
358     </javac>
359     </target>
360    
361    
362 tim 1.28 <target name="jar"
363 tim 1.59 depends="compile"
364     description="Builds library jar from compiled sources">
365    
366     <jar destfile="${product.jar}">
367     <fileset dir="${build.classes.dir}"/>
368 jsr166 1.178 <manifest>
369 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
370     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
371 jsr166 1.178 </manifest>
372 tim 1.59 </jar>
373     </target>
374    
375 tim 1.1
376 tim 1.59 <target name="docs"
377 jsr166 1.102 description="Builds javadocs for src/main to dist dir">
378 tim 1.59
379 jsr166 1.127 <delete dir="${docs.dir}"/>
380     <mkdir dir="${docs.dir}"/>
381 tim 1.59
382 jsr166 1.88 <!-- the packagenames="none" hack below prevents scanning the -->
383     <!-- sourcepath for packages -->
384    
385 jsr166 1.127 <javadoc destdir="${docs.dir}"
386 jsr166 1.88 packagenames="none"
387 jsr166 1.152 link="${java9.api.url}"
388 jsr166 1.88 overview="${src.dir}/intro.html"
389 jsr166 1.130 access="${build.javadoc.access}"
390 jsr166 1.151 sourcepath="${src.dir}:${jdk9src.dir}"
391 jsr166 1.100 classpath=""
392 jsr166 1.151 executable="${javadoc9}">
393 jsr166 1.119 <fileset dir="${src.dir}" defaultexcludes="yes">
394     <include name="**/*.java"/>
395     </fileset>
396 jsr166 1.152 <arg line="-Xdocrootparent ${java9.docroot.url}"/>
397 jsr166 1.146 <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
398 jsr166 1.100 <arg value="-XDignore.symbol.file=true"/>
399     <arg value="-tag"/>
400     <arg value="${javadoc.jls.option}"/>
401 dl 1.143 <arg value="-tag"/>
402     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
403     <arg value="-tag"/>
404     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
405     <arg value="-tag"/>
406 jsr166 1.144 <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
407 tim 1.59 </javadoc>
408     </target>
409    
410    
411 tim 1.28 <target name="dist"
412 jsr166 1.125 depends="dist-clean, dist-jar, dist-docs"
413 tim 1.16 description="Puts all distributable products in single hierarchy"/>
414 tim 1.1
415 tim 1.58
416 tim 1.42 <target name="release"
417     depends="dist"
418     description="Puts entire CVS tree, plus distribution productions, in a jar">
419    
420     <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
421    
422     <jar basedir="${basedir}" destfile="${release.jar}">
423 tim 1.58 <!-- <exclude name="build/**"/> -->
424 tim 1.42 <exclude name="${release.jar}"/>
425     <exclude name="user.properties"/>
426     <exclude name="etc/notes/**"/>
427 tim 1.58 <exclude name="src/emulation/**"/>
428 tim 1.44 <exclude name="**/SyntaxTest.java"/>
429 tim 1.58 <exclude name="**/SuperfluousAbstract.java"/>
430 jsr166 1.178 <manifest>
431 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
432     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
433 jsr166 1.178 </manifest>
434 tim 1.42 </jar>
435     </target>
436 tim 1.1
437 tim 1.59
438 tim 1.11 <target name="clean"
439     description="Removes all build products">
440 tim 1.27
441 tim 1.11 <delete dir="${build.dir}"/>
442 tim 1.27
443 tim 1.1 </target>
444    
445    
446 tim 1.11 <target name="dist-clean"
447     description="Removes all build and distribution products">
448 tim 1.27
449 jsr166 1.148 <delete dir="${build.dir}"/>
450 tim 1.11 <delete dir="${dist.dir}"/>
451 tim 1.27
452 tim 1.9 </target>
453 tim 1.10
454    
455 tim 1.28 <target name="dist-jar"
456     depends="clean, jar">
457 tim 1.11 <copy file="${product.jar}" todir="${dist.dir}"/>
458 jsr166 1.125 </target>
459 tim 1.27
460 jsr166 1.125 <target name="dist-docs"
461     depends="clean, docs">
462 jsr166 1.127 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
463 tim 1.11 </target>
464    
465 jsr166 1.174 <target name="tck"
466 jsr166 1.131 depends="jar"
467     description="Runs tck tests for main directly">
468    
469     <run-tck-tests
470 jsr166 1.151 target="${build.main.java.version}"
471 jsr166 1.131 workdir="${build.dir}"
472     classes="${product.jar}"/>
473     </target>
474 tim 1.1
475 jsr166 1.174 <target name="tck-parallelism-1"
476     description="Runs tck with given common pool parallelism">
477     <antcall target="tck">
478 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
479     </antcall>
480     </target>
481    
482 jsr166 1.174 <target name="tck-parallelism-0"
483     description="Runs tck with given common pool parallelism">
484     <antcall target="tck">
485 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
486     </antcall>
487     </target>
488    
489 jsr166 1.174 <target name="jtreg"
490 jsr166 1.135 depends="jar"
491     description="Runs jtreg tests for main using the jtreg ant task">
492     <run-jtreg-tests
493 jsr166 1.151 target="${build.main.java.version}"
494 jsr166 1.135 workdir="${build.dir}"
495     classes="${product.jar}"/>
496     </target>
497    
498 jsr166 1.142 <target name="test"
499 jsr166 1.174 depends="tck, tck-parallelism-1, jtreg"
500 jsr166 1.135 description="Runs tck and jtreg tests for main">
501     </target>
502    
503 jsr166 1.168 <target name="jtreg8" description="Runs jtreg tests with jdk8">
504    
505     <antcall target="jtreg">
506     <param name="build.main.java.version" value="8"/>
507     <param name="build.main.javac" value="${javac8}"/>
508     </antcall>
509    
510     </target>
511    
512 jsr166 1.151 <target name="test89"
513     description="Runs tck and jtreg tests for main for multiple java versions">
514    
515     <antcall target="clean"/>
516     <antcall target="test">
517     <param name="build.main.java.version" value="8"/>
518     <param name="build.main.javac" value="${javac8}"/>
519     </antcall>
520    
521     <antcall target="clean"/>
522     <antcall target="test">
523     <param name="build.main.java.version" value="9"/>
524     <param name="build.main.javac" value="${javac9}"/>
525     </antcall>
526    
527     </target>
528    
529 tim 1.18
530    
531 tim 1.32 <target name="configure-compiler">
532 jsr166 1.180 <fail message="ant version too old">
533     <condition>
534     <not> <antversion atleast="1.9.1"/> </not>
535     </condition>
536     </fail>
537 tim 1.54
538     <property name="unchecked.option" value="-Xlint:unchecked"/>
539    
540     <condition property="warnunchecked.arg" value="${unchecked.option}">
541 tim 1.57 <istrue value="${build.warnunchecked}"/>
542 tim 1.32 </condition>
543    
544 tim 1.37 <property name="warnunchecked.arg" value=""/>
545 tim 1.34
546 tim 1.32
547     <!-- Common options in javac invocations -->
548 tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
549 tim 1.33
550     </target>
551    
552    
553 tim 1.28
554 jsr166 1.65 <!-- Various demos and test programs -->
555    
556    
557 jsr166 1.103 <target name="loops" depends="configure-compiler"
558 jsr166 1.65 description="Benchmark from Doug Lea's AQS paper">
559    
560     <mkdir dir="${build.loops.dir}"/>
561    
562     <javac srcdir="${loops.src.dir}"
563     destdir="${build.loops.dir}"
564     debug="${build.debug}"
565     debuglevel="${build.debuglevel}"
566     deprecation="${build.deprecation}"
567     source="${build.sourcelevel}"
568     fork="true">
569    
570     <compilerarg line="${build.args}"/>
571     <classpath refid="loops.classpath"/>
572 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
573 jsr166 1.65
574     </javac>
575    
576     <java classname="ALoops" fork="true">
577     <classpath refid="loops.classpath"/>
578     </java>
579    
580     </target>
581    
582    
583 jsr166 1.166 <target name="compile-test-loops" depends="jar"
584     description="compile all the perf tests in src/test/loops">
585    
586     <mkdir dir="${build.dir}/test/loops"/>
587    
588     <javac srcdir="${basedir}/src/test/loops"
589     destdir="${build.dir}/test/loops"
590     debug="${build.debug}"
591     debuglevel="${build.debuglevel}"
592     deprecation="${build.deprecation}"
593     includeAntRuntime="false"
594     includeJavaRuntime="false"
595     executable="${javac9}"
596     fork="true">
597    
598     <include name="*.java"/>
599     <compilerarg value="-XDignore.symbol.file=true"/>
600 jsr166 1.167 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
601 jsr166 1.166 <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
602     <compilerarg line="${build.args}"/>
603    
604     </javac>
605    
606     </target>
607    
608    
609 jsr166 1.99 <!-- jsr166 4jdk7 -->
610 jsr166 1.92
611 jsr166 1.99 <target name="4jdk7compile"
612 jsr166 1.92 depends="configure-compiler"
613 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
614 jsr166 1.92
615 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
616 jsr166 1.92
617 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
618     destdir="${build.4jdk7.classes.dir}"
619 jsr166 1.92 debug="${build.debug}"
620     debuglevel="${build.debuglevel}"
621     deprecation="${build.deprecation}"
622 jsr166 1.107 source="6"
623 jsr166 1.92 classpath=""
624 jsr166 1.119 bootclasspath="${bootclasspath6}"
625 jsr166 1.92 includeAntRuntime="false"
626     includeJavaRuntime="false"
627 jsr166 1.97 executable="${javac7}"
628 jsr166 1.92 fork="true">
629    
630     <include name="**/*.java"/>
631 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
632 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
633     <compilerarg value="-Xlint:all"/>
634 jsr166 1.164 <compilerarg value="-Werror"/>
635 jsr166 1.118 <compilerarg line="${build.args}"/>
636 jsr166 1.92
637     </javac>
638 jsr166 1.118 </target>
639 jsr166 1.92
640 jsr166 1.149 <target name="4jdk7doclint"
641     depends="configure-compiler"
642     description="Finds doclint warnings">
643    
644     <mkdir dir="${build.4jdk7.classes.dir}"/>
645    
646     <javac srcdir="${4jdk7src.dir}"
647     destdir="${build.4jdk7.classes.dir}"
648     debug="${build.debug}"
649     debuglevel="${build.debuglevel}"
650     deprecation="${build.deprecation}"
651     source="6"
652     classpath=""
653     bootclasspath="${bootclasspath7}"
654     includeAntRuntime="false"
655     includeJavaRuntime="false"
656     executable="${javac8}"
657     fork="true">
658    
659     <include name="**/*.java"/>
660     <compilerarg value="-Xprefer:source"/>
661     <compilerarg value="-XDignore.symbol.file=true"/>
662     <compilerarg value="-Xlint:all"/>
663     <compilerarg value="-Xdoclint:all/protected"/>
664     <compilerarg line="${build.args}"/>
665    
666     </javac>
667     </target>
668    
669 jsr166 1.116
670 jsr166 1.128 <target name="4jdk7jar"
671 jsr166 1.116 depends="4jdk7compile"
672     description="Builds library jar from compiled sources">
673    
674     <jar destfile="${4jdk7product.jar}">
675 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
676 jsr166 1.178 <manifest>
677 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
678     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
679 jsr166 1.178 </manifest>
680 jsr166 1.97 </jar>
681    
682 jsr166 1.92 </target>
683    
684    
685 jsr166 1.174 <target name="4jdk7-tck"
686 jsr166 1.128 depends="4jdk7jar"
687 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
688 jsr166 1.116
689 jsr166 1.97 <run-tck-tests
690 jsr166 1.116 target="7"
691     workdir="${build.4jdk7.dir}"
692 jsr166 1.132 classes="${4jdk7product.jar}">
693     <javac-elements>
694 jsr166 1.134 <!-- JDK8+ test classes -->
695 jsr166 1.137 <exclude name="*8Test.java"/>
696 jsr166 1.151 <exclude name="*9Test.java"/>
697 jsr166 1.176 <exclude name="*10Test.java"/>
698 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
699     <exclude name="DoubleAdderTest.java"/>
700     <exclude name="LongAccumulatorTest.java"/>
701     <exclude name="LongAdderTest.java"/>
702 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
703 jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
704 jsr166 1.132 <exclude name="StampedLockTest.java"/>
705 jsr166 1.176 <exclude name="SubmissionPublisherTest.java"/>
706 jsr166 1.132 </javac-elements>
707     </run-tck-tests>
708 jsr166 1.97 </target>
709    
710    
711 jsr166 1.174 <target name="4jdk7-tck-junit"
712 jsr166 1.99 depends="4jdk7compile"
713     description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
714 jsr166 1.97
715     <junit printsummary="true"
716     showoutput="true"
717     errorProperty="junit.failed"
718     failureProperty="junit.failed"
719     includeantruntime="true"
720     jvm="${java7}"
721     fork="true">
722    
723 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
724 jsr166 1.97 <jvmarg value="-server"/>
725 jsr166 1.92
726 jsr166 1.97 <classpath>
727     <pathelement location="${junit.jar}"/>
728 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
729 jsr166 1.97 </classpath>
730 jsr166 1.92
731 jsr166 1.97 <formatter type="brief"/>
732 jsr166 1.92
733 jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
734 jsr166 1.97 </test>
735 jsr166 1.92
736 jsr166 1.97 </junit>
737 jsr166 1.92 </target>
738    
739 jsr166 1.174 <target name="4jdk7-jtreg"
740 jsr166 1.135 depends="4jdk7jar"
741 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
742 jsr166 1.135 <run-jtreg-tests
743     target="7"
744     workdir="${build.4jdk7.dir}"
745 jsr166 1.165 classes="${4jdk7product.jar}"/>
746 jsr166 1.115 </target>
747    
748    
749     <target name="4jdk7-test"
750 jsr166 1.174 depends="4jdk7-tck, 4jdk7-jtreg"
751 jsr166 1.115 description="Runs tck and jtreg tests for jsr166-4jdk7">
752     </target>
753    
754 jsr166 1.92
755 jsr166 1.99 <target name="4jdk7docs"
756 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
757 jsr166 1.92
758 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
759     <mkdir dir="${4jdk7docs.dir}"/>
760 jsr166 1.92
761 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
762 jsr166 1.92 packagenames="none"
763 jsr166 1.152 link="${java7.api.url}"
764 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
765 jsr166 1.130 access="${build.javadoc.access}"
766 jsr166 1.119 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
767 jsr166 1.92 classpath=""
768 jsr166 1.99 executable="${javadoc7}">
769     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
770 jsr166 1.92 <include name="**/*.java"/>
771     </fileset>
772 jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
773 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
774 jsr166 1.92 </javadoc>
775     </target>
776    
777    
778 jsr166 1.99 <target name="4jdk7dist"
779 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
780 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
781    
782    
783 jsr166 1.99 <target name="4jdk7clean"
784 jsr166 1.109 description="Removes all 4jdk7 build products">
785 jsr166 1.92
786 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
787 jsr166 1.92
788     </target>
789    
790    
791 jsr166 1.99 <target name="4jdk7dist-jar"
792 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
793 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
794     </target>
795 jsr166 1.92
796    
797 jsr166 1.125 <target name="4jdk7dist-docs"
798     depends="4jdk7clean, 4jdk7docs">
799 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
800 jsr166 1.92 </target>
801    
802 jsr166 1.109
803 dl 1.70 <!-- jsr166x -->
804    
805     <target name="jsr166xcompile"
806 jsr166 1.103 depends="configure-compiler"
807 jsr166 1.105 description="Compiles jsr166x sources to build dir">
808 dl 1.70
809 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
810 dl 1.70
811 jsr166 1.105 <javac srcdir="${topsrc.dir}"
812 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
813 jsr166 1.105 debug="${build.debug}"
814     debuglevel="${build.debuglevel}"
815     deprecation="${build.deprecation}"
816     classpath=""
817 jsr166 1.119 bootclasspath="${bootclasspath6}"
818 jsr166 1.107 source="5"
819 jsr166 1.105 includeAntRuntime="false"
820     includeJavaRuntime="false"
821     executable="${javac7}"
822     fork="true">
823 dl 1.70
824 jsr166 1.105 <include name="jsr166x/**/*.java"/>
825 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
826 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
827 jsr166 1.164 <compilerarg value="-Werror"/>
828 jsr166 1.118 <compilerarg line="${build.args}"/>
829 dl 1.70
830     </javac>
831     </target>
832    
833    
834 jsr166 1.128 <target name="jsr166xjar"
835 dl 1.70 depends="jsr166xcompile"
836     description="Builds library jar from compiled sources">
837    
838 jsr166 1.106 <jar destfile="${jsr166x.jar}">
839 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
840 jsr166 1.178 <manifest>
841 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
842     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
843 jsr166 1.178 </manifest>
844 dl 1.70 </jar>
845    
846     </target>
847    
848    
849     <target name="jsr166xdocs"
850 jsr166 1.102 description="Builds javadocs to dist dir">
851 dl 1.70
852 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
853     <mkdir dir="${jsr166xdocs.dir}"/>
854 dl 1.70
855 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
856 jsr166 1.107 packagenames="jsr166x.*"
857 jsr166 1.152 link="${java.api.url}"
858 jsr166 1.130 access="${build.javadoc.access}"
859 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
860     bootclasspath="${bootclasspath6}"
861 jsr166 1.107 source="5"
862 jsr166 1.118 executable="${javadoc7}">
863 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
864 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
865 dl 1.70
866 jsr166 1.118 </javadoc>
867 dl 1.70 </target>
868    
869    
870     <target name="jsr166xdist"
871 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
872 dl 1.70 description="Puts all distributable products in single hierarchy"/>
873    
874    
875     <target name="jsr166xclean"
876 jsr166 1.109 description="Removes all jsr166x build products">
877 dl 1.70
878     <delete dir="${build.jsr166x.dir}"/>
879    
880     </target>
881    
882    
883     <target name="jsr166xdist-jar"
884 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
885 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
886 jsr166 1.125 </target>
887 dl 1.70
888 jsr166 1.125 <target name="jsr166xdist-docs"
889     depends="jsr166xclean, jsr166xdocs">
890 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
891 dl 1.70 </target>
892    
893 dl 1.74 <!-- jsr166y -->
894    
895    
896     <target name="jsr166ycompile"
897 jsr166 1.103 depends="configure-compiler"
898 dl 1.74 description="Compiles jsr166y sources">
899    
900 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
901 dl 1.74
902 jsr166 1.103 <javac srcdir="${topsrc.dir}"
903 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
904 jsr166 1.103 debug="${build.debug}"
905     debuglevel="${build.debuglevel}"
906     deprecation="${build.deprecation}"
907 jsr166 1.107 source="6"
908 jsr166 1.103 classpath=""
909 jsr166 1.119 bootclasspath="${bootclasspath6}"
910 jsr166 1.103 includeAntRuntime="false"
911     includeJavaRuntime="false"
912     executable="${javac7}"
913     fork="true">
914 dl 1.74
915 jsr166 1.103 <include name="jsr166y/**/*.java"/>
916 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
917 jsr166 1.103 <compilerarg value="-Xlint:all"/>
918 jsr166 1.164 <compilerarg value="-Werror"/>
919 jsr166 1.118 <compilerarg line="${build.args}"/>
920    
921 dl 1.74 </javac>
922     </target>
923    
924    
925 jsr166 1.128 <target name="jsr166yjar"
926 dl 1.74 depends="jsr166ycompile"
927     description="Builds library jar from compiled sources">
928    
929 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
930 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
931 jsr166 1.178 <manifest>
932 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
933     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
934 jsr166 1.178 </manifest>
935 dl 1.74 </jar>
936    
937     </target>
938    
939    
940     <target name="jsr166ydocs"
941 jsr166 1.102 description="Builds javadocs to dist dir">
942 dl 1.74
943 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
944     <mkdir dir="${jsr166ydocs.dir}"/>
945 dl 1.74
946 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
947 jsr166 1.107 packagenames="jsr166y.*"
948 jsr166 1.152 link="${java.api.url}"
949 jsr166 1.130 access="${build.javadoc.access}"
950 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
951     bootclasspath="${bootclasspath6}"
952 jsr166 1.107 source="6"
953 jsr166 1.118 executable="${javadoc7}">
954 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
955 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
956 dl 1.74
957 jsr166 1.118 </javadoc>
958 dl 1.74 </target>
959    
960    
961     <target name="jsr166ydist"
962 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
963 dl 1.74 description="Puts all distributable products in single hierarchy"/>
964    
965    
966     <target name="jsr166yclean"
967 jsr166 1.109 description="Removes all jsr166y build products">
968 dl 1.74
969     <delete dir="${build.jsr166y.dir}"/>
970    
971     </target>
972    
973    
974     <target name="jsr166ydist-jar"
975 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
976 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
977 jsr166 1.125 </target>
978 dl 1.74
979 jsr166 1.125 <target name="jsr166ydist-docs"
980     depends="jsr166yclean, jsr166ydocs">
981 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
982 dl 1.74 </target>
983    
984 dl 1.90
985 dl 1.76 <!-- extra166y -->
986    
987    
988     <target name="extra166ycompile"
989 jsr166 1.128 depends="configure-compiler, jsr166yjar"
990 dl 1.76 description="Compiles extra166y sources">
991    
992 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
993 dl 1.76
994 jsr166 1.103 <javac srcdir="${topsrc.dir}"
995 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
996 jsr166 1.103 debug="${build.debug}"
997     debuglevel="${build.debuglevel}"
998     deprecation="${build.deprecation}"
999 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1000 jsr166 1.105 classpath=""
1001 jsr166 1.107 source="6"
1002 jsr166 1.103 includeAntRuntime="false"
1003     includeJavaRuntime="false"
1004     executable="${javac7}"
1005     fork="true">
1006 dl 1.76
1007 jsr166 1.103 <include name="extra166y/**/*.java"/>
1008 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1009 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1010 jsr166 1.164 <compilerarg value="-Werror"/>
1011 jsr166 1.118 <compilerarg line="${build.args}"/>
1012 dl 1.76
1013     </javac>
1014     </target>
1015    
1016    
1017 jsr166 1.128 <target name="extra166yjar"
1018 dl 1.76 depends="extra166ycompile"
1019     description="Builds library jar from compiled sources">
1020    
1021 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
1022 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
1023 jsr166 1.178 <manifest>
1024 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1025     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1026 jsr166 1.178 </manifest>
1027 dl 1.76 </jar>
1028    
1029     </target>
1030    
1031    
1032     <target name="extra166ydocs"
1033 jsr166 1.107 description="Builds javadocs to build dir">
1034 dl 1.76
1035 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1036     <mkdir dir="${extra166ydocs.dir}"/>
1037 dl 1.76
1038 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1039 jsr166 1.107 packagenames="extra166y.*"
1040 jsr166 1.152 link="${java.api.url}"
1041 jsr166 1.130 access="${build.javadoc.access}"
1042 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1043     bootclasspath="${bootclasspath6}"
1044 jsr166 1.107 source="6"
1045 jsr166 1.118 executable="${javadoc7}">
1046 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1047 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1048 dl 1.76
1049 jsr166 1.118 </javadoc>
1050 dl 1.76 </target>
1051    
1052    
1053     <target name="extra166ydist"
1054 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1055 dl 1.76 description="Puts all distributable products in single hierarchy"/>
1056    
1057    
1058     <target name="extra166yclean"
1059 jsr166 1.109 description="Removes all extra166y build products">
1060 dl 1.76
1061     <delete dir="${build.extra166y.dir}"/>
1062    
1063     </target>
1064    
1065    
1066     <target name="extra166ydist-jar"
1067 jsr166 1.128 depends="extra166yclean, extra166yjar">
1068 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1069 jsr166 1.125 </target>
1070 dl 1.76
1071 jsr166 1.125 <target name="extra166ydist-docs"
1072     depends="extra166yclean, extra166ydocs">
1073 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1074 dl 1.76 </target>
1075    
1076 dl 1.90 <!-- jsr166e -->
1077    
1078 jsr166 1.144 <property name="build.jsr166e.java.version" value="6"/>
1079     <property name="build.jsr166e.javac" value="${javac6}"/>
1080    
1081 dl 1.90 <target name="jsr166ecompile"
1082 jsr166 1.94 depends="configure-compiler"
1083 dl 1.90 description="Compiles jsr166e sources">
1084    
1085 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1086 dl 1.90
1087 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1088 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1089 jsr166 1.94 debug="${build.debug}"
1090     debuglevel="${build.debuglevel}"
1091     deprecation="${build.deprecation}"
1092 jsr166 1.144 source="${build.jsr166e.java.version}"
1093 jsr166 1.94 classpath=""
1094     includeAntRuntime="false"
1095     includeJavaRuntime="false"
1096 jsr166 1.144 executable="${build.jsr166e.javac}"
1097 jsr166 1.94 fork="true">
1098 dl 1.90
1099 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1100 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1101 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1102 jsr166 1.164 <compilerarg value="-Werror"/>
1103 jsr166 1.118 <compilerarg line="${build.args}"/>
1104 dl 1.90
1105     </javac>
1106     </target>
1107    
1108 jsr166 1.150 <!-- jsr166e: find doclint errors -->
1109     <target name="jsr166edoclint">
1110    
1111     <mkdir dir="${build.jsr166e.classes.dir}"/>
1112    
1113     <javac srcdir="${topsrc.dir}"
1114     destdir="${build.jsr166e.classes.dir}"
1115     debug="${build.debug}"
1116     debuglevel="${build.debuglevel}"
1117     deprecation="${build.deprecation}"
1118     source="${build.jsr166e.java.version}"
1119     classpath=""
1120     bootclasspath="${bootclasspath7}"
1121     includeAntRuntime="false"
1122     includeJavaRuntime="false"
1123     executable="${javac8}"
1124     fork="true">
1125    
1126     <include name="jsr166e/**/*.java"/>
1127     <compilerarg value="-XDignore.symbol.file=true"/>
1128     <compilerarg value="-Xlint:all"/>
1129 jsr166 1.164 <compilerarg value="-Werror"/>
1130 jsr166 1.150 <compilerarg value="-Xdoclint:all/protected"/>
1131    
1132     </javac>
1133     </target>
1134    
1135 dl 1.90
1136 jsr166 1.128 <target name="jsr166ejar"
1137 dl 1.90 depends="jsr166ecompile"
1138     description="Builds library jar from compiled sources">
1139    
1140 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1141 jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1142 jsr166 1.178 <manifest>
1143 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1144     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1145 jsr166 1.178 </manifest>
1146 dl 1.90 </jar>
1147    
1148     </target>
1149    
1150    
1151     <target name="jsr166edocs"
1152 jsr166 1.107 description="Builds javadocs to build dir">
1153 dl 1.90
1154 jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1155     <mkdir dir="${jsr166edocs.dir}"/>
1156 dl 1.90
1157 jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1158 jsr166 1.107 packagenames="jsr166e.*"
1159 jsr166 1.152 link="${java.api.url}"
1160 jsr166 1.130 access="${build.javadoc.access}"
1161 jsr166 1.144 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1162     source="${build.jsr166e.java.version}"
1163 jsr166 1.118 executable="${javadoc7}">
1164 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1165 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1166    
1167 jsr166 1.96 </javadoc>
1168 dl 1.90 </target>
1169    
1170    
1171 jsr166 1.174 <target name="jsr166e-tck-one-java-version"
1172 jsr166 1.148 depends="jsr166ejar">
1173 jsr166 1.122
1174 jsr166 1.144 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1175    
1176 jsr166 1.122 <run-tck-tests
1177     tck.src.dir="${test.src.dir}/tck-jsr166e"
1178 jsr166 1.144 target="${build.jsr166e.java.version}"
1179 jsr166 1.122 workdir="${build.jsr166e.dir}"
1180     classes="${jsr166e.jar}"/>
1181     </target>
1182    
1183 jsr166 1.174 <target name="jsr166e-tck"
1184 jsr166 1.144 description="Runs tck tests for jsr166e for multiple java versions">
1185    
1186     <!-- <antcall target="clean"/> -->
1187 jsr166 1.174 <!-- <antcall target="jsr166e-tck-one-java-version"> -->
1188 jsr166 1.144 <!-- <param name="build.jsr166e.java.version" value="8"/> -->
1189     <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
1190     <!-- </antcall> -->
1191    
1192     <antcall target="clean"/>
1193 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1194 jsr166 1.144 <param name="build.jsr166e.java.version" value="7"/>
1195     <param name="build.jsr166e.javac" value="${javac7}"/>
1196     </antcall>
1197    
1198     <antcall target="clean"/>
1199 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1200 jsr166 1.144 <param name="build.jsr166e.java.version" value="6"/>
1201     <param name="build.jsr166e.javac" value="${javac6}"/>
1202     </antcall>
1203     </target>
1204    
1205 jsr166 1.122
1206 jsr166 1.147 <target name="jsr166e-test"
1207 jsr166 1.174 depends="jsr166e-tck"
1208 jsr166 1.147 description="Runs all tests for jsr166e">
1209     </target>
1210    
1211 dl 1.90 <target name="jsr166edist"
1212 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1213 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1214    
1215    
1216     <target name="jsr166eclean"
1217 jsr166 1.109 description="Removes all jsr166e build products">
1218 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1219     </target>
1220    
1221    
1222     <target name="jsr166edist-jar"
1223 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1224 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1225 jsr166 1.125 </target>
1226 dl 1.90
1227 jsr166 1.125 <target name="jsr166edist-docs"
1228     depends="jsr166eclean, jsr166edocs">
1229 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1230 dl 1.90 </target>
1231    
1232 jsr166 1.130
1233     <!-- Find buglets that can be detected by static build tools -->
1234    
1235     <target name="lint">
1236     <antcall target="dists">
1237 jsr166 1.161 <param name="build.javadoc.access" value="public"/>
1238     </antcall>
1239     </target>
1240    
1241     <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1242     <target name="lint-private">
1243     <antcall target="dist">
1244 jsr166 1.130 <param name="build.javadoc.access" value="private"/>
1245     </antcall>
1246     </target>
1247    
1248    
1249 tim 1.1 </project>