ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.194
Committed: Wed Dec 16 02:29:06 2015 UTC (8 years, 4 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.193: +3 -0 lines
Log Message:
handle jdk9 move: sun.misc.Contended -> jdk.internal.vm.annotation.Contended

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