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

Diff of /jsr166/build.xml

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

revision 1.31 by tim, Wed May 28 21:15:50 2003 UTC revision 1.102 by jsr166, Sat Jan 19 20:53:34 2013 UTC
# Line 7  Line 7 
7    Usage: ant [target]    Usage: ant [target]
8    
9    User-specific settings are read from user.properties.    User-specific settings are read from user.properties.
10    See user.properties.sample for examples.    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      where each of the above is a JDK or a symlink to same, and
20      $HOME/jdk/src/jdk6
21      $HOME/jdk/src/jdk7
22      $HOME/jdk/src/jdk8
23      where each of the above is a complete JDK source tree
24      (e.g. mercurial forest) or a symlink to same.
25  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
26    </description>    </description>
27    
# Line 21  Line 35 
35    
36    
37    <!-- Compilation options -->    <!-- Compilation options -->
38    <property name="build.sourcelevel"    value="1.5"/>    <property name="build.sourcelevel"    value="1.6"/>
   <property name="build.docsourcelevel" value="1.4"/>  
39    <property name="build.debug"          value="true"/>    <property name="build.debug"          value="true"/>
40    <property name="build.debuglevel"     value="source,lines,vars"/>    <property name="build.debuglevel"     value="source,lines,vars"/>
41    <property name="build.deprecation"    value="false"/>    <property name="build.deprecation"    value="false"/>
   <property name="build.novariance.arg" value=""/>  
42    
43    <!-- Build locations -->    <!-- Build locations -->
44    <property name="build.dir"            location="build"/>    <property name="build.dir"                   location="build"/>
45    <property name="build.classes.dir"    location="${build.dir}/classes"/>    <property name="build.classes.dir"           location="${build.dir}/classes"/>
46    <property name="build.emulation.dir"  location="${build.dir}/emulation"/>    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>
47    <property name="build.testcases.dir"  location="${build.dir}/testcases"/>    <property name="build.loops.dir"             location="${build.dir}/loops"/>
48    <property name="build.lib.dir"        location="${build.dir}/lib"/>    <property name="build.lib.dir"               location="${build.dir}/lib"/>
49    <property name="build.ant.dir"        location="${build.dir}/ant"/>    <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>
50    <property name="build.javadocs.dir"   location="${build.dir}/javadocs"/>    <property name="build.reports.dir"           location="${build.dir}/reports"/>
51    <property name="build.stripped.dir"   location="${build.dir}/stripped"/>  
52    <property name="build.reports.dir"    location="${build.dir}/reports"/>    <property name="build.4jdk7.dir"              location="${build.dir}/4jdk7"/>
53    <property name="build.doccheck.dir"   location="${build.dir}/doccheck"/>    <property name="build.4jdk7.lib.dir"          location="${build.4jdk7.dir}"/>
54    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>    <property name="build.4jdk7.classes.dir"      location="${build.4jdk7.dir}/classes"/>
55      <property name="build.4jdk7.tck.classes.dir"  location="${build.4jdk7.dir}/tck/classes"/>
56      <property name="build.4jdk7.docs.dir"         location="${build.4jdk7.dir}/docs"/>
57    
58      <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
59      <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>
60      <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>
61    
62      <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>
63      <property name="build.jsr166ylib.dir"        location="${build.dir}/jsr166ylib"/>
64      <property name="build.jsr166yjavadocs.dir"   location="${build.dir}/jsr166yjavadocs"/>
65    
66      <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>
67      <property name="build.jsr166elib.dir"        location="${build.dir}/jsr166elib"/>
68      <property name="build.jsr166ejavadocs.dir"   location="${build.dir}/jsr166ejavadocs"/>
69    
70      <property name="build.extra166y.dir"         location="${build.dir}/extra166y"/>
71      <property name="build.extra166ylib.dir"      location="${build.dir}/extra166ylib"/>
72      <property name="build.extra166yjavadocs.dir" location="${build.dir}/extra166yjavadocs"/>
73    
74      <!-- JDK binary locations -->
75      <property name="jdks.home"  location="${user.home}/jdk"/>
76    
77      <macrodef name="defjdklocations">
78        <attribute name="v"/>
79        <sequential>
80        <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
81        <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
82        <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
83        <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
84        <property name="bootdir@{v}"    location="${jdk@{v}.home}/jre/lib"/>
85        <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
86        <property name="bootclasspath@{v}"
87         value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
88        </sequential>
89      </macrodef>
90    
91      <defjdklocations v="6"/>
92      <defjdklocations v="7"/>
93      <defjdklocations v="8"/>
94    
95      <macrodef name="run-tck-tests">
96        <attribute name="jvm"/>
97        <attribute name="tck.classes"/>
98        <attribute name="product.jar" default="${product.jar}"/>
99        <attribute name="jvmflags" default=""/>
100        <sequential>
101        <java classname="JSR166TestCase"
102              jvm="@{jvm}" fork="true">
103            <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
104            <jvmarg line="@{jvmflags}"/>
105            <classpath>
106              <pathelement location="${junit.jar}"/>
107              <pathelement location="@{tck.classes}"/>
108            </classpath>
109        </java>
110        </sequential>
111      </macrodef>
112    
113    <!-- Source locations -->    <!-- Source locations -->
114    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
   <property name="emulation.src.dir"    location="${basedir}/src/emulation"/>  
115    <property name="test.src.dir"         location="${basedir}/src/test"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
116    <property name="ant.src.dir"          location="${basedir}/etc/ant"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
117    <property name="stylesheet.dir"       location="${basedir}/etc/xsl"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
118      <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>
119    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
120    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
121      <property name="topsrc.dir"           location="${basedir}/src"/>
122      <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
123      <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
124      <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
125      <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
126      <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>
127      <property name="jdksrc.dir"           location="/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"/>
128    
129    <!-- Distribution locations -->    <!-- Distribution locations -->
130    <property name="dist.javadocs.dir"    location="${dist.dir}/docs"/>    <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>
131      <property name="dist.4jdk7.docs.dir"         location="${dist.dir}/jsr166-4jdk7docs"/>
132      <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>
133      <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>
134      <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>
135      <property name="dist.extra166yjavadocs.dir"  location="${dist.dir}/extra166ydocs"/>
136    
137    <!-- Jar locations -->    <!-- Jar locations -->
138    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>
139    <property name="javac.jar"            location="${lib.dir}/javac.jar"/>    <property name="4jdk7product.jar"     location="${build.4jdk7.lib.dir}/jsr166-4jdk7.jar"/>
140    <property name="collect.jar"          location="${lib.dir}/collect.jar"/>    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>
141      <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>
142      <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>
143      <property name="extra166yproduct.jar" location="${build.extra166ylib.dir}/extra166y.jar"/>
144    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>
   <property name="rt.jar"               location="${java.home}/lib/rt.jar"/>  
   
145    
146      <!-- Bootclasspath argument -->
147      <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
148    
149    <!--    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
150     ! Bootclasspath munging for source compilation.    <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
151     -->    <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
152      <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>
153    
154      <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
155      <!-- The below does not yet exist as of 2012-11 -->
156      <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
157      <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
158    
159    <path id="javac.bootclasspath.prefix">    <!-- Test classpath -->
160      <!-- <pathelement location="${src.dir}"/> -->    <path id="test.classpath">
161      <pathelement location="${javac.jar}"/>      <pathelement location="${build.testcases.dir}"/>
162        <pathelement location="${junit.jar}"/>
163    </path>    </path>
164    
165    <path id="javac.bootclasspath">    <!-- ALoops classpath -->
166      <!-- <pathelement location="${src.dir}"/> -->    <path id="loops.classpath">
167      <pathelement location="${collect.jar}"/>      <pathelement location="${build.loops.dir}"/>
     <pathelement location="${rt.jar}"/>  
168    </path>    </path>
169    
170    <!-- Flatten bootclasspath prefix into a platform-appropriate string -->    <!-- Support @jls tag, used in jdk8+ javadoc -->
171    <property name="javac.bootclasspath.prefix"    <!-- TODO: How do we get &trade to work? -->
172             refid="javac.bootclasspath.prefix"/>    <!-- TODO: Why isn't @jls a "standard" tag? -->
173      <!--   property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
174    <!-- Turn the flattened bootclasspath prefix into a javac argument -->    <property name="javadoc.jls.cite" value="The Java Language Specification"/>
175    <property name="build.bootclasspath.arg"    <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
            value='-J-Xbootclasspath/p:${javac.bootclasspath.prefix}'/>  
176    
177      <!-- Main targets -->
178    
179    <!--    <target name="dists"
180     ! Bootclasspath munging for testing, so JUnit can test our local            depends="dist, jsr166xdist, jsr166ydist,jsr166edist,  extra166ydist"
181     ! modifications to java.*.            description="Builds all public jars and docs"/>
    -->  
182    
183    <path id="test.classpath">    <target name="compile"
184      <pathelement location="${product.jar}"/>            depends="configure-compiler"
185      <pathelement location="${build.testcases.dir}"/>            description="Compiles src/main sources to build dir">
     <pathelement location="${junit.jar}"/>  
   </path>  
186    
187    <!-- Flatten test classpath into a platform-appropriate string -->      <mkdir dir="${build.classes.dir}"/>
   <property name="test.classpath" refid="test.classpath"/>  
188    
189    <!-- Turn the flattened test classpath into a javac argument -->      <javac srcdir="${src.dir}"
190    <property name="test.bootclasspath.arg"             destdir="${build.classes.dir}"
191             value='-Xbootclasspath/p:${test.classpath}'/>             debug="${build.debug}"
192               debuglevel="${build.debuglevel}"
193               deprecation="${build.deprecation}"
194               classpath=""
195               includeAntRuntime="false"
196               includeJavaRuntime="false"
197               executable="${javac8}"
198               fork="true">
199    
200          <include name="**/*.java"/>
201          <compilerarg line="${build.args}"/>
202          <compilerarg value="-XDignore.symbol.file=true"/>
203          <compilerarg value="-Xlint:all"/>
204    
205    <!--
206          <exclude name="java/lang/**"/>
207          <compilerarg line="${build.args}"/>
208          <compilerarg line="-Xlint -Xmaxwarns 1000"/>
209    -->
210    
211        </javac>
212    
213      </target>
214    
   <!-- Files excluded from emulation and dist-docs -->  
   <patternset id="emulation.excludes">  
     <exclude name="java/util/Random.*"/>  
     <exclude name="sun/misc/Unsafe.*"/>  
   </patternset>  
215    
216    
217      <target name="jar"
218              depends="compile"
219              description="Builds library jar from compiled sources">
220    
221    <!-- Main targets -->      <mkdir dir="${build.lib.dir}"/>
222    
223    <target name="compile"      <jar destfile="${product.jar}">
224            depends="init"        <fileset dir="${build.classes.dir}"/>
225            description="Compiles main sources to build folder">      </jar>
226    
227      <mkdir dir="${build.classes.dir}"/>    </target>
228    
229      <javac srcdir="${src.dir}"  
230            destdir="${build.classes.dir}"  
231      <target name="test"
232              depends="init, configure-tests, report-tests"
233              description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />
234    
235    
236    
237      <target name="docs"
238              description="Builds javadocs for src/main to dist dir">
239    
240        <delete dir="${dist.javadocs.dir}"/>
241        <mkdir dir="${dist.javadocs.dir}"/>
242    
243        <!-- the packagenames="none" hack below prevents scanning the -->
244        <!-- sourcepath for packages -->
245    
246        <javadoc destdir="${dist.javadocs.dir}"
247                 packagenames="none"
248                 link="${jdkapi8docs.url}"
249                 overview="${src.dir}/intro.html"
250                 sourcepath="${src.dir}:${jdk8src.dir}"
251                 classpath=""
252                 executable="${javadoc8}">
253          <arg value="-XDignore.symbol.file=true"/>
254          <arg value="-tag"/>
255          <arg value="${javadoc.jls.option}"/>
256          <fileset dir="${src.dir}" defaultexcludes="yes">
257            <include name="**/*.java"/>
258          </fileset>
259        </javadoc>
260    
261      </target>
262    
263    
264    
265      <target name="dist"
266              depends="init, dist-clean, dist-jar, docs"
267              description="Puts all distributable products in single hierarchy"/>
268    
269    
270      <target name="release"
271              depends="dist"
272              description="Puts entire CVS tree, plus distribution productions, in a jar">
273    
274        <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
275    
276        <jar basedir="${basedir}" destfile="${release.jar}">
277          <!-- <exclude name="build/**"/> -->
278          <exclude name="${release.jar}"/>
279          <exclude name="user.properties"/>
280          <exclude name="etc/notes/**"/>
281          <exclude name="src/emulation/**"/>
282          <exclude name="**/SyntaxTest.java"/>
283          <exclude name="**/SuperfluousAbstract.java"/>
284        </jar>
285    
286      </target>
287    
288    
289    
290      <target name="clean"
291              description="Removes all build products">
292    
293        <delete dir="${build.dir}"/>
294        <delete dir="${build.classes.dir}"/>
295        <delete dir="${build.lib.dir}"/>
296    
297      </target>
298    
299    
300    
301      <target name="dist-clean"
302              description="Removes all build and distribution products">
303    
304        <delete dir="${dist.dir}"/>
305    
306      </target>
307    
308    
309    
310      <!-- Internal targets -->
311    
312    
313      <target name="init">
314    
315        <!-- Version is kept in a separate file -->
316        <loadfile property="version" srcFile="version.properties"/>
317        <echo>Building JSR-166 version ${version}</echo>
318        <echo>java.home is ${java.home}</echo>
319    
320      </target>
321    
322    
323      <target name="dist-jar"
324              depends="clean, jar">
325    
326        <copy file="${product.jar}" todir="${dist.dir}"/>
327    
328      </target>
329    
330    
331      <target name="compile-tests"
332              depends="jar">
333    
334        <mkdir dir="${build.testcases.dir}"/>
335    
336        <javac srcdir="${tck.src.dir}"
337              destdir="${build.testcases.dir}"
338              debug="${build.debug}"              debug="${build.debug}"
339         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
340        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
341             source="${build.sourcelevel}"             source="${build.sourcelevel}"
342               fork="true">               fork="true">
343    
344        <bootclasspath refid="javac.bootclasspath"/>        <compilerarg value="${bootclasspath.args}"/>
345        <compilerarg line="${build.javac.args}"/>        <compilerarg line="${build.args}"/>
346          <compilerarg value="-XDignore.symbol.file=true"/>
347    
348          <classpath refid="test.classpath"/>
349    
350        </javac>
351    
352        <javac srcdir="${test.src.dir}"
353              destdir="${build.testcases.dir}"
354                debug="${build.debug}"
355           debuglevel="${build.debuglevel}"
356          deprecation="${build.deprecation}"
357               source="${build.sourcelevel}"
358                 fork="true">
359    
360          <include name="jsr166/test/**"/>
361    
362          <compilerarg value="${bootclasspath.args}"/>
363          <compilerarg line="${build.args}"/>
364          <compilerarg value="-XDignore.symbol.file=true"/>
365    
366          <classpath refid="test.classpath"/>
367    
368      </javac>      </javac>
369    
370    <!--
371        <javac srcdir="${jtreg.src.dir}"
372              destdir="${build.testcases.dir}"
373                debug="${build.debug}"
374           debuglevel="${build.debuglevel}"
375          deprecation="${build.deprecation}"
376               source="${build.sourcelevel}"
377                 fork="true">
378    
379          <compilerarg value="${bootclasspath.args}"/>
380          <compilerarg line="${build.args}"/>
381          <compilerarg value="-XDignore.symbol.file=true"/>
382    
383          <classpath refid="test.classpath"/>
384    
385        </javac>
386    -->
387    
388    </target>    </target>
389    
390    
391    <target name="jar"    <target name="run-tests"
392            depends="check-emulation, init-jar, native-jar, emulation-jar"            depends="compile-tests">
           description="Builds library jar from compiled sources"/>  
393    
394        <!-- May be overridden by user.properties -->
395        <property name="testcase" value="*"/>
396    
397    <target name="test"      <mkdir dir="${build.reports.dir}"/>
           depends="init, check-junit, report-tests"  
           description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />  
398    
399        <junit printsummary="true"
400                 showoutput="true"
401              errorProperty="junit.failed"
402            failureProperty="junit.failed"
403                        dir="${build.reports.dir}"
404                       fork="true">
405    
406          <jvmarg value="${bootclasspath.args}"/>
407          <jvmarg value="-server"/>
408          <jvmarg value="-showversion"/>
409    
410          <classpath refid="test.classpath"/>
411    
412          <formatter type="xml"/>
413    
414          <batchtest todir="${build.reports.dir}" unless="no.test.tck">
415            <fileset dir="${tck.src.dir}">
416              <include name="**/${testcase}Test.java"/>
417            </fileset>
418          </batchtest>
419    
420    <target name="checkstyle"        <batchtest todir="${build.reports.dir}" if="do.test.old">
421            depends="filter-src"          <fileset dir="${test.src.dir}">
422            description="Reports on style errors in Java source (verbose, mostly chaff)">            <include name="jsr166/test/**/${testcase}Test.java"/>
423            </fileset>
424          </batchtest>
425    
426      <taskdef resource="checkstyletask.properties"  <!--
427              classpath="${lib.dir}/checkstyle-all-2.4.jar"/>        <batchtest todir="${build.reports.dir}" if="do.test.jtreg">
428            <fileset dir="${jtreg.src.dir}">
429              <include name="**/${testcase}Test.java"/>
430            </fileset>
431          </batchtest>
432    -->
433    
434      <checkstyle>      </junit>
       <formatter type="plain"/>  <!-- also available: type="xml" -->  
       <fileset dir="${build.filter.src.dir}" includes="**/*.java"/>  
     </checkstyle>  
435    
436    </target>    </target>
437    
438    
439    <target name="doccheck"    <target name="report-tests"
440            depends="filter-src"            depends="run-tests">
441            description="Reports on javadoc style errors (not working yet)">  
442        <!-- Sets junit.report.format to frames if redirection is present,
443             otherwise sets it to noframes. -->
444        <available property="junit.report.format"
445                      value="frames"
446                  classname="org.apache.xalan.lib.Redirect"
447        />
448        <property name="junit.report.format" value="noframes"/>
449    
450      <delete dir="${build.doccheck.dir}"/>      <junitreport todir="${build.reports.dir}">
451      <mkdir dir="${build.doccheck.dir}"/>        <fileset dir="${build.reports.dir}">
452            <include name="TEST-*.xml"/>
453          </fileset>
454          <report format="${junit.report.format}" todir="${build.reports.dir}"
455          />
456        </junitreport>
457    
458      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"      <fail message="Test Cases Failed" if="junit.failed"/>
          docletpath="${lib.dir}/doccheck.jar"  
             destdir="${build.doccheck.dir}">  
       <packageset dir="${build.filter.src.dir}"/>  
     </javadoc>  
459    
460    </target>    </target>
461    
462    
463    <target name="docs"    <target name="configure-compiler">
           depends="filter-src"  
           description="Builds javadocs with custom tags to build folder">  
464    
465      <delete dir="${build.javadocs.dir}"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
     <mkdir dir="${build.javadocs.dir}"/>  
466    
467      <javadoc destdir="${build.javadocs.dir}"      <condition property="warnunchecked.arg" value="${unchecked.option}">
468                  link="http://java.sun.com/j2se/1.4.1/docs/api"        <istrue value="${build.warnunchecked}"/>
469              overview="${src.dir}/intro.html"      </condition>
               source="${build.docsourcelevel}">  
   
       <tag name="revised" description="Last revised:"/>  
       <tag name="spec"    description="Specified by:"/>  
       <tag name="editor"  description="Last edited by:"/>  
       <tag name="fixme"   description="FIX ME:"/>  
470    
471        <packageset dir="${build.filter.src.dir}"/>      <property name="warnunchecked.arg" value=""/>
472    
473      </javadoc>  
474        <!-- Common options in javac invocations -->
475        <property name="build.args" value="${warnunchecked.arg}"/>
476    
477    </target>    </target>
478    
479    
480    <target name="strip"    <target name="configure-tests"
481            depends="init"         depends="configure-compiler">
482            description="Strip generics from java source (not working yet)">  
483        <!-- junit.framework.Protectable is in JUnit 3.8.1 but not in 3.7 -->
484        <available property="junit.available"
485                   classname="junit.framework.Protectable"/>
486    
487      <mkdir dir="${build.stripped.dir}"/>      <!-- Xalan -->
488        <available property="xalan.available"
489                   classname="org.apache.xalan.Version"/>
490    
491    
492        <!-- Ant 1.6beta and later don't need or want this check -->
493      <!--      <!--
494       # javac -s doesn't reliably generate compilable code. It generates      <fail message="Need JUnit 3.8.1 in ${ant.home}${file.separator}lib to run tests"
495       # bridge methods (marked as "synthetic") that can have identical            unless="junit.available"/>
496       # signatures to existing methods except for the return value.  
497       -->      <fail message="Need Xalan 2.5.1 jar in ${ant.home}${file.separator}lib to run tests"
498      <javac srcdir="${src.dir}"            unless="xalan.available"/>
499            destdir="${build.stripped.dir}"      -->
500    
501      </target>
502    
503    
504      <!-- Various demos and test programs -->
505    
506    
507      <target name="loops" depends="init, configure-compiler"
508              description="Benchmark from Doug Lea's AQS paper">
509    
510        <mkdir dir="${build.loops.dir}"/>
511    
512        <javac srcdir="${loops.src.dir}"
513              destdir="${build.loops.dir}"
514              debug="${build.debug}"              debug="${build.debug}"
515         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
516        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
517             source="${build.sourcelevel}"             source="${build.sourcelevel}"
518               fork="true">               fork="true">
519    
520        <bootclasspath refid="javac.bootclasspath"/>        <compilerarg line="${build.args}"/>
521        <compilerarg line="${build.javac.args} -s"/>        <classpath refid="loops.classpath"/>
522          <compilerarg value="-XDignore.symbol.file=true"/>
523    
524      </javac>      </javac>
525    
526        <java classname="ALoops" fork="true">
527          <classpath refid="loops.classpath"/>
528        </java>
529    
530    </target>    </target>
531    
532    
533    <target name="dist"    <!-- jsr166 4jdk7 -->
534            depends="init, dist-clean, dist-jar, dist-docs"  
535    
536      <target name="4jdk7compile"
537              depends="configure-compiler"
538              description="Compiles src/jdk7 sources, targeting jdk7">
539    
540        <mkdir dir="${build.4jdk7.classes.dir}"/>
541    
542        <javac srcdir="${4jdk7src.dir}"
543               destdir="${build.4jdk7.classes.dir}"
544               debug="${build.debug}"
545               debuglevel="${build.debuglevel}"
546               deprecation="${build.deprecation}"
547               source="1.6"
548               classpath=""
549               bootclasspath="${bootclasspath6}"
550               includeAntRuntime="false"
551               includeJavaRuntime="false"
552               executable="${javac7}"
553               fork="true">
554    
555          <include name="**/*.java"/>
556          <compilerarg line="${build.args}"/>
557          <compilerarg value="-XDignore.symbol.file=true"/>
558          <compilerarg value="-Xlint:all"/>
559    
560        </javac>
561    
562        <mkdir dir="${build.4jdk7.lib.dir}"/>
563    
564        <jar destfile="${4jdk7product.jar}" index="true">
565          <fileset dir="${build.4jdk7.classes.dir}"/>
566        </jar>
567    
568        <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
569    
570        <javac srcdir="${tck.src.dir}"
571               destdir="${build.4jdk7.tck.classes.dir}"
572               debug="${build.debug}"
573               debuglevel="${build.debuglevel}"
574               deprecation="${build.deprecation}"
575               source="1.6"
576               classpath="${junit.jar}"
577               bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
578               includeAntRuntime="false"
579               includeJavaRuntime="false"
580               executable="${javac7}"
581               fork="true">
582    
583          <include name="**/*.java"/>
584          <compilerarg line="${build.args}"/>
585          <compilerarg value="-XDignore.symbol.file=true"/>
586          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
587    
588        </javac>
589    
590      </target>
591    
592    
593      <target name="4jdk7-test-tck"
594              depends="4jdk7compile"
595              description="Runs tck tests for jsr166-4jdk7 directly">
596        <run-tck-tests
597          jvm="${java7}"
598          tck.classes="${build.4jdk7.tck.classes.dir}"
599          product.jar="${4jdk7product.jar}"/>
600      </target>
601    
602    
603      <target name="4jdk7-test-tck-junit"
604              depends="4jdk7compile"
605              description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
606    
607        <junit printsummary="true"
608               showoutput="true"
609               errorProperty="junit.failed"
610               failureProperty="junit.failed"
611               includeantruntime="true"
612               jvm="${java7}"
613               fork="true">
614    
615          <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
616          <jvmarg value="-server"/>
617    
618          <classpath>
619            <pathelement location="${junit.jar}"/>
620            <pathelement location="${build.4jdk7.tck.classes.dir}"/>
621          </classpath>
622    
623          <formatter type="brief"/>
624    
625          <test name="JSR166TestCase" haltonfailure="no">
626          </test>
627    
628        </junit>
629      </target>
630    
631    
632      <target name="4jdk7docs"
633              description="Builds javadocs for src/jdk7 to dist dir">
634    
635        <delete dir="${dist.4jdk7.docs.dir}"/>
636        <mkdir dir="${dist.4jdk7.docs.dir}"/>
637    
638        <javadoc destdir="${dist.4jdk7.docs.dir}"
639                 packagenames="none"
640                 link="${jdkapi7docs.url}"
641                 overview="${4jdk7src.dir}/intro.html"
642                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
643                 classpath=""
644                 executable="${javadoc7}">
645          <arg value="-XDignore.symbol.file=true"/>
646          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
647            <include name="**/*.java"/>
648          </fileset>
649        </javadoc>
650    
651      </target>
652    
653    
654      <target name="4jdk7dist"
655              depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
656            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
657    
658    
659    <target name="clean"  
660      <target name="4jdk7clean"
661            description="Removes all build products">            description="Removes all build products">
662    
663      <delete dir="${build.dir}"/>      <delete dir="${build.4jdk7.dir}"/>
     <delete dir="${build.classes.dir}"/>  
     <delete dir="${build.lib.dir}"/>  
664    
665    </target>    </target>
666    
667    
668    <target name="dist-clean"  
669      <target name="4jdk7dist-clean"
670            description="Removes all build and distribution products">            description="Removes all build and distribution products">
671    
672      <delete dir="${dist.dir}"/>    </target>
673    
674      <target name="4jdk7dist-jar"
675              depends="4jdk7clean, 4jdk7compile">
676    
677        <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
678    
679    </target>    </target>
680    
681      <!-- jsr166x -->
682    
   <target name="dist-docs"  
           depends="filter-src"  
           description="Builds javadocs without custom tags to dist folder">  
683    
684      <delete dir="${dist.javadocs.dir}"/>    <target name="jsr166xcompile"
685      <mkdir dir="${dist.javadocs.dir}"/>            depends="init, configure-compiler"
686              description="Compiles jsr166x sources">
687    
688      <javadoc destdir="${dist.javadocs.dir}"      <mkdir dir="${build.jsr166x.dir}"/>
689                  link="http://java.sun.com/j2se/1.4.1/docs/api"  
690              overview="${src.dir}/intro.html"      <javac srcdir="${jsr166xsrc.dir}"
691                source="${build.docsourcelevel}">            destdir="${build.jsr166x.dir}"
692                debug="${build.debug}"
693           debuglevel="${build.debuglevel}"
694          deprecation="${build.deprecation}"
695               source="${build.sourcelevel}"
696                 fork="true">
697    
698        <packageset dir="${build.filter.src.dir}"/>        <include name="**/*.java"/>
699          <compilerarg line="${build.args}"/>
700          <compilerarg value="-XDignore.symbol.file=true"/>
701    
702      </javadoc>      </javac>
703    
704    </target>    </target>
705    
706    
707    
708    <!-- Internal targets -->    <target name="jsr166xjar"
709              depends="jsr166xcompile"
710              description="Builds library jar from compiled sources">
711    
712    <target name="set-warnings-if" if="build.warnings">      <mkdir dir="${build.jsr166xlib.dir}"/>
713    
714      <property name="build.warnings.arg" value="-warnunchecked"/>      <jar destfile="${jsr166xproduct.jar}">
715          <fileset dir="${build.jsr166x.dir}"/>
716        </jar>
717    
718    </target>    </target>
719    
720    
   <target name="set-warnings-unless" unless="build.warnings">  
721    
722      <property name="build.warnings.arg" value=""/>    <target name="jsr166xdocs"
723              description="Builds javadocs to dist dir">
724    
725        <delete dir="${build.jsr166xjavadocs.dir}"/>
726        <mkdir dir="${build.jsr166xjavadocs.dir}"/>
727    
728        <javadoc destdir="${build.jsr166xjavadocs.dir}"
729                 packagenames="jsr166x"
730                 link="${jdkapidocs.url}"
731                 source="${build.sourcelevel}"
732                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
733                 additionalparam="-XDignore.symbol.file=true" />
734    
735    </target>    </target>
736    
737    
738    <target name="init"    <target name="jsr166xdist"
739            depends="set-warnings-if, set-warnings-unless">            depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"
740              description="Puts all distributable products in single hierarchy"/>
741    
     <!-- Version is kept in a separate file -->  
     <loadfile property="version" srcFile="version.properties"/>  
     <echo>Building JSR-166 version ${version}</echo>  
742    
743      <!-- Common options in javac invocations -->  
744      <property name="build.javac.args"    <target name="jsr166xclean"
745               value="${build.bootclasspath.arg} ${build.warnings.arg} ${build.novariance.arg}"/>            description="Removes all build products">
746    
747        <delete dir="${build.jsr166x.dir}"/>
748        <delete dir="${build.jsr166xlib.dir}"/>
749    
750    </target>    </target>
751    
752    
   <target name="init-jar">  
753    
754      <mkdir dir="${build.lib.dir}"/>    <target name="jsr166xdist-clean"
755              description="Removes all build and distribution products">
756    
757    </target>    </target>
758    
759    
   <target name="native-jar"  
           depends="compile"  
           unless="build.emulation.true">  
760    
761      <jar destfile="${product.jar}">    <target name="jsr166xdist-docs"
762        <fileset dir="${build.classes.dir}"/>            description="Builds javadocs to dist dir">
763      </jar>  
764        <delete dir="${dist.jsr166xjavadocs.dir}"/>
765        <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
766    
767        <javadoc destdir="${dist.jsr166xjavadocs.dir}"
768                 packagenames="jsr166x"
769                 link="${jdkapidocs.url}"
770                 source="${build.sourcelevel}"
771                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
772                 additionalparam="-XDignore.symbol.file=true" />
773    
774    </target>    </target>
775    
776      <target name="jsr166xdist-jar"
777              depends="jsr166xclean, jsr166xjar">
778    
779    <target name="compile-emulation"      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>
           depends="init"  
           if="build.emulation.true">  
780    
781      <mkdir dir="${build.emulation.dir}"/>    </target>
782    
783      <!-- jsr166y -->
784    
785    
786      <target name="jsr166ycompile"
787              depends="init, configure-compiler"
788              description="Compiles jsr166y sources">
789    
790      <javac srcdir="${emulation.src.dir}"      <mkdir dir="${build.jsr166y.dir}"/>
791            destdir="${build.emulation.dir}"  
792        <javac srcdir="${jsr166ysrc.dir}"
793              destdir="${build.jsr166y.dir}"
794              debug="${build.debug}"              debug="${build.debug}"
795         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
796        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
797             source="${build.sourcelevel}"             source="${build.sourcelevel}"
798               fork="true">               fork="true">
799    
800        <bootclasspath refid="javac.bootclasspath"/>        <include name="**/*.java"/>
801        <compilerarg line="${build.javac.args}"/>        <compilerarg line="${build.args}"/>
802          <compilerarg value="-XDignore.symbol.file=true"/>
803          <compilerarg value="${bootclasspath.args}"/>
804    
805    <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
806    
807      </javac>      </javac>
808    
809    </target>    </target>
810    
811    
   <target name="emulation-jar"  
           depends="compile-emulation"  
           if="build.emulation.true">  
812    
813      <target name="jsr166yjar"
814              depends="jsr166ycompile"
815              description="Builds library jar from compiled sources">
816    
817      <jar destfile="${product.jar}" duplicate="add">      <mkdir dir="${build.jsr166ylib.dir}"/>
818        <fileset dir="${build.classes.dir}">  
819          <patternset refid="emulation.excludes"/>      <jar destfile="${jsr166yproduct.jar}" index="true">
820        </fileset>        <fileset dir="${build.jsr166y.dir}"/>
       <fileset dir="${build.emulation.dir}"/>  
821      </jar>      </jar>
822    
823    </target>    </target>
824    
825    
   <target name="dist-jar"  
           depends="clean, jar">  
826    
827      <copy file="${product.jar}" todir="${dist.dir}"/>    <target name="jsr166ydocs"
828              description="Builds javadocs to dist dir">
829    
830        <delete dir="${build.jsr166yjavadocs.dir}"/>
831        <mkdir dir="${build.jsr166yjavadocs.dir}"/>
832    
833        <javadoc destdir="${build.jsr166yjavadocs.dir}"
834                 packagenames="jsr166y"
835                 link="${jdkapidocs.url}"
836                 source="${build.sourcelevel}"
837                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
838                 additionalparam="-XDignore.symbol.file=true" />
839    
840    </target>    </target>
841    
842    
843    <target name="compile-ant-filter"    <target name="jsr166ydist"
844            depends="init">            depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"
845              description="Puts all distributable products in single hierarchy"/>
846    
     <mkdir dir="${build.ant.dir}"/>  
847    
848      <javac srcdir="${ant.src.dir}"  
849            destdir="${build.ant.dir}"    <target name="jsr166yclean"
850             source="1.4"            description="Removes all build products">
851      />  
852        <delete dir="${build.jsr166y.dir}"/>
853        <delete dir="${build.jsr166ylib.dir}"/>
854    
855    </target>    </target>
856    
857    
   <target name="filter-src"  
           depends="compile-ant-filter">  
858    
859      <mkdir dir="${build.filter.src.dir}"/>    <target name="jsr166ydist-clean"
860              description="Removes all build and distribution products">
861    
862      </target>
863    
864      <copy todir="${build.filter.src.dir}">    <target name="jsr166ydist-docs"
865        <fileset dir="${src.dir}">            description="Builds javadocs to dist dir">
         <include name="**/*.html"/>  
       </fileset>  
     </copy>  
866    
867      <copy todir="${build.filter.src.dir}">      <delete dir="${dist.jsr166yjavadocs.dir}"/>
868        <fileset dir="${src.dir}">      <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
869          <exclude name="**/*.html"/>  
870          <patternset refid="emulation.excludes"/>      <javadoc destdir="${dist.jsr166yjavadocs.dir}"
871        </fileset>               packagenames="jsr166y"
872        <filterchain>               link="${jdkapidocs.url}"
873          <filterreader classname="jsr166.ant.filters.ReplaceFilter"               source="${build.sourcelevel}"
874                        classpath="${build.ant.dir}">               sourcepath="${topsrc.dir}:${jdksrc.dir}"
875            <!--               additionalparam="-XDignore.symbol.file=true" />
            # These arguments are to get rid of angle-bracketed type  
            # parameters so that javadoc can run on the result. The  
            # following heuristic that 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.)  
            -->  
           <param name="notmatching" value="^\s+\*\s.*$"/>  
           <param name="pattern" value="&lt;[^|>()]+?>+"/>  
           <param name="replacement" value=" "/>  
         </filterreader>  
         <filterreader classname="jsr166.ant.filters.ReplaceFilter"  
                       classpath="${build.ant.dir}">  
           <!--  
            # These arguments are to uncomment lines beginning with  
            # "//@" so that javadoc can see imports that are needed  
            # to resolve links but that shouldn't be in the compiled  
            # code.  
            -->  
           <param name="matching" value="^//@.*$"/>  
           <param name="pattern" value="^//@"/>  
           <param name="replacement" value=""/>  
         </filterreader>  
       </filterchain>  
     </copy>  
876    
877    </target>    </target>
878    
879      <target name="jsr166ydist-jar"
880              depends="jsr166yclean, jsr166yjar">
881    
882    <target name="compile-tests"      <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>
           depends="jar">  
883    
884      <mkdir dir="${build.testcases.dir}"/>    </target>
885    
886      <javac srcdir="${test.src.dir}"  
887            destdir="${build.testcases.dir}"    <!-- extra166y -->
888    
889    
890      <target name="extra166ycompile"
891              depends="init, configure-compiler, jsr166ycompile"
892              description="Compiles extra166y sources">
893    
894        <mkdir dir="${build.extra166y.dir}"/>
895    
896        <javac srcdir="${extra166ysrc.dir}"
897              destdir="${build.extra166y.dir}"
898              debug="${build.debug}"              debug="${build.debug}"
899                classpath="${jsr166yproduct.jar}"
900         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
901        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
902             source="${build.sourcelevel}"             source="${build.sourcelevel}"
903               fork="true">               fork="true">
904    
905        <classpath refid="test.classpath"/>        <include name="**/*.java"/>
906        <bootclasspath refid="javac.bootclasspath"/>        <compilerarg line="${build.args}"/>
907        <compilerarg line="${build.javac.args}"/>        <compilerarg value="-XDignore.symbol.file=true"/>
908          <compilerarg value="${bootclasspath.args}"/>
909    
910    <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
911    
912      </javac>      </javac>
913    
914    </target>    </target>
915    
916    
   <target name="run-tests"  
           depends="compile-tests">  
917    
918      <!-- May be overridden by user.properties -->    <target name="extra166yjar"
919      <property name="testcase" value="*"/>            depends="extra166ycompile"
920              description="Builds library jar from compiled sources">
921    
922      <mkdir dir="${build.reports.dir}"/>      <mkdir dir="${build.extra166ylib.dir}"/>
923    
924      <junit printsummary="true"      <jar destfile="${extra166yproduct.jar}" index="true">
925               showoutput="true"        <fileset dir="${build.extra166y.dir}"/>
926            errorProperty="junit.failed"      </jar>
         failureProperty="junit.failed"  
                     dir="${build.reports.dir}"  
                    fork="true">  
927    
928        <jvmarg value="${test.bootclasspath.arg}"/>    </target>
929    
       <formatter type="xml"/>  
930    
       <batchtest todir="${build.reports.dir}">  
         <fileset dir="${test.src.dir}">  
           <include name="**/${testcase}Test.java"/>  
         </fileset>  
       </batchtest>  
931    
932      </junit>    <target name="extra166ydocs"
933              description="Builds javadocs with custom tags to build dir">
934    
935        <delete dir="${build.extra166yjavadocs.dir}"/>
936        <mkdir dir="${build.extra166yjavadocs.dir}"/>
937    
938        <javadoc destdir="${build.extra166yjavadocs.dir}"
939                 packagenames="extra166y"
940                 link="${jdkapidocs.url}"
941                 source="${build.sourcelevel}"
942                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
943                 additionalparam="-XDignore.symbol.file=true" />
944    
945    </target>    </target>
946    
947    
948    <target name="report-tests"    <target name="extra166ydist"
949            depends="run-tests">            depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"
950              description="Puts all distributable products in single hierarchy"/>
951    
     <!-- Sets junit.report.format to frames if Xalan 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"/>  
952    
     <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>  
953    
954      <fail message="Test Cases Failed" if="junit.failed"/>    <target name="extra166yclean"
955              description="Removes all build products">
956    
957        <delete dir="${build.extra166y.dir}"/>
958        <delete dir="${build.extra166ylib.dir}"/>
959    
960    </target>    </target>
961    
962    
   <target name="check-junit">  
963    
964      <!-- junit.framework.Protectable is in JUnit 3.8.1 but not in 3.7 -->    <target name="extra166ydist-clean"
965      <available property="junit.available"            description="Removes all build and distribution products">
                classname="junit.framework.Protectable"/>  
966    
967      <fail message="Need JUnit 3.8.1 in ${ant.home}${file.separator}lib to run tests"    </target>
968            unless="junit.available"/>  
969      <target name="extra166ydist-docs"
970              description="Builds javadocs to dist dir">
971    
972        <delete dir="${dist.extra166yjavadocs.dir}"/>
973        <mkdir dir="${dist.extra166yjavadocs.dir}"/>
974    
975        <javadoc destdir="${dist.extra166yjavadocs.dir}"
976                 packagenames="extra166y"
977                 link="${jdkapidocs.url}"
978                 source="${build.sourcelevel}"
979                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
980                 additionalparam="-XDignore.symbol.file=true" />
981    
982    </target>    </target>
983    
984      <target name="extra166ydist-jar"
985              depends="extra166yclean, extra166yjar">
986    
987        <copy file="${extra166yproduct.jar}" todir="${dist.dir}"/>
988    
   <target name="check-emulation">  
     <condition property="build.emulation.true">  
       <or>  
         <isset property="build.emulation"/>  
         <os family="windows"/>  
       </or>  
     </condition>  
989    </target>    </target>
990    
991      <!-- jsr166e -->
992    
993      <target name="jsr166ecompile"
994              depends="configure-compiler"
995              description="Compiles jsr166e sources">
996    
997        <mkdir dir="${build.jsr166e.dir}"/>
998    
999    <!-- Anthill targets -->      <javac srcdir="${topsrc.dir}"
1000               destdir="${build.jsr166e.dir}"
1001               debug="${build.debug}"
1002               debuglevel="${build.debuglevel}"
1003               deprecation="${build.deprecation}"
1004               source="1.7"
1005               classpath=""
1006               includeAntRuntime="false"
1007               includeJavaRuntime="false"
1008               executable="${javac7}"
1009               fork="true">
1010    
1011    <target name="anthill-build"        <include name="jsr166e/**/*.java"/>
1012            depends="jar, test, docs, dist-docs"/>        <compilerarg line="${build.args}"/>
1013          <compilerarg value="-XDignore.symbol.file=true"/>
1014          <compilerarg value="-Xlint:all"/>
1015    
1016    <target name="anthill-publish">      </javac>
1017    
1018      </target>
1019    
     <copy todir="${deployDir}/docs/private">  
       <fileset dir="${build.javadocs.dir}"/>  
     </copy>  
1020    
     <copy todir="${deployDir}/docs/public">  
       <fileset dir="${dist.javadocs.dir}"/>  
     </copy>  
1021    
1022      <copy tofile="${deployDir}/index.html"    <target name="jsr166ejar"
1023            file="${basedir}/etc/anthill-index.html"/>            depends="jsr166ecompile"
1024              description="Builds library jar from compiled sources">
1025    
1026      <copy todir="${deployDir}/notes">      <mkdir dir="${build.jsr166elib.dir}"/>
1027        <fileset dir="${basedir}/etc/notes"/>  
1028      </copy>      <jar destfile="${jsr166eproduct.jar}" index="true">
1029          <fileset dir="${build.jsr166e.dir}"/>
1030        </jar>
1031    
1032    </target>    </target>
1033    
1034    
1035    
1036      <target name="jsr166edocs"
1037              description="Builds javadocs with custom tags to build dir">
1038    
1039        <delete dir="${build.jsr166ejavadocs.dir}"/>
1040        <mkdir dir="${build.jsr166ejavadocs.dir}"/>
1041    
1042        <javadoc destdir="${build.jsr166ejavadocs.dir}"
1043                 packagenames="jsr166e,jsr166e.extra"
1044                 link="${jdkapi7docs.url}"
1045                 source="1.7"
1046                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1047                 executable="${javadoc7}"
1048                 additionalparam="-XDignore.symbol.file=true" >
1049          <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1050            <include name="jsr166e/**/*.java"/>
1051          </fileset>
1052        </javadoc>
1053    
1054      </target>
1055    
1056    
1057      <target name="jsr166edist"
1058              depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"
1059              description="Puts all distributable products in single hierarchy"/>
1060    
1061    
1062    
1063      <target name="jsr166eclean"
1064              description="Removes all build products">
1065    
1066        <delete dir="${build.jsr166e.dir}"/>
1067        <delete dir="${build.jsr166elib.dir}"/>
1068    
1069      </target>
1070    
1071    
1072    
1073      <target name="jsr166edist-clean"
1074              description="Removes all build and distribution products">
1075    
1076      </target>
1077    
1078      <target name="jsr166edist-docs"
1079              description="Builds javadocs to dist dir">
1080    
1081        <delete dir="${dist.jsr166ejavadocs.dir}"/>
1082        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1083    
1084        <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1085                 packagenames="jsr166e,jsr166e.extra"
1086                 link="${jdkapidocs.url}"
1087                 source="1.7"
1088                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
1089                 additionalparam="-XDignore.symbol.file=true" />
1090    
1091      </target>
1092    
1093      <target name="jsr166edist-jar"
1094              depends="jsr166eclean, jsr166ejar">
1095    
1096        <copy file="${jsr166eproduct.jar}" todir="${dist.dir}"/>
1097    
1098      </target>
1099    
1100  </project>  </project>

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.102

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