ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.199
Committed: Fri Mar 25 03:36:15 2016 UTC (8 years, 1 month ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.198: +16 -15 lines
Log Message:
fix up properties for source forest locations

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