/[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.105 by jsr166, Sat Jan 19 21:54:53 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="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="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="dist-jar"
314              depends="clean, jar">
315    
316        <copy file="${product.jar}" todir="${dist.dir}"/>
317    
318      </target>
319    
320    
321      <target name="compile-tests"
322              depends="jar">
323    
324        <mkdir dir="${build.testcases.dir}"/>
325    
326        <javac srcdir="${tck.src.dir}"
327              destdir="${build.testcases.dir}"
328                debug="${build.debug}"
329           debuglevel="${build.debuglevel}"
330          deprecation="${build.deprecation}"
331               source="${build.sourcelevel}"
332                 fork="true">
333    
334          <compilerarg value="${bootclasspath.args}"/>
335          <compilerarg line="${build.args}"/>
336          <compilerarg value="-XDignore.symbol.file=true"/>
337    
338          <classpath refid="test.classpath"/>
339    
340        </javac>
341    
342        <javac srcdir="${test.src.dir}"
343              destdir="${build.testcases.dir}"
344              debug="${build.debug}"              debug="${build.debug}"
345         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
346        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
347             source="${build.sourcelevel}"             source="${build.sourcelevel}"
348               fork="true">               fork="true">
349    
350        <bootclasspath refid="javac.bootclasspath"/>        <include name="jsr166/test/**"/>
351        <compilerarg line="${build.javac.args}"/>  
352          <compilerarg value="${bootclasspath.args}"/>
353          <compilerarg line="${build.args}"/>
354          <compilerarg value="-XDignore.symbol.file=true"/>
355    
356          <classpath refid="test.classpath"/>
357    
358      </javac>      </javac>
359    
360    <!--
361        <javac srcdir="${jtreg.src.dir}"
362              destdir="${build.testcases.dir}"
363                debug="${build.debug}"
364           debuglevel="${build.debuglevel}"
365          deprecation="${build.deprecation}"
366               source="${build.sourcelevel}"
367                 fork="true">
368    
369          <compilerarg value="${bootclasspath.args}"/>
370          <compilerarg line="${build.args}"/>
371          <compilerarg value="-XDignore.symbol.file=true"/>
372    
373          <classpath refid="test.classpath"/>
374    
375        </javac>
376    -->
377    
378    </target>    </target>
379    
380    
381    <target name="jar"    <target name="run-tests"
382            depends="check-emulation, init-jar, native-jar, emulation-jar"            depends="compile-tests">
           description="Builds library jar from compiled sources"/>  
383    
384        <!-- May be overridden by user.properties -->
385        <property name="testcase" value="*"/>
386    
387    <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)" />  
388    
389        <junit printsummary="true"
390                 showoutput="true"
391              errorProperty="junit.failed"
392            failureProperty="junit.failed"
393                        dir="${build.reports.dir}"
394                       fork="true">
395    
396          <jvmarg value="${bootclasspath.args}"/>
397          <jvmarg value="-server"/>
398          <jvmarg value="-showversion"/>
399    
400    <target name="checkstyle"        <classpath refid="test.classpath"/>
           depends="filter-src"  
           description="Reports on style errors in Java source (verbose, mostly chaff)">  
401    
402      <taskdef resource="checkstyletask.properties"        <formatter type="xml"/>
403              classpath="${lib.dir}/checkstyle-all-2.4.jar"/>  
404          <batchtest todir="${build.reports.dir}" unless="no.test.tck">
405            <fileset dir="${tck.src.dir}">
406              <include name="**/${testcase}Test.java"/>
407            </fileset>
408          </batchtest>
409    
410          <batchtest todir="${build.reports.dir}" if="do.test.old">
411            <fileset dir="${test.src.dir}">
412              <include name="jsr166/test/**/${testcase}Test.java"/>
413            </fileset>
414          </batchtest>
415    
416    <!--
417          <batchtest todir="${build.reports.dir}" if="do.test.jtreg">
418            <fileset dir="${jtreg.src.dir}">
419              <include name="**/${testcase}Test.java"/>
420            </fileset>
421          </batchtest>
422    -->
423    
424      <checkstyle>      </junit>
       <formatter type="plain"/>  <!-- also available: type="xml" -->  
       <fileset dir="${build.filter.src.dir}" includes="**/*.java"/>  
     </checkstyle>  
425    
426    </target>    </target>
427    
428    
429    <target name="doccheck"    <target name="report-tests"
430            depends="filter-src"            depends="run-tests">
           description="Reports on javadoc style errors (not working yet)">  
431    
432      <delete dir="${build.doccheck.dir}"/>      <!-- Sets junit.report.format to frames if redirection is present,
433      <mkdir dir="${build.doccheck.dir}"/>           otherwise sets it to noframes. -->
434        <available property="junit.report.format"
435                      value="frames"
436                  classname="org.apache.xalan.lib.Redirect"
437        />
438        <property name="junit.report.format" value="noframes"/>
439    
440      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"      <junitreport todir="${build.reports.dir}">
441           docletpath="${lib.dir}/doccheck.jar"        <fileset dir="${build.reports.dir}">
442              destdir="${build.doccheck.dir}">          <include name="TEST-*.xml"/>
443        <packageset dir="${build.filter.src.dir}"/>        </fileset>
444      </javadoc>        <report format="${junit.report.format}" todir="${build.reports.dir}"
445          />
446        </junitreport>
447    
448        <fail message="Test Cases Failed" if="junit.failed"/>
449    
450    </target>    </target>
451    
452    
453    <target name="docs"    <target name="configure-compiler">
           depends="filter-src"  
           description="Builds javadocs with custom tags to build folder">  
454    
455      <delete dir="${build.javadocs.dir}"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
     <mkdir dir="${build.javadocs.dir}"/>  
456    
457      <javadoc destdir="${build.javadocs.dir}"      <condition property="warnunchecked.arg" value="${unchecked.option}">
458                  link="http://java.sun.com/j2se/1.4.1/docs/api"        <istrue value="${build.warnunchecked}"/>
459              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:"/>  
460    
461        <packageset dir="${build.filter.src.dir}"/>      <property name="warnunchecked.arg" value=""/>
462    
463      </javadoc>  
464        <!-- Common options in javac invocations -->
465        <property name="build.args" value="${warnunchecked.arg}"/>
466    
467    </target>    </target>
468    
469    
470    <target name="strip"    <target name="configure-tests"
471            depends="init"         depends="configure-compiler">
472            description="Strip generics from java source (not working yet)">  
473        <!-- junit.framework.Protectable is in JUnit 3.8.1 but not in 3.7 -->
474        <available property="junit.available"
475                   classname="junit.framework.Protectable"/>
476    
477        <!-- Xalan -->
478        <available property="xalan.available"
479                   classname="org.apache.xalan.Version"/>
480    
     <mkdir dir="${build.stripped.dir}"/>  
481    
482        <!-- Ant 1.6beta and later don't need or want this check -->
483      <!--      <!--
484       # 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"
485       # bridge methods (marked as "synthetic") that can have identical            unless="junit.available"/>
486       # signatures to existing methods except for the return value.  
487       -->      <fail message="Need Xalan 2.5.1 jar in ${ant.home}${file.separator}lib to run tests"
488      <javac srcdir="${src.dir}"            unless="xalan.available"/>
489            destdir="${build.stripped.dir}"      -->
490    
491      </target>
492    
493    
494      <!-- Various demos and test programs -->
495    
496    
497      <target name="loops" depends="configure-compiler"
498              description="Benchmark from Doug Lea's AQS paper">
499    
500        <mkdir dir="${build.loops.dir}"/>
501    
502        <javac srcdir="${loops.src.dir}"
503              destdir="${build.loops.dir}"
504              debug="${build.debug}"              debug="${build.debug}"
505         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
506        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
507             source="${build.sourcelevel}"             source="${build.sourcelevel}"
508               fork="true">               fork="true">
509    
510        <bootclasspath refid="javac.bootclasspath"/>        <compilerarg line="${build.args}"/>
511        <compilerarg line="${build.javac.args} -s"/>        <classpath refid="loops.classpath"/>
512          <compilerarg value="-XDignore.symbol.file=true"/>
513    
514      </javac>      </javac>
515    
516        <java classname="ALoops" fork="true">
517          <classpath refid="loops.classpath"/>
518        </java>
519    
520    </target>    </target>
521    
522    
523    <target name="dist"    <!-- jsr166 4jdk7 -->
524            depends="init, dist-clean, dist-jar, dist-docs"  
525    
526      <target name="4jdk7compile"
527              depends="configure-compiler"
528              description="Compiles src/jdk7 sources, targeting jdk7">
529    
530        <mkdir dir="${build.4jdk7.classes.dir}"/>
531    
532        <javac srcdir="${4jdk7src.dir}"
533               destdir="${build.4jdk7.classes.dir}"
534               debug="${build.debug}"
535               debuglevel="${build.debuglevel}"
536               deprecation="${build.deprecation}"
537               source="1.6"
538               classpath=""
539               bootclasspath="${bootclasspath6}"
540               includeAntRuntime="false"
541               includeJavaRuntime="false"
542               executable="${javac7}"
543               fork="true">
544    
545          <include name="**/*.java"/>
546          <compilerarg line="${build.args}"/>
547          <compilerarg value="-XDignore.symbol.file=true"/>
548          <compilerarg value="-Xlint:all"/>
549    
550        </javac>
551    
552        <mkdir dir="${build.4jdk7.lib.dir}"/>
553    
554        <jar destfile="${4jdk7product.jar}" index="true">
555          <fileset dir="${build.4jdk7.classes.dir}"/>
556        </jar>
557    
558        <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
559    
560        <javac srcdir="${tck.src.dir}"
561               destdir="${build.4jdk7.tck.classes.dir}"
562               debug="${build.debug}"
563               debuglevel="${build.debuglevel}"
564               deprecation="${build.deprecation}"
565               source="1.6"
566               classpath="${junit.jar}"
567               bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
568               includeAntRuntime="false"
569               includeJavaRuntime="false"
570               executable="${javac7}"
571               fork="true">
572    
573          <include name="**/*.java"/>
574          <compilerarg line="${build.args}"/>
575          <compilerarg value="-XDignore.symbol.file=true"/>
576          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
577    
578        </javac>
579    
580      </target>
581    
582    
583      <target name="4jdk7-test-tck"
584              depends="4jdk7compile"
585              description="Runs tck tests for jsr166-4jdk7 directly">
586        <run-tck-tests
587          jvm="${java7}"
588          tck.classes="${build.4jdk7.tck.classes.dir}"
589          product.jar="${4jdk7product.jar}"/>
590      </target>
591    
592    
593      <target name="4jdk7-test-tck-junit"
594              depends="4jdk7compile"
595              description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
596    
597        <junit printsummary="true"
598               showoutput="true"
599               errorProperty="junit.failed"
600               failureProperty="junit.failed"
601               includeantruntime="true"
602               jvm="${java7}"
603               fork="true">
604    
605          <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
606          <jvmarg value="-server"/>
607    
608          <classpath>
609            <pathelement location="${junit.jar}"/>
610            <pathelement location="${build.4jdk7.tck.classes.dir}"/>
611          </classpath>
612    
613          <formatter type="brief"/>
614    
615          <test name="JSR166TestCase" haltonfailure="no">
616          </test>
617    
618        </junit>
619      </target>
620    
621    
622      <target name="4jdk7docs"
623              description="Builds javadocs for src/jdk7 to dist dir">
624    
625        <delete dir="${dist.4jdk7.docs.dir}"/>
626        <mkdir dir="${dist.4jdk7.docs.dir}"/>
627    
628        <javadoc destdir="${dist.4jdk7.docs.dir}"
629                 packagenames="none"
630                 link="${jdkapi7docs.url}"
631                 overview="${4jdk7src.dir}/intro.html"
632                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
633                 classpath=""
634                 executable="${javadoc7}">
635          <arg value="-XDignore.symbol.file=true"/>
636          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
637            <include name="**/*.java"/>
638          </fileset>
639        </javadoc>
640    
641      </target>
642    
643    
644      <target name="4jdk7dist"
645              depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
646            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
647    
648    
649    <target name="clean"  
650      <target name="4jdk7clean"
651            description="Removes all build products">            description="Removes all build products">
652    
653      <delete dir="${build.dir}"/>      <delete dir="${build.4jdk7.dir}"/>
     <delete dir="${build.classes.dir}"/>  
     <delete dir="${build.lib.dir}"/>  
654    
655    </target>    </target>
656    
657    
658    <target name="dist-clean"  
659      <target name="4jdk7dist-clean"
660            description="Removes all build and distribution products">            description="Removes all build and distribution products">
661    
662      <delete dir="${dist.dir}"/>    </target>
663    
664      <target name="4jdk7dist-jar"
665              depends="4jdk7clean, 4jdk7compile">
666    
667        <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
668    
669    </target>    </target>
670    
671      <!-- jsr166x -->
672    
   <target name="dist-docs"  
           depends="filter-src"  
           description="Builds javadocs without custom tags to dist folder">  
673    
674      <delete dir="${dist.javadocs.dir}"/>    <target name="jsr166xcompile"
675      <mkdir dir="${dist.javadocs.dir}"/>            depends="configure-compiler"
676              description="Compiles jsr166x sources to build dir">
677    
678      <javadoc destdir="${dist.javadocs.dir}"      <mkdir dir="${build.jsr166x.dir}"/>
                 link="http://java.sun.com/j2se/1.4.1/docs/api"  
             overview="${src.dir}/intro.html"  
               source="${build.docsourcelevel}">  
679    
680        <packageset dir="${build.filter.src.dir}"/>      <javac srcdir="${topsrc.dir}"
681               destdir="${build.jsr166x.dir}"
682               debug="${build.debug}"
683               debuglevel="${build.debuglevel}"
684               deprecation="${build.deprecation}"
685               classpath=""
686               source="1.5"
687               bootclasspath="${bootclasspath6}"
688               includeAntRuntime="false"
689               includeJavaRuntime="false"
690               executable="${javac7}"
691               fork="true">
692    
693      </javadoc>        <include name="jsr166x/**/*.java"/>
694          <compilerarg line="${build.args}"/>
695          <compilerarg value="-XDignore.symbol.file=true"/>
696          <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
697    
698        </javac>
699    
700    </target>    </target>
701    
702    
703    
704    <!-- Internal targets -->    <target name="jsr166xjar"
705              depends="jsr166xcompile"
706              description="Builds library jar from compiled sources">
707    
708    <target name="set-warnings-if" if="build.warnings">      <mkdir dir="${build.jsr166xlib.dir}"/>
709    
710      <property name="build.warnings.arg" value="-warnunchecked"/>      <jar destfile="${jsr166xproduct.jar}">
711          <fileset dir="${build.jsr166x.dir}"/>
712        </jar>
713    
714    </target>    </target>
715    
716    
   <target name="set-warnings-unless" unless="build.warnings">  
717    
718      <property name="build.warnings.arg" value=""/>    <target name="jsr166xdocs"
719              description="Builds javadocs to dist dir">
720    
721        <delete dir="${build.jsr166xjavadocs.dir}"/>
722        <mkdir dir="${build.jsr166xjavadocs.dir}"/>
723    
724        <javadoc destdir="${build.jsr166xjavadocs.dir}"
725                 packagenames="jsr166x"
726                 link="${jdkapidocs.url}"
727                 source="${build.sourcelevel}"
728                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
729                 additionalparam="-XDignore.symbol.file=true" />
730    
731    </target>    </target>
732    
733    
734    <target name="init"    <target name="jsr166xdist"
735            depends="set-warnings-if, set-warnings-unless">            depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"
736              description="Puts all distributable products in single hierarchy"/>
737    
     <!-- Version is kept in a separate file -->  
     <loadfile property="version" srcFile="version.properties"/>  
     <echo>Building JSR-166 version ${version}</echo>  
738    
739      <!-- Common options in javac invocations -->  
740      <property name="build.javac.args"    <target name="jsr166xclean"
741               value="${build.bootclasspath.arg} ${build.warnings.arg} ${build.novariance.arg}"/>            description="Removes all build products">
742    
743        <delete dir="${build.jsr166x.dir}"/>
744        <delete dir="${build.jsr166xlib.dir}"/>
745    
746    </target>    </target>
747    
748    
   <target name="init-jar">  
749    
750      <mkdir dir="${build.lib.dir}"/>    <target name="jsr166xdist-clean"
751              description="Removes all build and distribution products">
752    
753    </target>    </target>
754    
755    
   <target name="native-jar"  
           depends="compile"  
           unless="build.emulation.true">  
756    
757      <jar destfile="${product.jar}">    <target name="jsr166xdist-docs"
758        <fileset dir="${build.classes.dir}"/>            description="Builds javadocs to dist dir">
759      </jar>  
760        <delete dir="${dist.jsr166xjavadocs.dir}"/>
761        <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
762    
763        <javadoc destdir="${dist.jsr166xjavadocs.dir}"
764                 packagenames="jsr166x"
765                 link="${jdkapidocs.url}"
766                 source="${build.sourcelevel}"
767                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
768                 additionalparam="-XDignore.symbol.file=true" />
769    
770    </target>    </target>
771    
772      <target name="jsr166xdist-jar"
773              depends="jsr166xclean, jsr166xjar">
774    
775    <target name="compile-emulation"      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>
           depends="init"  
           if="build.emulation.true">  
776    
777      <mkdir dir="${build.emulation.dir}"/>    </target>
778    
779      <javac srcdir="${emulation.src.dir}"    <!-- jsr166y -->
           destdir="${build.emulation.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
780    
       <bootclasspath refid="javac.bootclasspath"/>  
       <compilerarg line="${build.javac.args}"/>  
781    
782      </javac>    <target name="jsr166ycompile"
783              depends="configure-compiler"
784              description="Compiles jsr166y sources">
785    
786        <mkdir dir="${build.jsr166y.dir}"/>
787    
788        <javac srcdir="${topsrc.dir}"
789               destdir="${build.jsr166y.dir}"
790               debug="${build.debug}"
791               debuglevel="${build.debuglevel}"
792               deprecation="${build.deprecation}"
793               source="1.6"
794               classpath=""
795               bootclasspath="${bootclasspath6}"
796               includeAntRuntime="false"
797               includeJavaRuntime="false"
798               executable="${javac7}"
799               fork="true">
800    
801          <include name="jsr166y/**/*.java"/>
802          <compilerarg line="${build.args}"/>
803          <compilerarg value="-XDignore.symbol.file=true"/>
804          <compilerarg value="-Xlint:all"/>
805        </javac>
806    </target>    </target>
807    
808    
809    <target name="emulation-jar"    <target name="jsr166yjar"
810            depends="compile-emulation"            depends="jsr166ycompile"
811            if="build.emulation.true">            description="Builds library jar from compiled sources">
812    
813        <mkdir dir="${build.jsr166ylib.dir}"/>
814    
815      <jar destfile="${product.jar}" duplicate="add">      <jar destfile="${jsr166yproduct.jar}" index="true">
816        <fileset dir="${build.classes.dir}">        <fileset dir="${build.jsr166y.dir}"/>
         <patternset refid="emulation.excludes"/>  
       </fileset>  
       <fileset dir="${build.emulation.dir}"/>  
817      </jar>      </jar>
818    
819    </target>    </target>
820    
821    
   <target name="dist-jar"  
           depends="clean, jar">  
822    
823      <copy file="${product.jar}" todir="${dist.dir}"/>    <target name="jsr166ydocs"
824              description="Builds javadocs to dist dir">
825    
826        <delete dir="${build.jsr166yjavadocs.dir}"/>
827        <mkdir dir="${build.jsr166yjavadocs.dir}"/>
828    
829        <javadoc destdir="${build.jsr166yjavadocs.dir}"
830                 packagenames="jsr166y"
831                 link="${jdkapidocs.url}"
832                 source="${build.sourcelevel}"
833                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
834                 additionalparam="-XDignore.symbol.file=true" />
835    
836    </target>    </target>
837    
838    
839    <target name="compile-ant-filter"    <target name="jsr166ydist"
840            depends="init">            depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"
841              description="Puts all distributable products in single hierarchy"/>
842    
     <mkdir dir="${build.ant.dir}"/>  
843    
844      <javac srcdir="${ant.src.dir}"  
845            destdir="${build.ant.dir}"    <target name="jsr166yclean"
846             source="1.4"            description="Removes all build products">
847      />  
848        <delete dir="${build.jsr166y.dir}"/>
849        <delete dir="${build.jsr166ylib.dir}"/>
850    
851    </target>    </target>
852    
853    
   <target name="filter-src"  
           depends="compile-ant-filter">  
854    
855      <mkdir dir="${build.filter.src.dir}"/>    <target name="jsr166ydist-clean"
856              description="Removes all build and distribution products">
857    
858      <copy todir="${build.filter.src.dir}">    </target>
       <fileset dir="${src.dir}">  
         <include name="**/*.html"/>  
       </fileset>  
     </copy>  
859    
860      <copy todir="${build.filter.src.dir}">    <target name="jsr166ydist-docs"
861        <fileset dir="${src.dir}">            description="Builds javadocs to dist dir">
862          <exclude name="**/*.html"/>  
863          <patternset refid="emulation.excludes"/>      <delete dir="${dist.jsr166yjavadocs.dir}"/>
864        </fileset>      <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
865        <filterchain>  
866          <filterreader classname="jsr166.ant.filters.ReplaceFilter"      <javadoc destdir="${dist.jsr166yjavadocs.dir}"
867                        classpath="${build.ant.dir}">               packagenames="jsr166y"
868            <!--               link="${jdkapidocs.url}"
869             # These arguments are to get rid of angle-bracketed type               source="${build.sourcelevel}"
870             # parameters so that javadoc can run on the result. The               sourcepath="${topsrc.dir}:${jdksrc.dir}"
871             # following heuristic that seems to work:               additionalparam="-XDignore.symbol.file=true" />
            #  
            # 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>  
872    
873    </target>    </target>
874    
875      <target name="jsr166ydist-jar"
876              depends="jsr166yclean, jsr166yjar">
877    
878    <target name="compile-tests"      <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>
           depends="jar">  
879    
880      <mkdir dir="${build.testcases.dir}"/>    </target>
881    
     <javac srcdir="${test.src.dir}"  
           destdir="${build.testcases.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
882    
883        <classpath refid="test.classpath"/>    <!-- extra166y -->
884        <bootclasspath refid="javac.bootclasspath"/>  
885        <compilerarg line="${build.javac.args}"/>  
886      <target name="extra166ycompile"
887              depends="configure-compiler, jsr166yjar"
888              description="Compiles extra166y sources">
889    
890        <mkdir dir="${build.extra166y.dir}"/>
891    
892        <javac srcdir="${topsrc.dir}"
893               destdir="${build.extra166y.dir}"
894               debug="${build.debug}"
895               debuglevel="${build.debuglevel}"
896               deprecation="${build.deprecation}"
897               classpath=""
898               source="1.6"
899               bootclasspath="${jsr166yproduct.jar}:${bootclasspath6}"
900               includeAntRuntime="false"
901               includeJavaRuntime="false"
902               executable="${javac7}"
903               fork="true">
904    
905          <include name="extra166y/**/*.java"/>
906          <compilerarg line="${build.args}"/>
907          <compilerarg value="-XDignore.symbol.file=true"/>
908          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
909    
910      </javac>      </javac>
911    
912    </target>    </target>
913    
914    
   <target name="run-tests"  
           depends="compile-tests">  
915    
916      <!-- May be overridden by user.properties -->    <target name="extra166yjar"
917      <property name="testcase" value="*"/>            depends="extra166ycompile"
918              description="Builds library jar from compiled sources">
919    
920      <mkdir dir="${build.reports.dir}"/>      <mkdir dir="${build.extra166ylib.dir}"/>
921    
922      <junit printsummary="true"      <jar destfile="${extra166yproduct.jar}" index="true">
923               showoutput="true"        <fileset dir="${build.extra166y.dir}"/>
924            errorProperty="junit.failed"      </jar>
         failureProperty="junit.failed"  
                     dir="${build.reports.dir}"  
                    fork="true">  
925    
926        <jvmarg value="${test.bootclasspath.arg}"/>    </target>
927    
       <formatter type="xml"/>  
928    
       <batchtest todir="${build.reports.dir}">  
         <fileset dir="${test.src.dir}">  
           <include name="**/${testcase}Test.java"/>  
         </fileset>  
       </batchtest>  
929    
930      </junit>    <target name="extra166ydocs"
931              description="Builds javadocs with custom tags to build dir">
932    
933        <delete dir="${build.extra166yjavadocs.dir}"/>
934        <mkdir dir="${build.extra166yjavadocs.dir}"/>
935    
936        <javadoc destdir="${build.extra166yjavadocs.dir}"
937                 packagenames="extra166y"
938                 link="${jdkapidocs.url}"
939                 source="${build.sourcelevel}"
940                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
941                 additionalparam="-XDignore.symbol.file=true" />
942    
943    </target>    </target>
944    
945    
946    <target name="report-tests"    <target name="extra166ydist"
947            depends="run-tests">            depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"
948              description="Puts all distributable products in single hierarchy"/>
949    
     <!-- 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"/>  
950    
     <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>  
951    
952      <fail message="Test Cases Failed" if="junit.failed"/>    <target name="extra166yclean"
953              description="Removes all build products">
954    
955        <delete dir="${build.extra166y.dir}"/>
956        <delete dir="${build.extra166ylib.dir}"/>
957    
958    </target>    </target>
959    
960    
   <target name="check-junit">  
961    
962      <!-- junit.framework.Protectable is in JUnit 3.8.1 but not in 3.7 -->    <target name="extra166ydist-clean"
963      <available property="junit.available"            description="Removes all build and distribution products">
                classname="junit.framework.Protectable"/>  
964    
965      <fail message="Need JUnit 3.8.1 in ${ant.home}${file.separator}lib to run tests"    </target>
966            unless="junit.available"/>  
967      <target name="extra166ydist-docs"
968              description="Builds javadocs to dist dir">
969    
970        <delete dir="${dist.extra166yjavadocs.dir}"/>
971        <mkdir dir="${dist.extra166yjavadocs.dir}"/>
972    
973        <javadoc destdir="${dist.extra166yjavadocs.dir}"
974                 packagenames="extra166y"
975                 link="${jdkapidocs.url}"
976                 source="${build.sourcelevel}"
977                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
978                 additionalparam="-XDignore.symbol.file=true" />
979    
980    </target>    </target>
981    
982      <target name="extra166ydist-jar"
983              depends="extra166yclean, extra166yjar">
984    
985        <copy file="${extra166yproduct.jar}" todir="${dist.dir}"/>
986    
   <target name="check-emulation">  
     <condition property="build.emulation.true">  
       <or>  
         <isset property="build.emulation"/>  
         <os family="windows"/>  
       </or>  
     </condition>  
987    </target>    </target>
988    
989      <!-- jsr166e -->
990    
991      <target name="jsr166ecompile"
992              depends="configure-compiler"
993              description="Compiles jsr166e sources">
994    
995    <!-- Anthill targets -->      <mkdir dir="${build.jsr166e.dir}"/>
996    
997    <target name="anthill-build"      <javac srcdir="${topsrc.dir}"
998            depends="jar, test, docs, dist-docs"/>             destdir="${build.jsr166e.dir}"
999               debug="${build.debug}"
1000               debuglevel="${build.debuglevel}"
1001               deprecation="${build.deprecation}"
1002               source="1.7"
1003               classpath=""
1004               includeAntRuntime="false"
1005               includeJavaRuntime="false"
1006               executable="${javac7}"
1007               fork="true">
1008    
1009    <target name="anthill-publish">        <include name="jsr166e/**/*.java"/>
1010          <compilerarg line="${build.args}"/>
1011          <compilerarg value="-XDignore.symbol.file=true"/>
1012          <compilerarg value="-Xlint:all"/>
1013    
1014      <copy todir="${deployDir}/docs/private">      </javac>
1015        <fileset dir="${build.javadocs.dir}"/>  
1016      </copy>    </target>
1017    
     <copy todir="${deployDir}/docs/public">  
       <fileset dir="${dist.javadocs.dir}"/>  
     </copy>  
1018    
     <copy tofile="${deployDir}/index.html"  
           file="${basedir}/etc/anthill-index.html"/>  
1019    
1020      <copy todir="${deployDir}/notes">    <target name="jsr166ejar"
1021        <fileset dir="${basedir}/etc/notes"/>            depends="jsr166ecompile"
1022      </copy>            description="Builds library jar from compiled sources">
1023    
1024        <mkdir dir="${build.jsr166elib.dir}"/>
1025    
1026        <jar destfile="${jsr166eproduct.jar}" index="true">
1027          <fileset dir="${build.jsr166e.dir}"/>
1028        </jar>
1029    
1030      </target>
1031    
1032    
1033    
1034      <target name="jsr166edocs"
1035              description="Builds javadocs with custom tags to build dir">
1036    
1037        <delete dir="${build.jsr166ejavadocs.dir}"/>
1038        <mkdir dir="${build.jsr166ejavadocs.dir}"/>
1039    
1040        <javadoc destdir="${build.jsr166ejavadocs.dir}"
1041                 packagenames="jsr166e,jsr166e.extra"
1042                 link="${jdkapi7docs.url}"
1043                 source="1.7"
1044                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1045                 executable="${javadoc7}"
1046                 additionalparam="-XDignore.symbol.file=true" >
1047          <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1048            <include name="jsr166e/**/*.java"/>
1049          </fileset>
1050        </javadoc>
1051    
1052    </target>    </target>
1053    
1054    
1055      <target name="jsr166edist"
1056              depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"
1057              description="Puts all distributable products in single hierarchy"/>
1058    
1059    
1060    
1061      <target name="jsr166eclean"
1062              description="Removes all build products">
1063    
1064        <delete dir="${build.jsr166e.dir}"/>
1065        <delete dir="${build.jsr166elib.dir}"/>
1066    
1067      </target>
1068    
1069    
1070    
1071      <target name="jsr166edist-clean"
1072              description="Removes all build and distribution products">
1073    
1074      </target>
1075    
1076      <target name="jsr166edist-docs"
1077              description="Builds javadocs to dist dir">
1078    
1079        <delete dir="${dist.jsr166ejavadocs.dir}"/>
1080        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1081    
1082        <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1083                 packagenames="jsr166e,jsr166e.extra"
1084                 link="${jdkapidocs.url}"
1085                 source="1.7"
1086                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
1087                 additionalparam="-XDignore.symbol.file=true" />
1088    
1089      </target>
1090    
1091      <target name="jsr166edist-jar"
1092              depends="jsr166eclean, jsr166ejar">
1093    
1094        <copy file="${jsr166eproduct.jar}" todir="${dist.dir}"/>
1095    
1096      </target>
1097    
1098  </project>  </project>

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

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