/[cvs]/jsr166/build.xml
ViewVC logotype

Diff of /jsr166/build.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.74 by dl, Thu Sep 13 11:19:25 2007 UTC revision 1.161 by jsr166, Sat Jan 17 23:12:49 2015 UTC
# Line 8  Line 8 
8    
9    User-specific settings are read from user.properties.    User-specific settings are read from user.properties.
10    See user.properties.sample for an explanation of some useful settings.    See user.properties.sample for an explanation of some useful settings.
11    
12      The repository contains all dependencies except for ant and the JDK
13      itself.  Because the JDK version matters and because different
14      targets require different JDKs, we assume that users have created a
15      hierarchy containing:
16      $HOME/jdk/jdk6
17      $HOME/jdk/jdk7
18      $HOME/jdk/jdk8
19      $HOME/jdk/jdk9
20      where each of the above is a JDK or a symlink to same, and
21      $HOME/jdk/src/jdk6
22      $HOME/jdk/src/jdk7
23      $HOME/jdk/src/jdk8
24      $HOME/jdk/src/jdk9
25      where each of the above is a complete JDK source tree
26      (e.g. mercurial forest) or a symlink to same.
27    
28      Alternatively, define ant variables thus:
29      ant -Djdk$N.home=...
30      for $N in 6 7 8 9 ...
31  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
32    </description>    </description>
33    
34    <target name="usage" description="Advises user to run with -projecthelp">    <!-- Display main targets by running 'ant -projecthelp' -->
35      <echo>Run "ant -projecthelp" for full usage information.</echo>    <target name="usage">
36        <java classname="org.apache.tools.ant.Main">
37          <arg value="-projecthelp" />
38        </java>
39    </target>    </target>
40    
41    
# Line 21  Line 44 
44    
45    
46    <!-- Compilation options -->    <!-- Compilation options -->
47    <property name="build.sourcelevel"    value="1.5"/>    <property name="build.sourcelevel"    value="6"/>
48    <property name="build.debug"          value="true"/>    <property name="build.debug"          value="true"/>
49    <property name="build.debuglevel"     value="source,lines,vars"/>    <property name="build.debuglevel"     value="source,lines,vars"/>
50    <property name="build.deprecation"    value="false"/>    <property name="build.deprecation"    value="false"/>
51      <property name="build.javadoc.access" value="protected"/>
52    
53      <!-- Tck options; see JSR166TestCase.java
54       To profile a single tck test class:
55       ant -Djsr166.profileTests=true -Djsr166.profileThreshold=100 -Djsr166.tckTestClass=CompletableFutureTest test-tck
56       To stress test a single tck test class:
57       ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck
58      -->
59      <property name="jsr166.profileTests"     value="false"/>
60      <property name="jsr166.profileThreshold" value="100"/>
61      <property name="jsr166.runsPerTest"      value="1"/>
62      <property name="jsr166.tckTestClass"     value="JSR166TestCase"/>
63    
64    <!-- Build locations -->    <!-- Build locations -->
65    <property name="build.dir"            location="build"/>    <property name="build.dir"                   location="build"/>
66    <property name="build.classes.dir"    location="${build.dir}/classes"/>    <property name="build.classes.dir"           location="${build.dir}/classes"/>
67    <property name="build.testcases.dir"  location="${build.dir}/testcases"/>    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>
68    <property name="build.j1.dir"         location="${build.dir}/j1"/>    <property name="build.loops.dir"             location="${build.dir}/loops"/>
69    <property name="build.loops.dir"      location="${build.dir}/loops"/>    <property name="build.reports.dir"           location="${build.dir}/reports"/>
70    <property name="build.lib.dir"        location="${build.dir}/lib"/>  
71    <property name="build.ant.dir"        location="${build.dir}/ant"/>    <property name="build.4jdk7.dir"             location="${build.dir}/jsr166-4jdk7"/>
72    <property name="build.javadocs.dir"   location="${build.dir}/javadocs"/>    <property name="build.4jdk7.classes.dir"     location="${build.4jdk7.dir}/classes"/>
73    <property name="build.reports.dir"    location="${build.dir}/reports"/>    <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
74    <property name="build.checkstyle.dir" location="${build.dir}/checkstyle"/>    <property name="build.4jdk7.docs.dir"        location="${build.4jdk7.dir}/docs"/>
75    <property name="build.doccheck.dir"   location="${build.dir}/doccheck"/>  
76    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
77    <property name="build.dc-filter.dir"  location="${build.dir}/filterdocchk"/>    <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>
78    <property name="build.jsr166x.dir"    location="${build.dir}/jsr166x"/>    <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>
79    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>    <property name="build.extra166y.dir"         location="${build.dir}/extra166y"/>
80    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>  
81      <property name="build.jsr166x.classes.dir"   location="${build.jsr166x.dir}/classes"/>
82    <property name="build.jsr166y.dir"    location="${build.dir}/jsr166y"/>    <property name="build.jsr166y.classes.dir"   location="${build.jsr166y.dir}/classes"/>
83    <property name="build.jsr166ylib.dir"        location="${build.dir}/jsr166ylib"/>    <property name="build.jsr166e.classes.dir"   location="${build.jsr166e.dir}/classes"/>
84    <property name="build.jsr166yjavadocs.dir"   location="${build.dir}/jsr166yjavadocs"/>    <property name="build.extra166y.classes.dir" location="${build.extra166y.dir}/classes"/>
85    
86      <!-- JDK locations -->
87      <property name="jdks.home"  location="${user.home}/jdk"/>
88    
89      <macrodef name="defjdklocations">
90        <attribute name="v"/>
91        <sequential>
92        <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
93        <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
94        <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
95        <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
96        <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
97        <local name="boot.jar.dir"/>
98        <property name="boot.jar.dir"   location="${jdk@{v}.home}/jre/lib"/>
99        <path id="bootclasspath@{v}">
100          <pathelement path="${boot.jar.dir}/resources.jar"/>
101          <pathelement path="${boot.jar.dir}/rt.jar"/>
102          <pathelement path="${boot.jar.dir}/jsse.jar"/>
103          <pathelement path="${boot.jar.dir}/jce.jar"/>
104          <pathelement path="${boot.jar.dir}/charsets.jar"/>
105        </path>
106        <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}"/>
107        </sequential>
108      </macrodef>
109    
110      <macrodef name="mirror-dir">
111        <attribute name="src"/>
112        <attribute name="dst"/>
113        <sequential>
114        <delete dir="@{dst}"/>
115        <mkdir dir="@{dst}"/>
116        <copy todir="@{dst}" preservelastmodified="true">
117          <fileset dir="@{src}"/>
118        </copy>
119        </sequential>
120      </macrodef>
121    
122      <defjdklocations v="6"/>
123      <defjdklocations v="7"/>
124      <defjdklocations v="8"/>
125      <defjdklocations v="9"/>
126    
127    <!-- Source locations -->    <!-- Source locations -->
128    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
129    <property name="test.src.dir"         location="${basedir}/src/test"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
   <property name="j1.src.dir"           location="${basedir}/src/javaone"/>  
130    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
131    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
132    <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>    <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>
   <property name="ant.src.dir"          location="${basedir}/etc/ant"/>  
   <property name="stylesheet.dir"       location="${basedir}/etc/xsl"/>  
133    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
134    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
135    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
136    <property name="jsr166xsrc.dir"       location="${basedir}/src/jsr166x"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
137    <property name="jsr166ysrc.dir"       location="${basedir}/src/jsr166y"/>    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
138      <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
139    <!-- Distribution locations -->    <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
140    <property name="dist.javadocs.dir"    location="${dist.dir}/docs"/>    <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>
141    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>  
142    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>    <!-- Javadoc locations -->
143      <property name="docs.dir"          location="${build.dir}/docs"/>
144      <property name="4jdk7docs.dir"     location="${build.4jdk7.dir}/docs"/>
145      <property name="jsr166xdocs.dir"   location="${build.jsr166x.dir}/docs"/>
146      <property name="jsr166ydocs.dir"   location="${build.jsr166y.dir}/docs"/>
147      <property name="jsr166edocs.dir"   location="${build.jsr166e.dir}/docs"/>
148      <property name="extra166ydocs.dir" location="${build.extra166y.dir}/docs"/>
149    
150      <property name="dist.docs.dir"          location="${dist.dir}/docs"/>
151      <property name="dist.4jdk7docs.dir"     location="${dist.dir}/jsr166-4jdk7docs"/>
152      <property name="dist.jsr166xdocs.dir"   location="${dist.dir}/jsr166xdocs"/>
153      <property name="dist.jsr166ydocs.dir"   location="${dist.dir}/jsr166ydocs"/>
154      <property name="dist.jsr166edocs.dir"   location="${dist.dir}/jsr166edocs"/>
155      <property name="dist.extra166ydocs.dir" location="${dist.dir}/extra166ydocs"/>
156    
157    <!-- Jar locations -->    <!-- Jar locations -->
158    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"      location="${build.dir}/jsr166.jar"/>
159    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>    <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
160    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>    <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>
161    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>    <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>
162    <property name="concurrent.jar"       location="${lib.dir}/concurrent.jar"/>    <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>
163      <property name="extra166y.jar"    location="${build.extra166y.dir}/extra166y.jar"/>
164    <!-- Bootclasspath argument -->    <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
165    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>  
166      <!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag -->
167      <property name="java5.docroot.url"      value="http://docs.oracle.com/javase/1.5.0/docs"/>
168      <property name="java6.docroot.url"      value="http://docs.oracle.com/javase/6/docs"/>
169      <property name="java7.docroot.url"      value="http://docs.oracle.com/javase/7/docs"/>
170      <property name="java8.docroot.url"      value="http://docs.oracle.com/javase/8/docs"/>
171      <!-- The expected canonical location does not yet exist as of 2014-07 -->
172      <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
173      <property name="java9.docroot.url"      value="http://download.java.net/jdk9/docs"/>
174      <!-- Default jdk doc location (latest stable release seems best) -->
175      <property name="java.docroot.url"       value="${java8.docroot.url}"/>
176    
177      <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
178      <property name="java5.api.url"      value="${java5.docroot.url}/api/"/>
179      <property name="java6.api.url"      value="${java6.docroot.url}/api/"/>
180      <property name="java7.api.url"      value="${java7.docroot.url}/api/"/>
181      <property name="java8.api.url"      value="${java8.docroot.url}/api/"/>
182      <property name="java9.api.url"      value="${java9.docroot.url}/api/"/>
183      <property name="java.api.url"       value="${java.docroot.url}/api/"/>
184    
185      <!-- Define the "jtreg" task -->
186      <!-- See the docs in "jtreg -onlineHelp" -->
187      <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
188               classpath="${lib.dir}/jtreg.jar" />
189    
190    <!-- Test classpath -->    <!-- Test classpath -->
191    <path id="test.classpath">    <path id="test.classpath">
# Line 84  Line 193 
193      <pathelement location="${junit.jar}"/>      <pathelement location="${junit.jar}"/>
194    </path>    </path>
195    
196      <macrodef name="run-tck-tests">
197        <attribute name="tck.src.dir" default="${tck.src.dir}"/>
198        <attribute name="target"/>
199        <attribute name="compile-target" default="@{target}"/>
200        <attribute name="workdir"/>
201        <attribute name="classes"/>
202        <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
203        <element name="javac-elements" optional="true"/>
204        <sequential>
205    
206        <mkdir dir="@{workdir}/tck-classes"/>
207    
208        <javac srcdir="@{tck.src.dir}"
209               destdir="@{workdir}/tck-classes"
210               debug="${build.debug}"
211               debuglevel="${build.debuglevel}"
212               deprecation="${build.deprecation}"
213               source="@{compile-target}"
214               target="@{compile-target}"
215               classpath="${junit.jar}"
216               bootclasspath="@{classes}:${bootclasspath@{compile-target}}"
217               includeAntRuntime="false"
218               includeJavaRuntime="false"
219               executable="${javac@{compile-target}}"
220               fork="true">
221    
222          <include name="*.java"/>
223          <compilerarg value="-XDignore.symbol.file=true"/>
224          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
225          <compilerarg line="${build.args}"/>
226          <javac-elements/>
227    
228        </javac>
229    
230        <java classname="${jsr166.tckTestClass}"
231              failonerror="true"
232              jvm="${java@{target}}"
233              fork="true">
234            <jvmarg value="-Xbootclasspath/p:@{classes}"/>
235            <jvmarg line="@{jvmflags}"/>
236    
237            <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 test-tck -->
238            <syspropertyset id="java.util.concurrent.ForkJoinPool-properties">
239              <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
240            </syspropertyset>
241    
242            <sysproperty key="jsr166.profileTests"     value="${jsr166.profileTests}"/>
243            <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>
244            <sysproperty key="jsr166.runsPerTest"      value="${jsr166.runsPerTest}"/>
245            <classpath>
246              <pathelement location="${junit.jar}"/>
247              <pathelement location="@{workdir}/tck-classes"/>
248            </classpath>
249        </java>
250    
251        </sequential>
252      </macrodef>
253    
254      <macrodef name="run-jtreg-tests">
255        <!-- ant -Djtreg.src.dir=src/test/jtreg/util/concurrent/CompletableFuture test-jtreg -->
256        <attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/>
257        <attribute name="source" default="7"/>
258        <attribute name="target"/>
259        <attribute name="workdir"/>
260        <attribute name="classes"/>
261        <attribute name="jtregflags" default=""/>
262        <sequential>
263        <delete dir="@{workdir}/JTwork"   quiet="true"/>
264        <delete dir="@{workdir}/JTreport" quiet="true"/>
265        <mkdir dir="@{workdir}/JTwork/scratch"/>
266        <mkdir dir="@{workdir}/JTreport"/>
267        <jtreg dir="@{jtreg.src.dir}"
268               jdk="${jdk@{target}.home}"
269               workDir="@{workdir}/JTwork"
270               reportDir="@{workdir}/JTreport">
271    
272          <arg value="-Xbootclasspath/p:@{classes}"/>
273          <arg value="-agentvm"/>
274          <arg value="-v:nopass,fail"/>
275          <arg value="-vmoptions:-esa -ea"/>
276          <arg value="-automatic"/>
277          <arg value="-k:!ignore"/>
278          <arg line="@{jtregflags}"/>
279        </jtreg>
280        </sequential>
281      </macrodef>
282    
283    <!-- ALoops classpath -->    <!-- ALoops classpath -->
284    <path id="loops.classpath">    <path id="loops.classpath">
285      <pathelement location="${build.loops.dir}"/>      <pathelement location="${build.loops.dir}"/>
286    </path>    </path>
287    
288    <!-- J1 classpath -->    <!-- Support @jls tag, used in jdk8+ javadoc -->
289    <path id="j1.classpath">    <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
290      <pathelement location="${build.classes.dir}"/>    <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
     <pathelement location="${build.j1.dir}"/>  
     <pathelement location="${junit.jar}"/>  
   
     <!-- Include dl.u.c for BoundedBuffer comparison -->  
     <pathelement location="${concurrent.jar}"/>  
   </path>  
   
291    
292    <!-- Main targets -->    <!-- Main targets -->
293    
294      <property name="build.main.java.version" value="9"/>
295      <property name="build.main.javac" value="${javac9}"/>
296    
297      <target name="dists"
298              depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
299              description="Builds all public jars and docs"/>
300    
301    <target name="compile"    <target name="compile"
302            depends="init, configure-compiler"            depends="configure-compiler"
303            description="Compiles main sources to build folder">            description="Compiles src/main sources to build dir">
304    
305      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
306    
307      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
308            destdir="${build.classes.dir}"             destdir="${build.classes.dir}"
309              debug="${build.debug}"             debug="${build.debug}"
310         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
311        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
312             source="${build.sourcelevel}"             classpath=""
313               fork="true">             includeAntRuntime="false"
314               includeJavaRuntime="false"
315               executable="${build.main.javac}"
316               fork="true">
317    
318        <include name="**/*.java"/>        <include name="**/*.java"/>
319        <compilerarg value="-XDignore.symbol.file"/>        <compilerarg value="-Xprefer:source"/>
320          <compilerarg value="-XDignore.symbol.file=true"/>
321  <!--        <compilerarg value="-Xlint:all"/>
322        <exclude name="java/lang/**"/>        <compilerarg value="-Xdoclint:all/protected"/>
323          <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
324        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
       <compilerarg line="-Xlint -Xmaxwarns 1000"/>  
 -->  
325    
326      </javac>      </javac>
   
327    </target>    </target>
328    
329    
   
330    <target name="jar"    <target name="jar"
331            depends="compile"            depends="compile"
332            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
333    
     <mkdir dir="${build.lib.dir}"/>  
   
334      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
335        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}"/>
336      </jar>      </jar>
   
337    </target>    </target>
338    
339    
   
   <target name="test"  
           depends="init, configure-tests, report-tests"  
           description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />  
   
   
   
340    <target name="docs"    <target name="docs"
341            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs for src/main to dist dir">
342    
343      <delete dir="${build.javadocs.dir}"/>      <delete dir="${docs.dir}"/>
344      <mkdir dir="${build.javadocs.dir}"/>      <mkdir dir="${docs.dir}"/>
345    
346      <javadoc destdir="${build.javadocs.dir}"      <!-- the packagenames="none" hack below prevents scanning the -->
347                  link="http://java.sun.com/javase/6/docs/api/"      <!-- sourcepath for packages -->
             overview="${src.dir}/intro.html"  
             sourcepath="${src.dir}:/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"  
     >            
348    
349        <packageset dir="${src.dir}"/>      <javadoc destdir="${docs.dir}"
350                 packagenames="none"
351      </javadoc>               link="${java9.api.url}"
352                 overview="${src.dir}/intro.html"
353    </target>               access="${build.javadoc.access}"
354                 sourcepath="${src.dir}:${jdk9src.dir}"
355                 classpath=""
356                 executable="${javadoc9}">
357    <target name="doccheck"        <fileset dir="${src.dir}" defaultexcludes="yes">
358            depends="filter-doccheck"          <include name="**/*.java"/>
359            description="Reports on javadoc style errors">        </fileset>
360          <arg line="-Xdocrootparent ${java9.docroot.url}"/>
361      <delete dir="${build.doccheck.dir}"/>        <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
362      <mkdir dir="${build.doccheck.dir}"/>        <arg value="-XDignore.symbol.file=true"/>
363          <arg value="-tag"/>
364      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"        <arg value="${javadoc.jls.option}"/>
365           docletpath="${lib.dir}/doccheck.jar"        <arg value="-tag"/>
366              destdir="${build.doccheck.dir}">        <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
367        <packageset dir="${build.dc-filter.dir}"/>        <arg value="-tag"/>
368          <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
369          <arg value="-tag"/>
370          <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
371      </javadoc>      </javadoc>
   
     <echo>DocCheck output is in ${build.doccheck.dir}</echo>  
   
372    </target>    </target>
373    
374    
   
   <target name="checkstyle"  
           depends="filter-src"  
           description="Reports on style errors in Java source (verbose, mostly chaff)">  
   
     <taskdef resource="checkstyletask.properties"  
             classpath="${lib.dir}/checkstyle-all-3.1.jar"/>  
   
     <mkdir dir="${build.checkstyle.dir}"/>  
   
     <checkstyle config="etc/checkstyle/sun_checks.xml"  
        failOnViolation="false">  
       <formatter type="xml" toFile="${build.checkstyle.dir}/checkstyle-report.xml"/>  
       <fileset dir="${build.filter.src.dir}" includes="**/*.java"/>  
     </checkstyle>  
   
     <style in="${build.checkstyle.dir}/checkstyle-report.xml"  
           out="${build.checkstyle.dir}/checkstyle-report.html"  
         style="${stylesheet.dir}/checkstyle-frames.xsl"/>  
   
   </target>  
   
   
   
375    <target name="dist"    <target name="dist"
376            depends="init, dist-clean, dist-jar, dist-docs"            depends="dist-clean, dist-jar, dist-docs"
377            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
378    
379    
   
380    <target name="release"    <target name="release"
381            depends="dist"            depends="dist"
382            description="Puts entire CVS tree, plus distribution productions, in a jar">            description="Puts entire CVS tree, plus distribution productions, in a jar">
# Line 235  Line 392 
392        <exclude name="**/SyntaxTest.java"/>        <exclude name="**/SyntaxTest.java"/>
393        <exclude name="**/SuperfluousAbstract.java"/>        <exclude name="**/SuperfluousAbstract.java"/>
394      </jar>      </jar>
   
395    </target>    </target>
396    
397    
   
398    <target name="clean"    <target name="clean"
399            description="Removes all build products">            description="Removes all build products">
400    
401      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
     <delete dir="${build.classes.dir}"/>  
     <delete dir="${build.lib.dir}"/>  
402    
403    </target>    </target>
404    
405    
   
406    <target name="dist-clean"    <target name="dist-clean"
407            description="Removes all build and distribution products">            description="Removes all build and distribution products">
408    
409        <delete dir="${build.dir}"/>
410      <delete dir="${dist.dir}"/>      <delete dir="${dist.dir}"/>
411    
412    </target>    </target>
413    
414    
   
   <target name="dist-docs"  
           description="Builds javadocs without custom tags to dist folder">  
   
     <delete dir="${dist.javadocs.dir}"/>  
     <mkdir dir="${dist.javadocs.dir}"/>  
   
     <javadoc destdir="${dist.javadocs.dir}"  
             link="http://java.sun.com/javase/6/docs/api/"  
             overview="${src.dir}/intro.html"  
   
             sourcepath="${src.dir}:/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"  
      >  
 <!--  
       <packageset dir="${src.dir}" defaultexcludes="yes">  
       <include name="java/util/concurrent"/>  
       <include name="java/util/concurrent/atomic"/>  
       <include name="java/util/concurrent/locks"/>  
       </packageset>  
 -->  
       <fileset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="main/java/util/concurrent/*.java"/>  
       <include name="main/java/util/concurrent/atomic/*.java"/>  
       <include name="main/java/util/concurrent/locks/*.java"/>  
       <include name="main/java/util/*.java"/>  
 <!--  
       <include name="main/java/util/concurrent/*.html"/>  
       <include name="main/java/util/concurrent/atomic/*.html"/>  
       <include name="main/java/util/concurrent/locks/*.html"/>  
       <include name="main/java/util/*.html"/>  
 -->  
 <!--      <include name="jsr166x/*.java"/> -->  
       </fileset>  
     </javadoc>  
   
   </target>  
   
   
   
   <!-- Internal targets -->  
   
   
   <target name="init">  
   
     <!-- Version is kept in a separate file -->  
     <loadfile property="version" srcFile="version.properties"/>  
     <echo>Building JSR-166 version ${version}</echo>  
     <echo>java.home is ${java.home}</echo>  
   
   </target>  
   
   
415    <target name="dist-jar"    <target name="dist-jar"
416            depends="clean, jar">            depends="clean, jar">
   
417      <copy file="${product.jar}" todir="${dist.dir}"/>      <copy file="${product.jar}" todir="${dist.dir}"/>
   
418    </target>    </target>
419    
420      <target name="dist-docs"
421    <target name="compile-ant-filter"            depends="clean, docs">
422            depends="init">      <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
   
     <mkdir dir="${build.ant.dir}"/>  
   
     <javac srcdir="${ant.src.dir}"  
           destdir="${build.ant.dir}"  
            source="1.4"/>  
   
423    </target>    </target>
424    
425    
426    <target name="filter-src"    <target name="test-tck"
427            depends="compile-ant-filter">            depends="jar"
428              description="Runs tck tests for main directly">
     <mkdir dir="${build.filter.src.dir}"/>  
   
     <copy todir="${build.filter.src.dir}">  
       <fileset dir="${src.dir}">  
         <include name="**/*.html"/>  
       </fileset>  
     </copy>  
   
     <copy todir="${build.filter.src.dir}">  
       <fileset dir="${src.dir}">  
         <exclude name="**/*.html"/>  
         <!-- Files excluded from dist-docs -->  
         <exclude name="java/util/Random.*"/>  
         <exclude name="sun/misc/Unsafe.*"/>  
       </fileset>  
       <!--  
       <filterchain>  
       -->  
   
         <!--  
          # This filter gets rid of angle-bracketed type parameters  
          # so that javadoc can run on the result. The following  
          # heuristic seems to work:  
          #  
          # For all lines not starting with space(s)-asterisk-space(s),  
          #   replace <something> with a space, where there may be more  
          #   than one right angle bracket at the end, and "something"  
          #   must not contain parens or pipes. (This may need some  
          #   tweaking.)  
          -->  
   
         <!--  
         <filterreader classname="jsr166.ant.filters.ReplaceFilter"  
                       classpath="${build.ant.dir}">  
           <param name="notmatching" value="^\s+\*\s.*$"/>  
           <param name="pattern"     value="&lt;[^|>()]+?>+"/>  
           <param name="replacement" value=" "/>  
         </filterreader>  
         -->  
   
       <!--  
       </filterchain>  
       -->  
     </copy>  
429    
430        <run-tck-tests
431          target="${build.main.java.version}"
432          workdir="${build.dir}"
433          classes="${product.jar}"/>
434    </target>    </target>
435    
436      <target name="test-tck-parallelism-1"
437    <target name="filter-doccheck"            description="Runs test-tck with given common pool parallelism">
438            depends="filter-src">      <antcall target="test-tck">
439          <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
440      <mkdir dir="${build.dc-filter.dir}"/>      </antcall>
   
     <copy todir="${build.dc-filter.dir}">  
       <fileset dir="${build.filter.src.dir}">  
         <include name="**/*.html"/>  
       </fileset>  
     </copy>  
   
     <property name="generic.declarations"  
              value="/** Fake type parameter. */ public interface E {} /** Fake type parameter. */ public interface T {} /** Fake type parameter. */ public interface K {} /** Fake type parameter. */ public interface V {}"  
     />  
   
     <copy todir="${build.dc-filter.dir}">  
       <fileset dir="${build.filter.src.dir}">  
         <exclude name="**/*.html"/>  
       </fileset>  
       <filterchain>  
         <!--  
          # These two filters try to make the source look like  
          # something that doccheck can process. The first removes  
          # -source 1.4 assertions and the second adds in a bunch  
          # of single letter public nested marker interfaces so that  
          # the generic type parameters are recognized.  
          -->  
   
         <filterreader classname="jsr166.ant.filters.ReplaceFilter"  
                       classpath="${build.ant.dir}">  
           <param name="matching"    value="^\s*assert[\s ].*$"/>  
           <param name="pattern"     value="assert"/>  
           <param name="replacement" value="//assert"/>  
         </filterreader>  
   
         <filterreader classname="jsr166.ant.filters.ReplaceFilter"  
                       classpath="${build.ant.dir}">  
           <param name="matching"    value="^([^*]*(class|interface|implements) .*|)\{.*$"/>  
           <param name="pattern"     value="$"/>  
           <param name="replacement" value=" ${generic.declarations}"/>  
         </filterreader>  
   
       </filterchain>  
     </copy>  
   
441    </target>    </target>
442    
443      <target name="test-tck-parallelism-0"
444    <target name="compile-tests"            description="Runs test-tck with given common pool parallelism">
445            depends="jar">      <antcall target="test-tck">
446          <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
447      <mkdir dir="${build.testcases.dir}"/>      </antcall>
   
     <javac srcdir="${tck.src.dir}"  
           destdir="${build.testcases.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
   
       <compilerarg value="${bootclasspath.args}"/>  
       <compilerarg line="${build.args}"/>  
   
       <classpath refid="test.classpath"/>  
   
     </javac>  
   
     <javac srcdir="${test.src.dir}"  
           destdir="${build.testcases.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
   
       <include name="jsr166/test/**"/>  
   
       <compilerarg value="${bootclasspath.args}"/>  
       <compilerarg line="${build.args}"/>  
   
       <classpath refid="test.classpath"/>  
   
     </javac>  
   
 <!--  
     <javac srcdir="${jtreg.src.dir}"  
           destdir="${build.testcases.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
   
       <compilerarg value="${bootclasspath.args}"/>  
       <compilerarg line="${build.args}"/>  
   
       <classpath refid="test.classpath"/>  
   
     </javac>  
 -->  
   
448    </target>    </target>
449    
450      <target name="test-jtreg"
451    <target name="run-tests"            depends="jar"
452            depends="compile-tests">            description="Runs jtreg tests for main using the jtreg ant task">
453        <run-jtreg-tests
454      <!-- May be overridden by user.properties -->         target="${build.main.java.version}"
455      <property name="testcase" value="*"/>         workdir="${build.dir}"
456           classes="${product.jar}"/>
     <mkdir dir="${build.reports.dir}"/>  
   
     <junit printsummary="true"  
              showoutput="true"  
           errorProperty="junit.failed"  
         failureProperty="junit.failed"  
                     dir="${build.reports.dir}"  
                    fork="true">  
   
       <jvmarg value="${bootclasspath.args}"/>  
       <jvmarg value="-server"/>  
       <jvmarg value="-showversion"/>  
   
       <classpath refid="test.classpath"/>  
   
       <formatter type="xml"/>  
   
       <batchtest todir="${build.reports.dir}" unless="no.test.tck">  
         <fileset dir="${tck.src.dir}">  
           <include name="**/${testcase}Test.java"/>  
         </fileset>  
       </batchtest>  
   
       <batchtest todir="${build.reports.dir}" if="do.test.old">  
         <fileset dir="${test.src.dir}">  
           <include name="jsr166/test/**/${testcase}Test.java"/>  
         </fileset>  
       </batchtest>  
   
 <!--  
       <batchtest todir="${build.reports.dir}" if="do.test.jtreg">  
         <fileset dir="${jtreg.src.dir}">  
           <include name="**/${testcase}Test.java"/>  
         </fileset>  
       </batchtest>  
 -->  
   
     </junit>  
   
457    </target>    </target>
458    
459      <target name="test"
460              depends="test-tck, test-tck-parallelism-1, test-jtreg"
461              description="Runs tck and jtreg tests for main">
462      </target>
463    
464    <target name="report-tests"    <target name="test89"
465            depends="run-tests">            description="Runs tck and jtreg tests for main for multiple java versions">
   
     <!-- Sets junit.report.format to frames if redirection is present,  
          otherwise sets it to noframes. -->  
     <available property="junit.report.format"  
                   value="frames"  
               classname="org.apache.xalan.lib.Redirect"  
     />  
     <property name="junit.report.format" value="noframes"/>  
   
     <junitreport todir="${build.reports.dir}">  
       <fileset dir="${build.reports.dir}">  
         <include name="TEST-*.xml"/>  
       </fileset>  
       <report styledir="${stylesheet.dir}"  
                 format="${junit.report.format}"  
                  todir="${build.reports.dir}"  
       />  
     </junitreport>  
466    
467      <fail message="Test Cases Failed" if="junit.failed"/>      <antcall target="clean"/>
468        <antcall target="test">
469          <param name="build.main.java.version" value="8"/>
470          <param name="build.main.javac" value="${javac8}"/>
471        </antcall>
472    
473        <antcall target="clean"/>
474        <antcall target="test">
475          <param name="build.main.java.version" value="9"/>
476          <param name="build.main.javac" value="${javac9}"/>
477        </antcall>
478    
479    </target>    </target>
480    
481    
482    
483    <target name="configure-compiler">    <target name="configure-compiler">
484    
485      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
# Line 578  Line 497 
497    </target>    </target>
498    
499    
   <target name="configure-tests"  
        depends="configure-compiler">  
   
     <!-- junit.framework.Protectable is in JUnit 3.8.1 but not in 3.7 -->  
     <available property="junit.available"  
                classname="junit.framework.Protectable"/>  
   
     <!-- Xalan -->  
     <available property="xalan.available"  
                classname="org.apache.xalan.Version"/>  
   
   
     <!-- Ant 1.6beta and later don't need or want this check -->  
     <!--  
     <fail message="Need JUnit 3.8.1 in ${ant.home}${file.separator}lib to run tests"  
           unless="junit.available"/>  
   
     <fail message="Need Xalan 2.5.1 jar in ${ant.home}${file.separator}lib to run tests"  
           unless="xalan.available"/>  
     -->  
   
   </target>  
   
   
   
   <!-- Anthill targets -->  
   
   <target name="anthill-build">  
   
     <!-- Override this in user.properties -->  
     <property name="tiger.home" location="e:/j2sdk1.5.0"/>  
   
     <exec resultproperty="result.property" dir="${basedir}" executable="${tiger.home}/bin/java">  
       <arg value="-Xmx256000000"/>  
       <!-- classpath of new JVM -->  
       <arg value="-classpath"/> <arg path="${java.class.path}"/>  
       <!-- location of Ant home directory -->  
       <arg value="-Dant.home=${ant.home}"/>  
       <!-- the Ant main class -->  
       <arg value="org.apache.tools.ant.Main"/>  
       <!-- The build file -->  
       <arg value="-buildfile"/>  <arg value="build.xml"/>  
       <!-- the target to build on the new Ant instance -->  
       <arg value="-DJAVA_HOME=${tiger.home}"/>  
       <arg value="do-anthill-build"/>  
     </exec>  
   </target>  
   
   <target name="do-anthill-build"  
           depends="jar, test, docs, dist-docs"/>  
   
   <target name="anthill-publish">  
   
     <copy todir="${deployDir}/docs/private">  
       <fileset dir="${build.javadocs.dir}"/>  
     </copy>  
   
     <copy todir="${deployDir}/docs/public">  
       <fileset dir="${dist.javadocs.dir}"/>  
     </copy>  
   
     <copy tofile="${deployDir}/index.html"  
           file="${basedir}/etc/anthill-index.html"/>  
   
     <copy todir="${deployDir}/notes">  
       <fileset dir="${basedir}/etc/notes"/>  
     </copy>  
   
   </target>  
   
   
500    
501    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
502    
503    
504    <target name="sample" depends="init, configure-compiler"    <target name="loops" depends="configure-compiler"
           description="Standalone demo program">  
   
     <mkdir dir="${build.testcases.dir}"/>  
   
     <javac srcdir="${test.src.dir}"  
           destdir="${build.testcases.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
   
       <include name="jsr166/test/Sample.java"/>  
   
     </javac>  
   
     <copy todir="${build.testcases.dir}">  
       <fileset dir="${test.src.dir}">  
         <include name="**/*.properties"/>  
       </fileset>  
     </copy>  
   
   
     <java classname="jsr166.test.Sample" fork="true">  
       <classpath refid="test.classpath"/>  
       <!-- <jvmarg value="-ea"/> -->  
       <!-- <jvmarg value="-server"/> -->  
       <!-- <arg value="1000"/> -->  
     </java>  
   </target>  
   
   
   <target name="loops" depends="init, configure-compiler"  
505            description="Benchmark from Doug Lea's AQS paper">            description="Benchmark from Doug Lea's AQS paper">
506    
507      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
# Line 701  Line 516 
516    
517        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
518        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
519          <compilerarg value="-XDignore.symbol.file=true"/>
520    
521      </javac>      </javac>
522    
# Line 711  Line 527 
527    </target>    </target>
528    
529    
530    <target name="compile-j1" depends="init, configure-compiler, compile">    <!-- jsr166 4jdk7 -->
   
     <mkdir dir="${build.j1.dir}"/>  
531    
532      <javac srcdir="${j1.src.dir}"    <target name="4jdk7compile"
533            destdir="${build.j1.dir}"            depends="configure-compiler"
534              debug="${build.debug}"            description="Compiles src/jdk7 sources, targeting jdk7">
535         debuglevel="${build.debuglevel}"  
536        deprecation="${build.deprecation}"      <mkdir dir="${build.4jdk7.classes.dir}"/>
537             source="${build.sourcelevel}" >  
538        <javac srcdir="${4jdk7src.dir}"
539               destdir="${build.4jdk7.classes.dir}"
540               debug="${build.debug}"
541               debuglevel="${build.debuglevel}"
542               deprecation="${build.deprecation}"
543               source="6"
544               classpath=""
545               bootclasspath="${bootclasspath6}"
546               includeAntRuntime="false"
547               includeJavaRuntime="false"
548               executable="${javac7}"
549               fork="true">
550    
551        <include name="**/*.java"/>        <include name="**/*.java"/>
552        <exclude name="**/dijkstra/**"/>        <compilerarg value="-Xprefer:source"/>
553          <compilerarg value="-XDignore.symbol.file=true"/>
554          <compilerarg value="-Xlint:all"/>
555        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
       <classpath refid="j1.classpath"/>  
556    
557      </javac>      </javac>
   
558    </target>    </target>
559    
560      <target name="4jdk7doclint"
561              depends="configure-compiler"
562              description="Finds doclint warnings">
563    
564        <mkdir dir="${build.4jdk7.classes.dir}"/>
565    
566        <javac srcdir="${4jdk7src.dir}"
567               destdir="${build.4jdk7.classes.dir}"
568               debug="${build.debug}"
569               debuglevel="${build.debuglevel}"
570               deprecation="${build.deprecation}"
571               source="6"
572               classpath=""
573               bootclasspath="${bootclasspath7}"
574               includeAntRuntime="false"
575               includeJavaRuntime="false"
576               executable="${javac8}"
577               fork="true">
578    
579    <target name="sw" depends="compile-j1"        <include name="**/*.java"/>
580            description="Runs the SwingWorker demo">        <compilerarg value="-Xprefer:source"/>
581          <compilerarg value="-XDignore.symbol.file=true"/>
582      <!--        <compilerarg value="-Xlint:all"/>
583      <java classname="jsr166.swing.SwingWorkerDemo" fork="true">        <compilerarg value="-Xdoclint:all/protected"/>
584        <classpath refid="j1.classpath"/>        <compilerarg line="${build.args}"/>
     </java>  
     -->  
   
     <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>  
   
     <exec dir="${build.j1.dir}" executable="appletviewer.exe">  
       <arg value="${build.j1.dir}/SwingWorker.html"/>  
     </exec>  
585    
586        </javac>
587    </target>    </target>
588    
   <target name="j1" depends="compile-j1"  
           description="Runs a standalone JavaOne program">  
589    
590      <java classname="${j1.test}" fork="true">    <target name="4jdk7jar"
591        <classpath refid="j1.classpath"/>            depends="4jdk7compile"
592        <jvmarg value="-client"/>            description="Builds library jar from compiled sources">
593    
594        <!-- TestPseudoRandom args -->      <jar destfile="${4jdk7product.jar}">
595        <arg value="2"/>        <fileset dir="${build.4jdk7.classes.dir}"/>
596        <arg value="25"/>      </jar>
       <arg value="100000"/>  
597    
598        <!-- WebCrawler args -->    </target>
       <!--  
       <arg value="jsr166.webcrawler.WebCrawler3"/>  
       <arg value="http://www.priorartisans.com"/>  
       <arg value="25"/>  
       -->  
599    
     </java>  
600    
601      <target name="4jdk7-test-tck"
602              depends="4jdk7jar"
603              description="Runs tck tests for jsr166-4jdk7 directly">
604    
605        <run-tck-tests
606          target="7"
607          workdir="${build.4jdk7.dir}"
608          classes="${4jdk7product.jar}">
609          <javac-elements>
610            <!-- JDK8+ test classes -->
611            <exclude name="*8Test.java"/>
612            <exclude name="*9Test.java"/>
613            <exclude name="DoubleAccumulatorTest.java"/>
614            <exclude name="DoubleAdderTest.java"/>
615            <exclude name="LongAccumulatorTest.java"/>
616            <exclude name="LongAdderTest.java"/>
617            <exclude name="CompletableFutureTest.java"/>
618            <exclude name="SplittableRandomTest.java"/>
619            <exclude name="StampedLockTest.java"/>
620          </javac-elements>
621        </run-tck-tests>
622    </target>    </target>
623    
624    
625    <target name="test-j1" depends="compile-j1"    <target name="4jdk7-test-tck-junit"
626            description="Runs testcases from the JavaOne source directories">            depends="4jdk7compile"
627              description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
628    
629      <junit printsummary="true"      <junit printsummary="true"
630               showoutput="true"             showoutput="true"
631            errorProperty="junit.failed"             errorProperty="junit.failed"
632          failureProperty="junit.failed"             failureProperty="junit.failed"
633                      dir="${build.j1.dir}"             includeantruntime="true"
634                     fork="true">             jvm="${java7}"
635               fork="true">
       <!-- <jvmarg value="-server"/> -->  
       <classpath refid="j1.classpath"/>  
       <formatter type="xml"/>  
   
       <batchtest todir="${build.j1.dir}">  
         <fileset dir="${j1.src.dir}">  
           <include name="**/*Test.java"/>  
         </fileset>  
       </batchtest>  
636    
637      </junit>        <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
638          <jvmarg value="-server"/>
639    
640      <available property="junit.report.format"        <classpath>
641                    value="frames"          <pathelement location="${junit.jar}"/>
642                classname="org.apache.xalan.lib.Redirect"/>          <pathelement location="${build.4jdk7.tck.classes.dir}"/>
643      <property name="junit.report.format" value="noframes"/>        </classpath>
644    
645      <junitreport todir="${build.j1.dir}">        <formatter type="brief"/>
       <fileset dir="${build.j1.dir}">  
         <include name="TEST-*.xml"/>  
       </fileset>  
       <report styledir="${stylesheet.dir}"  
                 format="${junit.report.format}"  
                  todir="${build.j1.dir}"  
       />  
     </junitreport>  
646    
647      <fail message="Test Cases Failed" if="junit.failed"/>        <test name="${jsr166.tckTestClass}" haltonfailure="no">
648          </test>
649    
650        </junit>
651    </target>    </target>
652    
653      <target name="4jdk7-test-jtreg"
654              depends="4jdk7jar"
655              description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
656        <run-jtreg-tests
657           target="7"
658           workdir="${build.4jdk7.dir}"
659           classes="${4jdk7product.jar}"
660           jtregflags="-exclude:${jtreg.src.dir}/jdk8tests"/>
661      </target>
662    
663    
664    <!-- C++ and JNI definitions and demos -->    <target name="4jdk7-test"
665              depends="4jdk7-test-tck, 4jdk7-test-jtreg"
666              description="Runs tck and jtreg tests for jsr166-4jdk7">
667      </target>
668    
   <target name="configure-cpp">  
669    
670      <!-- Define tasks and types -->    <target name="4jdk7docs"
671              description="Builds javadocs for src/jdk7 to dist dir">
672    
673        <delete dir="${4jdk7docs.dir}"/>
674        <mkdir dir="${4jdk7docs.dir}"/>
675    
676        <javadoc destdir="${4jdk7docs.dir}"
677                 packagenames="none"
678                 link="${java7.api.url}"
679                 overview="${4jdk7src.dir}/intro.html"
680                 access="${build.javadoc.access}"
681                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
682                 classpath=""
683                 executable="${javadoc7}">
684          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
685            <include name="**/*.java"/>
686          </fileset>
687          <arg line="-Xdocrootparent ${java7.docroot.url}"/>
688          <arg value="-XDignore.symbol.file=true"/>
689        </javadoc>
690      </target>
691    
     <path id="cpptasks.path">  
       <pathelement location="${lib.dir}/cpptasks.jar"/>  
     </path>  
     <taskdef resource="cpptasks.tasks" classpathref="cpptasks.path"/>  
     <typedef resource="cpptasks.types" classpathref="cpptasks.path"/>  
692    
693      <!-- Set platform property for JNI includes -->    <target name="4jdk7dist"
694              depends="4jdk7dist-jar, 4jdk7dist-docs"
695              description="Puts all distributable products in single hierarchy"/>
696    
     <condition property="platform" value="linux">  
       <os name="Linux"/>  
     </condition>  
     <condition property="platform" value="win32">  
       <os family="windows"/>  
     </condition>  
     <condition property="platform" value="solaris">  
       <os name="SunOS"/>  
     </condition>  
697    
698    </target>    <target name="4jdk7clean"
699              description="Removes all 4jdk7 build products">
700    
701        <delete dir="${build.4jdk7.dir}"/>
702    
703    <target name="cppdemo" depends="configure-cpp">    </target>
704    
     <mkdir dir="${build.dir}"/>  
705    
706      <cc multithreaded="true"    <target name="4jdk7dist-jar"
707                   name="g++"            depends="4jdk7clean, 4jdk7jar">
708                 objdir="${build.dir}"      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
709                outfile="${build.dir}/CppDemo">    </target>
       <fileset dir="${test.src.dir}" includes="CppDemo.cpp"/>  
       <libset libs="stdc++"/>  
     </cc>  
710    
     <exec executable="${build.dir}/CppDemo">  
       <arg line="count in word frequency of word in command line count"/>  
     </exec>  
711    
712      <target name="4jdk7dist-docs"
713              depends="4jdk7clean, 4jdk7docs">
714        <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
715    </target>    </target>
716    
717    
718    <target name="jnidemo" depends="init, configure-compiler, configure-cpp">    <!-- jsr166x -->
719    
720      <mkdir dir="${build.testcases.dir}"/>    <target name="jsr166xcompile"
721              depends="configure-compiler"
722              description="Compiles jsr166x sources to build dir">
723    
724      <javac srcdir="${test.src.dir}"      <mkdir dir="${build.jsr166x.classes.dir}"/>
           destdir="${build.testcases.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
       <compilerarg value="${bootclasspath.args}"/>  
       <compilerarg line="${build.args}"/>  
       <classpath refid="test.classpath"/>  
       <include name="JniDemo.java"/>  
     </javac>  
725    
726      <javah destdir="${build.testcases.dir}"      <javac srcdir="${topsrc.dir}"
727        classpathref="test.classpath">             destdir="${build.jsr166x.classes.dir}"
728        <class name="JniDemo"/>             debug="${build.debug}"
729      </javah>             debuglevel="${build.debuglevel}"
730               deprecation="${build.deprecation}"
731      <cc multithreaded="true"             classpath=""
732                   name="g++"             bootclasspath="${bootclasspath6}"
733                 objdir="${build.dir}"             source="5"
734                outfile="${build.dir}/JniDemo"             includeAntRuntime="false"
735                outtype="shared">             includeJavaRuntime="false"
736               executable="${javac7}"
737        <compiler>             fork="true">
738          <defineset>  
739            <define name="__int64" value="long long"/>        <include name="jsr166x/**/*.java"/>
740          </defineset>        <compilerarg value="-XDignore.symbol.file=true"/>
741          <includepath location="${java.home}/../include"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
742          <includepath location="${java.home}/../include/${platform}"/>        <compilerarg line="${build.args}"/>
         <compilerarg value="-mno-cygwin"/>  
       </compiler>  
   
       <linker>  
         <linkerarg value="--add-stdcall-alias"/>  
       </linker>  
   
       <includepath location="${build.testcases.dir}"/>  
   
       <fileset dir="${test.src.dir}" includes="JniDemo.cpp"/>  
   
       <libset libs="stdc++"/>  
   
     </cc>  
   
     <!-- Necessary if windows, harmless if not -->  
     <copy file="${build.dir}/libJniDemo.so" tofile="${build.dir}/JniDemo.dll"/>  
   
     <java classname="JniDemo" fork="true">  
       <!-- Watch out: path separator hardwired to semicolon here! -->  
       <sysproperty key="java.library.path" path="${java.library.path};${build.dir}"/>  
       <classpath refid="test.classpath"/>  
       <arg line="count in word frequency of word in command line count"/>  
     </java>  
743    
744        </javac>
745    </target>    </target>
746    
747    
748      <target name="jsr166xjar"
749              depends="jsr166xcompile"
750              description="Builds library jar from compiled sources">
751    
752    <!-- Backward compatibility, work in progress (some files not checked in) -->      <jar destfile="${jsr166x.jar}">
753          <fileset dir="${build.jsr166x.classes.dir}"/>
754        </jar>
755    
756      </target>
757    
   <property name="pretiger.src.dir"     location="${build.dir}/pretiger/src"/>  
   <property name="build.pretiger.dir"   location="${build.dir}/pretiger/classes"/>  
   <property name="pretiger.jar"         location="${build.lib.dir}/jsr166-pretiger.jar"/>  
   <property name="pretiger.sourcelevel" value="1.4"/>  
758    
759    <target name="defang"    <target name="jsr166xdocs"
760         depends="init"            description="Builds javadocs to dist dir">
    description="Generates pre-Tiger compatible source">  
761    
762      <delete dir="${pretiger.src.dir}"/>      <delete dir="${jsr166xdocs.dir}"/>
763      <mkdir dir="${pretiger.src.dir}"/>      <mkdir dir="${jsr166xdocs.dir}"/>
764    
765      <exec executable="perl">      <javadoc destdir="${jsr166xdocs.dir}"
766        <arg file="etc/defang.pl"/>               packagenames="jsr166x.*"
767        <!-- <arg value="-v"/> -->               link="${java.api.url}"
768        <arg value="-s"/> <arg file="${src.dir}"/>               access="${build.javadoc.access}"
769        <arg value="-t"/> <arg file="${pretiger.src.dir}"/>               sourcepath="${topsrc.dir}:${jdk6src.dir}"
770      </exec>               bootclasspath="${bootclasspath6}"
771                 source="5"
772                 executable="${javadoc7}">
773          <arg line="-Xdocrootparent ${java.docroot.url}"/>
774          <arg value="-XDignore.symbol.file=true"/>
775    
776        </javadoc>
777    </target>    </target>
778    
   <target name="compile-pretiger"  
           depends="init, configure-compiler, defang"  
           description="Compiles pre-Tiger sources to build folder">  
779    
780      <mkdir dir="${build.pretiger.dir}"/>    <target name="jsr166xdist"
781              depends="jsr166xdist-jar, jsr166xdist-docs"
782              description="Puts all distributable products in single hierarchy"/>
783    
     <javac srcdir="${pretiger.src.dir}"  
           destdir="${build.pretiger.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${pretiger.sourcelevel}"  
              fork="true">  
784    
785        <compilerarg line="${build.args}"/>    <target name="jsr166xclean"
786        <exclude name="**/Thread.java"/>            description="Removes all jsr166x build products">
787    
788      </javac>      <delete dir="${build.jsr166x.dir}"/>
789    
790    </target>    </target>
791    
   <target name="pretiger" depends="compile-pretiger">  
   
     <mkdir dir="${build.lib.dir}"/>  
792    
793      <jar destfile="${pretiger.jar}">    <target name="jsr166xdist-jar"
794        <fileset dir="${build.pretiger.dir}">            depends="jsr166xclean, jsr166xjar">
795        </fileset>      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
796      </jar>    </target>
797    
798      <target name="jsr166xdist-docs"
799              depends="jsr166xclean, jsr166xdocs">
800        <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
801    </target>    </target>
802    
803    <!-- jsr166x -->    <!-- jsr166y -->
804    
805    
806    <target name="jsr166xcompile"    <target name="jsr166ycompile"
807            depends="init, configure-compiler"            depends="configure-compiler"
808            description="Compiles jsr166x sources">            description="Compiles jsr166y sources">
809    
810      <mkdir dir="${build.jsr166x.dir}"/>      <mkdir dir="${build.jsr166y.classes.dir}"/>
811    
812      <javac srcdir="${jsr166xsrc.dir}"      <javac srcdir="${topsrc.dir}"
813            destdir="${build.jsr166x.dir}"             destdir="${build.jsr166y.classes.dir}"
814              debug="${build.debug}"             debug="${build.debug}"
815         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
816        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
817             source="${build.sourcelevel}"             source="6"
818               fork="true">             classpath=""
819               bootclasspath="${bootclasspath6}"
820        <include name="**/*.java"/>             includeAntRuntime="false"
821               includeJavaRuntime="false"
822               executable="${javac7}"
823               fork="true">
824    
825          <include name="jsr166y/**/*.java"/>
826          <compilerarg value="-XDignore.symbol.file=true"/>
827          <compilerarg value="-Xlint:all"/>
828        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
829    
830      </javac>      </javac>
   
831    </target>    </target>
832    
833    
834      <target name="jsr166yjar"
835    <target name="jsr166xjar"            depends="jsr166ycompile"
           depends="jsr166xcompile"  
836            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
837    
838      <mkdir dir="${build.jsr166xlib.dir}"/>      <jar destfile="${jsr166y.jar}" index="true">
839          <fileset dir="${build.jsr166y.classes.dir}"/>
     <jar destfile="${jsr166xproduct.jar}">  
       <fileset dir="${build.jsr166x.dir}"/>  
840      </jar>      </jar>
841    
842    </target>    </target>
843    
844    
845      <target name="jsr166ydocs"
846              description="Builds javadocs to dist dir">
847    
848    <target name="jsr166xdocs"      <delete dir="${jsr166ydocs.dir}"/>
849            description="Builds javadocs with custom tags to build folder">      <mkdir dir="${jsr166ydocs.dir}"/>
850    
851      <delete dir="${build.jsr166xjavadocs.dir}"/>      <javadoc destdir="${jsr166ydocs.dir}"
852      <mkdir dir="${build.jsr166xjavadocs.dir}"/>               packagenames="jsr166y.*"
853                 link="${java.api.url}"
854                 access="${build.javadoc.access}"
855                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
856                 bootclasspath="${bootclasspath6}"
857                 source="6"
858                 executable="${javadoc7}">
859          <arg line="-Xdocrootparent ${java.docroot.url}"/>
860          <arg value="-XDignore.symbol.file=true"/>
861    
862      <javadoc destdir="${build.jsr166xjavadocs.dir}"      </javadoc>
863               link="http://java.sun.com/javase/6/docs/api/"    </target>
864    
             sourcepath="${jsr166xsrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"  
865    
866      >    <target name="jsr166ydist"
867        <packageset dir="${topsrc.dir}" defaultexcludes="yes">            depends="jsr166ydist-jar, jsr166ydist-docs"
868        <include name="jsr166x"/>            description="Puts all distributable products in single hierarchy"/>
       </packageset>  
869    
870    
871      </javadoc>    <target name="jsr166yclean"
872              description="Removes all jsr166y build products">
873    
874        <delete dir="${build.jsr166y.dir}"/>
875    
876    </target>    </target>
877    
878    
879    <target name="jsr166xdist"    <target name="jsr166ydist-jar"
880            depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"            depends="jsr166yclean, jsr166yjar">
881            description="Puts all distributable products in single hierarchy"/>      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
882      </target>
883    
884      <target name="jsr166ydist-docs"
885              depends="jsr166yclean, jsr166ydocs">
886        <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
887      </target>
888    
889    
890    <target name="jsr166xclean"    <!-- extra166y -->
           description="Removes all build products">  
891    
     <delete dir="${build.jsr166x.dir}"/>  
     <delete dir="${build.jsr166xlib.dir}"/>  
892    
893    </target>    <target name="extra166ycompile"
894              depends="configure-compiler, jsr166yjar"
895              description="Compiles extra166y sources">
896    
897        <mkdir dir="${build.extra166y.classes.dir}"/>
898    
899        <javac srcdir="${topsrc.dir}"
900               destdir="${build.extra166y.classes.dir}"
901               debug="${build.debug}"
902               debuglevel="${build.debuglevel}"
903               deprecation="${build.deprecation}"
904               bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
905               classpath=""
906               source="6"
907               includeAntRuntime="false"
908               includeJavaRuntime="false"
909               executable="${javac7}"
910               fork="true">
911    
912    <target name="jsr166xdist-clean"        <include name="extra166y/**/*.java"/>
913            description="Removes all build and distribution products">        <compilerarg value="-XDignore.symbol.file=true"/>
914          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
915          <compilerarg line="${build.args}"/>
916    
917        </javac>
918    </target>    </target>
919    
920    
921      <target name="extra166yjar"
922              depends="extra166ycompile"
923              description="Builds library jar from compiled sources">
924    
925    <target name="jsr166xdist-docs"      <jar destfile="${extra166y.jar}" index="true">
926            description="Builds javadocs without custom tags to dist folder">        <fileset dir="${build.extra166y.classes.dir}"/>
927        </jar>
928    
929      </target>
930    
     <delete dir="${dist.jsr166xjavadocs.dir}"/>  
     <mkdir dir="${dist.jsr166xjavadocs.dir}"/>  
931    
932      <javadoc destdir="${dist.jsr166xjavadocs.dir}"    <target name="extra166ydocs"
933                  link="http://java.sun.com/javase/6/docs/api/"            description="Builds javadocs to build dir">
934                source="${build.sourcelevel}">  
935        <delete dir="${extra166ydocs.dir}"/>
936        <packageset dir="${topsrc.dir}" defaultexcludes="yes">      <mkdir dir="${extra166ydocs.dir}"/>
937        <include name="jsr166x"/>  
938        </packageset>      <javadoc destdir="${extra166ydocs.dir}"
939                 packagenames="extra166y.*"
940                 link="${java.api.url}"
941                 access="${build.javadoc.access}"
942                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
943                 bootclasspath="${bootclasspath6}"
944                 source="6"
945                 executable="${javadoc7}">
946          <arg line="-Xdocrootparent ${java.docroot.url}"/>
947          <arg value="-XDignore.symbol.file=true"/>
948    
949      </javadoc>      </javadoc>
950      </target>
951    
952    
953      <target name="extra166ydist"
954              depends="extra166ydist-jar, extra166ydist-docs"
955              description="Puts all distributable products in single hierarchy"/>
956    
957    
958      <target name="extra166yclean"
959              description="Removes all extra166y build products">
960    
961        <delete dir="${build.extra166y.dir}"/>
962    
963    </target>    </target>
964    
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
965    
966      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>    <target name="extra166ydist-jar"
967              depends="extra166yclean, extra166yjar">
968        <copy file="${extra166y.jar}" todir="${dist.dir}"/>
969      </target>
970    
971      <target name="extra166ydist-docs"
972              depends="extra166yclean, extra166ydocs">
973        <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
974    </target>    </target>
975    
976    <!-- jsr166y -->    <!-- jsr166e -->
977    
978      <property name="build.jsr166e.java.version" value="6"/>
979      <property name="build.jsr166e.javac" value="${javac6}"/>
980    
981    <target name="jsr166ycompile"    <target name="jsr166ecompile"
982            depends="init, configure-compiler"            depends="configure-compiler"
983            description="Compiles jsr166y sources">            description="Compiles jsr166e sources">
984    
985      <mkdir dir="${build.jsr166y.dir}"/>      <mkdir dir="${build.jsr166e.classes.dir}"/>
986    
987      <javac srcdir="${jsr166ysrc.dir}"      <javac srcdir="${topsrc.dir}"
988            destdir="${build.jsr166y.dir}"             destdir="${build.jsr166e.classes.dir}"
989              debug="${build.debug}"             debug="${build.debug}"
990         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
991        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
992             source="${build.sourcelevel}"             source="${build.jsr166e.java.version}"
993               fork="true">             classpath=""
994               includeAntRuntime="false"
995               includeJavaRuntime="false"
996               executable="${build.jsr166e.javac}"
997               fork="true">
998    
999        <include name="**/*.java"/>        <include name="jsr166e/**/*.java"/>
1000          <compilerarg value="-XDignore.symbol.file=true"/>
1001          <compilerarg value="-Xlint:all"/>
1002        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
       <compilerarg value="${bootclasspath.args}"/>  
   
 <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->  
1003    
1004      </javac>      </javac>
   
1005    </target>    </target>
1006    
1007      <!-- jsr166e: find doclint errors -->
1008      <target name="jsr166edoclint">
1009    
1010        <mkdir dir="${build.jsr166e.classes.dir}"/>
1011    
1012    <target name="jsr166yjar"      <javac srcdir="${topsrc.dir}"
1013            depends="jsr166ycompile"             destdir="${build.jsr166e.classes.dir}"
1014            description="Builds library jar from compiled sources">             debug="${build.debug}"
1015               debuglevel="${build.debuglevel}"
1016               deprecation="${build.deprecation}"
1017               source="${build.jsr166e.java.version}"
1018               classpath=""
1019               bootclasspath="${bootclasspath7}"
1020               includeAntRuntime="false"
1021               includeJavaRuntime="false"
1022               executable="${javac8}"
1023               fork="true">
1024    
1025          <include name="jsr166e/**/*.java"/>
1026          <compilerarg value="-XDignore.symbol.file=true"/>
1027          <compilerarg value="-Xlint:all"/>
1028          <compilerarg value="-Xdoclint:all/protected"/>
1029    
1030      <mkdir dir="${build.jsr166ylib.dir}"/>      </javac>
1031      </target>
1032    
     <jar destfile="${jsr166yproduct.jar}">  
       <fileset dir="${build.jsr166y.dir}"/>  
     </jar>  
1033    
1034    </target>    <target name="jsr166ejar"
1035              depends="jsr166ecompile"
1036              description="Builds library jar from compiled sources">
1037    
1038        <jar destfile="${jsr166e.jar}" index="true">
1039          <fileset dir="${build.jsr166e.classes.dir}"/>
1040        </jar>
1041    
1042      </target>
1043    
   <target name="jsr166ydocs"  
           description="Builds javadocs with custom tags to build folder">  
1044    
1045      <delete dir="${build.jsr166yjavadocs.dir}"/>    <target name="jsr166edocs"
1046      <mkdir dir="${build.jsr166yjavadocs.dir}"/>            description="Builds javadocs to build dir">
1047    
1048      <javadoc destdir="${build.jsr166yjavadocs.dir}"      <delete dir="${jsr166edocs.dir}"/>
1049                  link="http://java.sun.com/javase/6/docs/api/"      <mkdir dir="${jsr166edocs.dir}"/>
             sourcepath="${jsr166ysrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"  
   
     >  
       <packageset dir="${topsrc.dir}" defaultexcludes="no">  
       <include name="jsr166y"/>  
       </packageset>  
1050    
1051        <javadoc destdir="${jsr166edocs.dir}"
1052                 packagenames="jsr166e.*"
1053                 link="${java.api.url}"
1054                 access="${build.javadoc.access}"
1055                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1056                 source="${build.jsr166e.java.version}"
1057                 executable="${javadoc7}">
1058          <arg line="-Xdocrootparent ${java.docroot.url}"/>
1059          <arg value="-XDignore.symbol.file=true"/>
1060    
1061      </javadoc>      </javadoc>
   
1062    </target>    </target>
1063    
1064    
1065    <target name="jsr166ydist"    <target name="jsr166e-test-tck-one-java-version"
1066            depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"            depends="jsr166ejar">
1067            description="Puts all distributable products in single hierarchy"/>  
1068        <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1069    
1070        <run-tck-tests
1071          tck.src.dir="${test.src.dir}/tck-jsr166e"
1072          target="${build.jsr166e.java.version}"
1073          workdir="${build.jsr166e.dir}"
1074          classes="${jsr166e.jar}"/>
1075      </target>
1076    
1077      <target name="jsr166e-test-tck"
1078              description="Runs tck tests for jsr166e for multiple java versions">
1079    
1080    <target name="jsr166yclean"  <!--     <antcall target="clean"/> -->
1081            description="Removes all build products">  <!--     <antcall target="jsr166e-test-tck-one-java-version"> -->
1082    <!--       <param name="build.jsr166e.java.version" value="8"/> -->
1083    <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->
1084    <!--     </antcall> -->
1085    
1086      <delete dir="${build.jsr166y.dir}"/>      <antcall target="clean"/>
1087      <delete dir="${build.jsr166ylib.dir}"/>      <antcall target="jsr166e-test-tck-one-java-version">
1088          <param name="build.jsr166e.java.version" value="7"/>
1089          <param name="build.jsr166e.javac" value="${javac7}"/>
1090        </antcall>
1091    
1092        <antcall target="clean"/>
1093        <antcall target="jsr166e-test-tck-one-java-version">
1094          <param name="build.jsr166e.java.version" value="6"/>
1095          <param name="build.jsr166e.javac" value="${javac6}"/>
1096        </antcall>
1097    </target>    </target>
1098    
1099    
1100      <target name="jsr166e-test"
1101              depends="jsr166e-test-tck"
1102              description="Runs all tests for jsr166e">
1103      </target>
1104    
1105    <target name="jsr166ydist-clean"    <target name="jsr166edist"
1106            description="Removes all build and distribution products">            depends="jsr166edist-jar, jsr166edist-docs"
1107              description="Puts all distributable products in single hierarchy"/>
1108    
   </target>  
1109    
1110    <target name="jsr166ydist-docs"    <target name="jsr166eclean"
1111            description="Builds javadocs without custom tags to dist folder">            description="Removes all jsr166e build products">
1112        <delete dir="${build.jsr166e.dir}"/>
1113      </target>
1114    
     <delete dir="${dist.jsr166yjavadocs.dir}"/>  
     <mkdir dir="${dist.jsr166yjavadocs.dir}"/>  
1115    
1116      <javadoc destdir="${dist.jsr166yjavadocs.dir}"    <target name="jsr166edist-jar"
1117                  link="http://java.sun.com/javase/6/docs/api/"            depends="jsr166eclean, jsr166ejar">
1118                source="${build.sourcelevel}">      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1119        <fileset dir="${topsrc.dir}" defaultexcludes="yes">    </target>
       <include name="jsr166y/*.java"/>  
       <include name="jsr166y/forkjoin/*.java"/>  
             </fileset>  
     </javadoc>  
1120    
1121      <target name="jsr166edist-docs"
1122              depends="jsr166eclean, jsr166edocs">
1123        <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1124    </target>    </target>
1125    
   <target name="jsr166ydist-jar"  
           depends="jsr166yclean, jsr166yjar">  
1126    
1127      <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>  <!-- Find buglets that can be detected by static build tools -->
1128    
1129      <target name="lint">
1130        <antcall target="dists">
1131          <param name="build.javadoc.access" value="public"/>
1132        </antcall>
1133    </target>    </target>
1134    
1135    <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1136      <target name="lint-private">
1137        <antcall target="dist">
1138          <param name="build.javadoc.access" value="private"/>
1139        </antcall>
1140      </target>
1141    
1142    
1143  </project>  </project>

Legend:
Removed from v.1.74  
changed lines
  Added in v.1.161

dl@cs.oswego.edu
ViewVC Help
Powered by ViewVC 1.1.27