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

Diff of /jsr166/build.xml

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

revision 1.74 by dl, Thu Sep 13 11:19:25 2007 UTC revision 1.109 by jsr166, Sun Jan 20 01:06:24 2013 UTC
# Line 8  Line 8 
8    
9    User-specific settings are read from user.properties.    User-specific settings are read from user.properties.
10    See user.properties.sample for an explanation of some useful settings.    See user.properties.sample for an explanation of some useful settings.
11    
12      The repository contains all dependencies except for ant and the JDK
13      itself.  Because the JDK version matters and because different
14      targets require different JDKs, we assume that users have created a
15      hierarchy containing:
16      $HOME/jdk/jdk6
17      $HOME/jdk/jdk7
18      $HOME/jdk/jdk8
19      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"/>
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"/>
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.testcases.dir"  location="${build.dir}/testcases"/>    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>
47    <property name="build.j1.dir"         location="${build.dir}/j1"/>    <property name="build.loops.dir"             location="${build.dir}/loops"/>
48    <property name="build.loops.dir"      location="${build.dir}/loops"/>    <property name="build.reports.dir"           location="${build.dir}/reports"/>
49    <property name="build.lib.dir"        location="${build.dir}/lib"/>  
50    <property name="build.ant.dir"        location="${build.dir}/ant"/>    <property name="build.4jdk7.dir"             location="${build.dir}/jsr166-4jdk7"/>
51    <property name="build.javadocs.dir"   location="${build.dir}/javadocs"/>    <property name="build.4jdk7.classes.dir"     location="${build.4jdk7.dir}/classes"/>
52    <property name="build.reports.dir"    location="${build.dir}/reports"/>    <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck/classes"/>
53    <property name="build.checkstyle.dir" location="${build.dir}/checkstyle"/>    <property name="build.4jdk7.docs.dir"        location="${build.4jdk7.dir}/docs"/>
54    <property name="build.doccheck.dir"   location="${build.dir}/doccheck"/>  
55    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
56    <property name="build.dc-filter.dir"  location="${build.dir}/filterdocchk"/>    <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>
57    <property name="build.jsr166x.dir"    location="${build.dir}/jsr166x"/>    <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>
58    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>    <property name="build.extra166y.dir"         location="${build.dir}/extra166y"/>
59    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>  
60      <!-- JDK binary locations -->
61    <property name="build.jsr166y.dir"    location="${build.dir}/jsr166y"/>    <property name="jdks.home"  location="${user.home}/jdk"/>
62    <property name="build.jsr166ylib.dir"        location="${build.dir}/jsr166ylib"/>  
63    <property name="build.jsr166yjavadocs.dir"   location="${build.dir}/jsr166yjavadocs"/>    <macrodef name="defjdklocations">
64        <attribute name="v"/>
65        <sequential>
66        <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
67        <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
68        <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
69        <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
70        <property name="bootdir@{v}"    location="${jdk@{v}.home}/jre/lib"/>
71        <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
72        <property name="bootclasspath@{v}"
73         value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
74        </sequential>
75      </macrodef>
76    
77      <defjdklocations v="6"/>
78      <defjdklocations v="7"/>
79      <defjdklocations v="8"/>
80    
81      <macrodef name="run-tck-tests">
82        <attribute name="jvm"/>
83        <attribute name="tck.classes"/>
84        <attribute name="product.jar" default="${product.jar}"/>
85        <attribute name="jvmflags" default=""/>
86        <sequential>
87        <java classname="JSR166TestCase"
88              jvm="@{jvm}" fork="true">
89            <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
90            <jvmarg line="@{jvmflags}"/>
91            <classpath>
92              <pathelement location="${junit.jar}"/>
93              <pathelement location="@{tck.classes}"/>
94            </classpath>
95        </java>
96        </sequential>
97      </macrodef>
98    
99    <!-- Source locations -->    <!-- Source locations -->
100    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
101    <property name="test.src.dir"         location="${basedir}/src/test"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
   <property name="j1.src.dir"           location="${basedir}/src/javaone"/>  
102    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
103    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
104    <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>    <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>
   <property name="ant.src.dir"          location="${basedir}/etc/ant"/>  
   <property name="stylesheet.dir"       location="${basedir}/etc/xsl"/>  
105    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
106    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
107    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
108    <property name="jsr166xsrc.dir"       location="${basedir}/src/jsr166x"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
109    <property name="jsr166ysrc.dir"       location="${basedir}/src/jsr166y"/>    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
110      <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
111      <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
112      <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>
113      <property name="jdksrc.dir"           location="/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"/>
114    
115    <!-- Distribution locations -->    <!-- Distribution locations -->
116    <property name="dist.javadocs.dir"    location="${dist.dir}/docs"/>    <property name="dist.javadocs.dir"          location="${dist.dir}/jsr166.docs"/>
117    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>    <property name="dist.4jdk7.docs.dir"        location="${dist.dir}/jsr166-4jdk7.docs"/>
118    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>    <property name="dist.jsr166xjavadocs.dir"   location="${dist.dir}/jsr166x.docs"/>
119      <property name="dist.jsr166yjavadocs.dir"   location="${dist.dir}/jsr166y.docs"/>
120      <property name="dist.jsr166ejavadocs.dir"   location="${dist.dir}/jsr166e.docs"/>
121      <property name="dist.extra166yjavadocs.dir" location="${dist.dir}/extra166y.docs"/>
122    
123    <!-- Jar locations -->    <!-- Jar locations -->
124    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"      location="${build.dir}/jsr166.jar"/>
125    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>    <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
126    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>    <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>
127    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>    <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>
128    <property name="concurrent.jar"       location="${lib.dir}/concurrent.jar"/>    <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>
129      <property name="extra166y.jar"    location="${build.extra166y.dir}/extra166y.jar"/>
130      <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
131    
132    <!-- Bootclasspath argument -->    <!-- Bootclasspath argument -->
133    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
134    
135      <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
136      <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
137      <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
138      <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>
139    
140      <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
141      <!-- The below does not yet exist as of 2012-11 -->
142      <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
143    
144      <!-- Default jdk api doc location (latest stable release seems best) -->
145      <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
146    
147    <!-- Test classpath -->    <!-- Test classpath -->
148    <path id="test.classpath">    <path id="test.classpath">
149      <pathelement location="${build.testcases.dir}"/>      <pathelement location="${build.testcases.dir}"/>
# Line 89  Line 155 
155      <pathelement location="${build.loops.dir}"/>      <pathelement location="${build.loops.dir}"/>
156    </path>    </path>
157    
158    <!-- J1 classpath -->    <!-- Support @jls tag, used in jdk8+ javadoc -->
159    <path id="j1.classpath">    <!-- TODO: How do we get &trade to work? -->
160      <pathelement location="${build.classes.dir}"/>    <!-- TODO: Why isn't @jls a "standard" tag? -->
161      <pathelement location="${build.j1.dir}"/>    <!--   property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
162      <pathelement location="${junit.jar}"/>    <property name="javadoc.jls.cite" value="The Java Language Specification"/>
163      <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
     <!-- Include dl.u.c for BoundedBuffer comparison -->  
     <pathelement location="${concurrent.jar}"/>  
   </path>  
   
164    
165    <!-- Main targets -->    <!-- Main targets -->
166    
167      <target name="dists"
168              depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
169              description="Builds all public jars and docs"/>
170    
171    <target name="compile"    <target name="compile"
172            depends="init, configure-compiler"            depends="configure-compiler"
173            description="Compiles main sources to build folder">            description="Compiles src/main sources to build dir">
174    
175      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
176    
177      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
178            destdir="${build.classes.dir}"             destdir="${build.classes.dir}"
179              debug="${build.debug}"             debug="${build.debug}"
180         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
181        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
182             source="${build.sourcelevel}"             classpath=""
183               fork="true">             includeAntRuntime="false"
184               includeJavaRuntime="false"
185               executable="${javac8}"
186               fork="true">
187    
188        <include name="**/*.java"/>        <include name="**/*.java"/>
189        <compilerarg value="-XDignore.symbol.file"/>        <compilerarg line="${build.args}"/>
190          <compilerarg value="-XDignore.symbol.file=true"/>
191          <compilerarg value="-Xlint:all"/>
192    
193  <!--  <!--
194        <exclude name="java/lang/**"/>        <exclude name="java/lang/**"/>
# Line 136  Line 206 
206            depends="compile"            depends="compile"
207            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
208    
     <mkdir dir="${build.lib.dir}"/>  
   
209      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
210        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}"/>
211      </jar>      </jar>
# Line 147  Line 215 
215    
216    
217    <target name="test"    <target name="test"
218            depends="init, configure-tests, report-tests"            depends="configure-tests, report-tests"
219            description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />            description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />
220    
221    
222    
223    <target name="docs"    <target name="docs"
224            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs for src/main to dist dir">
   
     <delete dir="${build.javadocs.dir}"/>  
     <mkdir dir="${build.javadocs.dir}"/>  
   
     <javadoc destdir="${build.javadocs.dir}"  
                 link="http://java.sun.com/javase/6/docs/api/"  
             overview="${src.dir}/intro.html"  
             sourcepath="${src.dir}:/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"  
     >            
   
       <packageset dir="${src.dir}"/>  
   
     </javadoc>  
   
   </target>  
225    
226        <delete dir="${dist.javadocs.dir}"/>
227        <mkdir dir="${dist.javadocs.dir}"/>
228    
229        <!-- the packagenames="none" hack below prevents scanning the -->
230        <!-- sourcepath for packages -->
231    
232    <target name="doccheck"      <javadoc destdir="${dist.javadocs.dir}"
233            depends="filter-doccheck"               packagenames="none"
234            description="Reports on javadoc style errors">               link="${jdkapi8docs.url}"
235                 overview="${src.dir}/intro.html"
236      <delete dir="${build.doccheck.dir}"/>               sourcepath="${src.dir}:${jdk8src.dir}"
237      <mkdir dir="${build.doccheck.dir}"/>               classpath=""
238                 executable="${javadoc8}">
239      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"        <arg value="-XDignore.symbol.file=true"/>
240           docletpath="${lib.dir}/doccheck.jar"        <arg value="-tag"/>
241              destdir="${build.doccheck.dir}">        <arg value="${javadoc.jls.option}"/>
242        <packageset dir="${build.dc-filter.dir}"/>        <fileset dir="${src.dir}" defaultexcludes="yes">
243            <include name="**/*.java"/>
244          </fileset>
245      </javadoc>      </javadoc>
246    
     <echo>DocCheck output is in ${build.doccheck.dir}</echo>  
   
   </target>  
   
   
   
   <target name="checkstyle"  
           depends="filter-src"  
           description="Reports on style errors in Java source (verbose, mostly chaff)">  
   
     <taskdef resource="checkstyletask.properties"  
             classpath="${lib.dir}/checkstyle-all-3.1.jar"/>  
   
     <mkdir dir="${build.checkstyle.dir}"/>  
   
     <checkstyle config="etc/checkstyle/sun_checks.xml"  
        failOnViolation="false">  
       <formatter type="xml" toFile="${build.checkstyle.dir}/checkstyle-report.xml"/>  
       <fileset dir="${build.filter.src.dir}" includes="**/*.java"/>  
     </checkstyle>  
   
     <style in="${build.checkstyle.dir}/checkstyle-report.xml"  
           out="${build.checkstyle.dir}/checkstyle-report.html"  
         style="${stylesheet.dir}/checkstyle-frames.xsl"/>  
   
247    </target>    </target>
248    
249    
250    
251    <target name="dist"    <target name="dist"
252            depends="init, dist-clean, dist-jar, dist-docs"            depends="dist-clean, dist-jar, docs"
253            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
254    
255    
   
256    <target name="release"    <target name="release"
257            depends="dist"            depends="dist"
258            description="Puts entire CVS tree, plus distribution productions, in a jar">            description="Puts entire CVS tree, plus distribution productions, in a jar">
# Line 244  Line 277 
277            description="Removes all build products">            description="Removes all build products">
278    
279      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
     <delete dir="${build.classes.dir}"/>  
     <delete dir="${build.lib.dir}"/>  
280    
281    </target>    </target>
282    
# Line 260  Line 291 
291    
292    
293    
   <target name="dist-docs"  
           description="Builds javadocs without custom tags to dist folder">  
   
     <delete dir="${dist.javadocs.dir}"/>  
     <mkdir dir="${dist.javadocs.dir}"/>  
   
     <javadoc destdir="${dist.javadocs.dir}"  
             link="http://java.sun.com/javase/6/docs/api/"  
             overview="${src.dir}/intro.html"  
   
             sourcepath="${src.dir}:/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"  
      >  
 <!--  
       <packageset dir="${src.dir}" defaultexcludes="yes">  
       <include name="java/util/concurrent"/>  
       <include name="java/util/concurrent/atomic"/>  
       <include name="java/util/concurrent/locks"/>  
       </packageset>  
 -->  
       <fileset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="main/java/util/concurrent/*.java"/>  
       <include name="main/java/util/concurrent/atomic/*.java"/>  
       <include name="main/java/util/concurrent/locks/*.java"/>  
       <include name="main/java/util/*.java"/>  
 <!--  
       <include name="main/java/util/concurrent/*.html"/>  
       <include name="main/java/util/concurrent/atomic/*.html"/>  
       <include name="main/java/util/concurrent/locks/*.html"/>  
       <include name="main/java/util/*.html"/>  
 -->  
 <!--      <include name="jsr166x/*.java"/> -->  
       </fileset>  
     </javadoc>  
   
   </target>  
   
   
   
294    <!-- Internal targets -->    <!-- Internal targets -->
295    
296    
   <target name="init">  
   
     <!-- Version is kept in a separate file -->  
     <loadfile property="version" srcFile="version.properties"/>  
     <echo>Building JSR-166 version ${version}</echo>  
     <echo>java.home is ${java.home}</echo>  
   
   </target>  
   
   
297    <target name="dist-jar"    <target name="dist-jar"
298            depends="clean, jar">            depends="clean, jar">
299    
# Line 319  Line 302 
302    </target>    </target>
303    
304    
   <target name="compile-ant-filter"  
           depends="init">  
   
     <mkdir dir="${build.ant.dir}"/>  
   
     <javac srcdir="${ant.src.dir}"  
           destdir="${build.ant.dir}"  
            source="1.4"/>  
   
   </target>  
   
   
   <target name="filter-src"  
           depends="compile-ant-filter">  
   
     <mkdir dir="${build.filter.src.dir}"/>  
   
     <copy todir="${build.filter.src.dir}">  
       <fileset dir="${src.dir}">  
         <include name="**/*.html"/>  
       </fileset>  
     </copy>  
   
     <copy todir="${build.filter.src.dir}">  
       <fileset dir="${src.dir}">  
         <exclude name="**/*.html"/>  
         <!-- Files excluded from dist-docs -->  
         <exclude name="java/util/Random.*"/>  
         <exclude name="sun/misc/Unsafe.*"/>  
       </fileset>  
       <!--  
       <filterchain>  
       -->  
   
         <!--  
          # This filter gets rid of angle-bracketed type parameters  
          # so that javadoc can run on the result. The following  
          # heuristic seems to work:  
          #  
          # For all lines not starting with space(s)-asterisk-space(s),  
          #   replace <something> with a space, where there may be more  
          #   than one right angle bracket at the end, and "something"  
          #   must not contain parens or pipes. (This may need some  
          #   tweaking.)  
          -->  
   
         <!--  
         <filterreader classname="jsr166.ant.filters.ReplaceFilter"  
                       classpath="${build.ant.dir}">  
           <param name="notmatching" value="^\s+\*\s.*$"/>  
           <param name="pattern"     value="&lt;[^|>()]+?>+"/>  
           <param name="replacement" value=" "/>  
         </filterreader>  
         -->  
   
       <!--  
       </filterchain>  
       -->  
     </copy>  
   
   </target>  
   
   
   <target name="filter-doccheck"  
           depends="filter-src">  
   
     <mkdir dir="${build.dc-filter.dir}"/>  
   
     <copy todir="${build.dc-filter.dir}">  
       <fileset dir="${build.filter.src.dir}">  
         <include name="**/*.html"/>  
       </fileset>  
     </copy>  
   
     <property name="generic.declarations"  
              value="/** Fake type parameter. */ public interface E {} /** Fake type parameter. */ public interface T {} /** Fake type parameter. */ public interface K {} /** Fake type parameter. */ public interface V {}"  
     />  
   
     <copy todir="${build.dc-filter.dir}">  
       <fileset dir="${build.filter.src.dir}">  
         <exclude name="**/*.html"/>  
       </fileset>  
       <filterchain>  
         <!--  
          # These two filters try to make the source look like  
          # something that doccheck can process. The first removes  
          # -source 1.4 assertions and the second adds in a bunch  
          # of single letter public nested marker interfaces so that  
          # the generic type parameters are recognized.  
          -->  
   
         <filterreader classname="jsr166.ant.filters.ReplaceFilter"  
                       classpath="${build.ant.dir}">  
           <param name="matching"    value="^\s*assert[\s ].*$"/>  
           <param name="pattern"     value="assert"/>  
           <param name="replacement" value="//assert"/>  
         </filterreader>  
   
         <filterreader classname="jsr166.ant.filters.ReplaceFilter"  
                       classpath="${build.ant.dir}">  
           <param name="matching"    value="^([^*]*(class|interface|implements) .*|)\{.*$"/>  
           <param name="pattern"     value="$"/>  
           <param name="replacement" value=" ${generic.declarations}"/>  
         </filterreader>  
   
       </filterchain>  
     </copy>  
   
   </target>  
   
   
305    <target name="compile-tests"    <target name="compile-tests"
306            depends="jar">            depends="jar">
307    
# Line 445  Line 317 
317    
318        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
319        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
320          <compilerarg value="-XDignore.symbol.file=true"/>
321    
322        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
323    
# Line 462  Line 335 
335    
336        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
337        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
338          <compilerarg value="-XDignore.symbol.file=true"/>
339    
340        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
341    
# Line 478  Line 352 
352    
353        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
354        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
355          <compilerarg value="-XDignore.symbol.file=true"/>
356    
357        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
358    
# Line 550  Line 425 
425        <fileset dir="${build.reports.dir}">        <fileset dir="${build.reports.dir}">
426          <include name="TEST-*.xml"/>          <include name="TEST-*.xml"/>
427        </fileset>        </fileset>
428        <report styledir="${stylesheet.dir}"        <report format="${junit.report.format}" todir="${build.reports.dir}"
                 format="${junit.report.format}"  
                  todir="${build.reports.dir}"  
429        />        />
430      </junitreport>      </junitreport>
431    
# Line 602  Line 475 
475    </target>    </target>
476    
477    
   
   <!-- Anthill targets -->  
   
   <target name="anthill-build">  
   
     <!-- Override this in user.properties -->  
     <property name="tiger.home" location="e:/j2sdk1.5.0"/>  
   
     <exec resultproperty="result.property" dir="${basedir}" executable="${tiger.home}/bin/java">  
       <arg value="-Xmx256000000"/>  
       <!-- classpath of new JVM -->  
       <arg value="-classpath"/> <arg path="${java.class.path}"/>  
       <!-- location of Ant home directory -->  
       <arg value="-Dant.home=${ant.home}"/>  
       <!-- the Ant main class -->  
       <arg value="org.apache.tools.ant.Main"/>  
       <!-- The build file -->  
       <arg value="-buildfile"/>  <arg value="build.xml"/>  
       <!-- the target to build on the new Ant instance -->  
       <arg value="-DJAVA_HOME=${tiger.home}"/>  
       <arg value="do-anthill-build"/>  
     </exec>  
   </target>  
   
   <target name="do-anthill-build"  
           depends="jar, test, docs, dist-docs"/>  
   
   <target name="anthill-publish">  
   
     <copy todir="${deployDir}/docs/private">  
       <fileset dir="${build.javadocs.dir}"/>  
     </copy>  
   
     <copy todir="${deployDir}/docs/public">  
       <fileset dir="${dist.javadocs.dir}"/>  
     </copy>  
   
     <copy tofile="${deployDir}/index.html"  
           file="${basedir}/etc/anthill-index.html"/>  
   
     <copy todir="${deployDir}/notes">  
       <fileset dir="${basedir}/etc/notes"/>  
     </copy>  
   
   </target>  
   
   
   
478    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
479    
480    
481    <target name="sample" depends="init, configure-compiler"    <target name="loops" depends="configure-compiler"
           description="Standalone demo program">  
   
     <mkdir dir="${build.testcases.dir}"/>  
   
     <javac srcdir="${test.src.dir}"  
           destdir="${build.testcases.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
   
       <include name="jsr166/test/Sample.java"/>  
   
     </javac>  
   
     <copy todir="${build.testcases.dir}">  
       <fileset dir="${test.src.dir}">  
         <include name="**/*.properties"/>  
       </fileset>  
     </copy>  
   
   
     <java classname="jsr166.test.Sample" fork="true">  
       <classpath refid="test.classpath"/>  
       <!-- <jvmarg value="-ea"/> -->  
       <!-- <jvmarg value="-server"/> -->  
       <!-- <arg value="1000"/> -->  
     </java>  
   </target>  
   
   
   <target name="loops" depends="init, configure-compiler"  
482            description="Benchmark from Doug Lea's AQS paper">            description="Benchmark from Doug Lea's AQS paper">
483    
484      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
# Line 701  Line 493 
493    
494        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
495        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
496          <compilerarg value="-XDignore.symbol.file=true"/>
497    
498      </javac>      </javac>
499    
# Line 711  Line 504 
504    </target>    </target>
505    
506    
507    <target name="compile-j1" depends="init, configure-compiler, compile">    <!-- jsr166 4jdk7 -->
508    
     <mkdir dir="${build.j1.dir}"/>  
509    
510      <javac srcdir="${j1.src.dir}"    <target name="4jdk7compile"
511            destdir="${build.j1.dir}"            depends="configure-compiler"
512              debug="${build.debug}"            description="Compiles src/jdk7 sources, targeting jdk7">
513         debuglevel="${build.debuglevel}"  
514        deprecation="${build.deprecation}"      <mkdir dir="${build.4jdk7.classes.dir}"/>
515             source="${build.sourcelevel}" >  
516        <javac srcdir="${4jdk7src.dir}"
517               destdir="${build.4jdk7.classes.dir}"
518               debug="${build.debug}"
519               debuglevel="${build.debuglevel}"
520               deprecation="${build.deprecation}"
521               source="6"
522               classpath=""
523               bootclasspath="${bootclasspath6}"
524               includeAntRuntime="false"
525               includeJavaRuntime="false"
526               executable="${javac7}"
527               fork="true">
528    
529        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/dijkstra/**"/>  
   
530        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
531        <classpath refid="j1.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
532          <compilerarg value="-Xlint:all"/>
533    
534      </javac>      </javac>
535    
536    </target>      <jar destfile="${4jdk7product.jar}" index="true">
537          <fileset dir="${build.4jdk7.classes.dir}"/>
538        </jar>
539    
540    <target name="sw" depends="compile-j1"      <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
           description="Runs the SwingWorker demo">  
541    
542      <!--      <javac srcdir="${tck.src.dir}"
543      <java classname="jsr166.swing.SwingWorkerDemo" fork="true">             destdir="${build.4jdk7.tck.classes.dir}"
544        <classpath refid="j1.classpath"/>             debug="${build.debug}"
545      </java>             debuglevel="${build.debuglevel}"
546      -->             deprecation="${build.deprecation}"
547               source="6"
548               classpath="${junit.jar}"
549               bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
550               includeAntRuntime="false"
551               includeJavaRuntime="false"
552               executable="${javac7}"
553               fork="true">
554    
555      <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>        <include name="**/*.java"/>
556          <compilerarg line="${build.args}"/>
557          <compilerarg value="-XDignore.symbol.file=true"/>
558          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
559    
560      <exec dir="${build.j1.dir}" executable="appletviewer.exe">      </javac>
       <arg value="${build.j1.dir}/SwingWorker.html"/>  
     </exec>  
561    
562    </target>    </target>
563    
   <target name="j1" depends="compile-j1"  
           description="Runs a standalone JavaOne program">  
564    
565      <java classname="${j1.test}" fork="true">    <target name="4jdk7-test-tck"
566        <classpath refid="j1.classpath"/>            depends="4jdk7compile"
567        <jvmarg value="-client"/>            description="Runs tck tests for jsr166-4jdk7 directly">
568        <run-tck-tests
569          jvm="${java7}"
570          tck.classes="${build.4jdk7.tck.classes.dir}"
571          product.jar="${4jdk7product.jar}"/>
572      </target>
573    
       <!-- TestPseudoRandom args -->  
       <arg value="2"/>  
       <arg value="25"/>  
       <arg value="100000"/>  
574    
575        <!-- WebCrawler args -->    <target name="4jdk7-test-tck-junit"
576        <!--            depends="4jdk7compile"
577        <arg value="jsr166.webcrawler.WebCrawler3"/>            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
       <arg value="http://www.priorartisans.com"/>  
       <arg value="25"/>  
       -->  
578    
579      </java>      <junit printsummary="true"
580               showoutput="true"
581               errorProperty="junit.failed"
582               failureProperty="junit.failed"
583               includeantruntime="true"
584               jvm="${java7}"
585               fork="true">
586    
587    </target>        <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
588          <jvmarg value="-server"/>
589    
590          <classpath>
591            <pathelement location="${junit.jar}"/>
592            <pathelement location="${build.4jdk7.tck.classes.dir}"/>
593          </classpath>
594    
595    <target name="test-j1" depends="compile-j1"        <formatter type="brief"/>
           description="Runs testcases from the JavaOne source directories">  
596    
597      <junit printsummary="true"        <test name="JSR166TestCase" haltonfailure="no">
598               showoutput="true"        </test>
           errorProperty="junit.failed"  
         failureProperty="junit.failed"  
                     dir="${build.j1.dir}"  
                    fork="true">  
599    
600        <!-- <jvmarg value="-server"/> -->      </junit>
601        <classpath refid="j1.classpath"/>    </target>
       <formatter type="xml"/>  
602    
       <batchtest todir="${build.j1.dir}">  
         <fileset dir="${j1.src.dir}">  
           <include name="**/*Test.java"/>  
         </fileset>  
       </batchtest>  
603    
604      </junit>    <target name="4jdk7docs"
605              description="Builds javadocs for src/jdk7 to dist dir">
606    
607      <available property="junit.report.format"      <delete dir="${dist.4jdk7.docs.dir}"/>
608                    value="frames"      <mkdir dir="${dist.4jdk7.docs.dir}"/>
               classname="org.apache.xalan.lib.Redirect"/>  
     <property name="junit.report.format" value="noframes"/>  
609    
610      <junitreport todir="${build.j1.dir}">      <javadoc destdir="${dist.4jdk7.docs.dir}"
611        <fileset dir="${build.j1.dir}">               packagenames="none"
612          <include name="TEST-*.xml"/>               link="${jdkapi7docs.url}"
613                 overview="${4jdk7src.dir}/intro.html"
614                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
615                 classpath=""
616                 executable="${javadoc7}">
617          <arg value="-XDignore.symbol.file=true"/>
618          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
619            <include name="**/*.java"/>
620        </fileset>        </fileset>
621        <report styledir="${stylesheet.dir}"      </javadoc>
                 format="${junit.report.format}"  
                  todir="${build.j1.dir}"  
       />  
     </junitreport>  
   
     <fail message="Test Cases Failed" if="junit.failed"/>  
622    
623    </target>    </target>
624    
625    
626      <target name="4jdk7dist"
627              depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
628              description="Puts all distributable products in single hierarchy"/>
629    
   <!-- C++ and JNI definitions and demos -->  
   
   <target name="configure-cpp">  
   
     <!-- Define tasks and types -->  
630    
     <path id="cpptasks.path">  
       <pathelement location="${lib.dir}/cpptasks.jar"/>  
     </path>  
     <taskdef resource="cpptasks.tasks" classpathref="cpptasks.path"/>  
     <typedef resource="cpptasks.types" classpathref="cpptasks.path"/>  
631    
632      <!-- Set platform property for JNI includes -->    <target name="4jdk7clean"
633              description="Removes all 4jdk7 build products">
634    
635      <condition property="platform" value="linux">      <delete dir="${build.4jdk7.dir}"/>
       <os name="Linux"/>  
     </condition>  
     <condition property="platform" value="win32">  
       <os family="windows"/>  
     </condition>  
     <condition property="platform" value="solaris">  
       <os name="SunOS"/>  
     </condition>  
636    
637    </target>    </target>
638    
639    
   <target name="cppdemo" depends="configure-cpp">  
640    
641      <mkdir dir="${build.dir}"/>    <target name="4jdk7dist-clean"
642              description="Removes all build and distribution products">
643    
644      </target>
645    
646      <cc multithreaded="true"    <target name="4jdk7dist-jar"
647                   name="g++"            depends="4jdk7clean, 4jdk7compile">
                objdir="${build.dir}"  
               outfile="${build.dir}/CppDemo">  
       <fileset dir="${test.src.dir}" includes="CppDemo.cpp"/>  
       <libset libs="stdc++"/>  
     </cc>  
648    
649      <exec executable="${build.dir}/CppDemo">      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
       <arg line="count in word frequency of word in command line count"/>  
     </exec>  
650    
651    </target>    </target>
652    
653    
654    <target name="jnidemo" depends="init, configure-compiler, configure-cpp">    <!-- jsr166x -->
655    
656      <mkdir dir="${build.testcases.dir}"/>    <target name="jsr166xcompile"
657              depends="configure-compiler"
658              description="Compiles jsr166x sources to build dir">
659    
660      <javac srcdir="${test.src.dir}"      <mkdir dir="${build.jsr166x.dir}"/>
661            destdir="${build.testcases.dir}"  
662              debug="${build.debug}"      <javac srcdir="${topsrc.dir}"
663         debuglevel="${build.debuglevel}"             destdir="${build.jsr166x.dir}"
664        deprecation="${build.deprecation}"             debug="${build.debug}"
665             source="${build.sourcelevel}"             debuglevel="${build.debuglevel}"
666               fork="true">             deprecation="${build.deprecation}"
667        <compilerarg value="${bootclasspath.args}"/>             classpath=""
668               source="5"
669               bootclasspath="${bootclasspath6}"
670               includeAntRuntime="false"
671               includeJavaRuntime="false"
672               executable="${javac7}"
673               fork="true">
674    
675          <include name="jsr166x/**/*.java"/>
676        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
677        <classpath refid="test.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
678        <include name="JniDemo.java"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
     </javac>  
679    
680      <javah destdir="${build.testcases.dir}"      </javac>
       classpathref="test.classpath">  
       <class name="JniDemo"/>  
     </javah>  
   
     <cc multithreaded="true"  
                  name="g++"  
                objdir="${build.dir}"  
               outfile="${build.dir}/JniDemo"  
               outtype="shared">  
   
       <compiler>  
         <defineset>  
           <define name="__int64" value="long long"/>  
         </defineset>  
         <includepath location="${java.home}/../include"/>  
         <includepath location="${java.home}/../include/${platform}"/>  
         <compilerarg value="-mno-cygwin"/>  
       </compiler>  
   
       <linker>  
         <linkerarg value="--add-stdcall-alias"/>  
       </linker>  
   
       <includepath location="${build.testcases.dir}"/>  
   
       <fileset dir="${test.src.dir}" includes="JniDemo.cpp"/>  
   
       <libset libs="stdc++"/>  
   
     </cc>  
   
     <!-- Necessary if windows, harmless if not -->  
     <copy file="${build.dir}/libJniDemo.so" tofile="${build.dir}/JniDemo.dll"/>  
   
     <java classname="JniDemo" fork="true">  
       <!-- Watch out: path separator hardwired to semicolon here! -->  
       <sysproperty key="java.library.path" path="${java.library.path};${build.dir}"/>  
       <classpath refid="test.classpath"/>  
       <arg line="count in word frequency of word in command line count"/>  
     </java>  
681    
682    </target>    </target>
683    
684    
685    
686    <!-- Backward compatibility, work in progress (some files not checked in) -->    <target name="jsr166xjar"
687              depends="jsr166xcompile"
688              description="Builds library jar from compiled sources">
689    
690        <jar destfile="${jsr166x.jar}">
691          <fileset dir="${build.jsr166x.dir}"/>
692        </jar>
693    
694      </target>
695    
696    
   <property name="pretiger.src.dir"     location="${build.dir}/pretiger/src"/>  
   <property name="build.pretiger.dir"   location="${build.dir}/pretiger/classes"/>  
   <property name="pretiger.jar"         location="${build.lib.dir}/jsr166-pretiger.jar"/>  
   <property name="pretiger.sourcelevel" value="1.4"/>  
697    
698    <target name="defang"    <target name="jsr166xdocs"
699         depends="init"            description="Builds javadocs to dist dir">
    description="Generates pre-Tiger compatible source">  
700    
701      <delete dir="${pretiger.src.dir}"/>      <delete dir="${dist.jsr166xjavadocs.dir}"/>
702      <mkdir dir="${pretiger.src.dir}"/>      <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
703    
704      <exec executable="perl">      <javadoc destdir="${dist.jsr166xjavadocs.dir}"
705        <arg file="etc/defang.pl"/>               packagenames="jsr166x.*"
706        <!-- <arg value="-v"/> -->               link="${jdkapidocs.url}"
707        <arg value="-s"/> <arg file="${src.dir}"/>               source="5"
708        <arg value="-t"/> <arg file="${pretiger.src.dir}"/>               bootclasspath="${bootclasspath6}"
709      </exec>               sourcepath="${topsrc.dir}:${jdk6src.dir}"
710                 executable="${javadoc7}"
711                 additionalparam="-XDignore.symbol.file=true" />
712    
713    </target>    </target>
714    
   <target name="compile-pretiger"  
           depends="init, configure-compiler, defang"  
           description="Compiles pre-Tiger sources to build folder">  
715    
716      <mkdir dir="${build.pretiger.dir}"/>    <target name="jsr166xdist"
717              depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdocs"
718              description="Puts all distributable products in single hierarchy"/>
719    
     <javac srcdir="${pretiger.src.dir}"  
           destdir="${build.pretiger.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${pretiger.sourcelevel}"  
              fork="true">  
720    
       <compilerarg line="${build.args}"/>  
       <exclude name="**/Thread.java"/>  
721    
722      </javac>    <target name="jsr166xclean"
723              description="Removes all jsr166x build products">
724    
725        <delete dir="${build.jsr166x.dir}"/>
726    
727    </target>    </target>
728    
   <target name="pretiger" depends="compile-pretiger">  
729    
     <mkdir dir="${build.lib.dir}"/>  
730    
731      <jar destfile="${pretiger.jar}">    <target name="jsr166xdist-clean"
732        <fileset dir="${build.pretiger.dir}">            description="Removes all build and distribution products">
       </fileset>  
     </jar>  
733    
734    </target>    </target>
735    
   <!-- jsr166x -->  
736    
737      <target name="jsr166xdist-jar"
738              depends="jsr166xclean, jsr166xjar">
739    
740    <target name="jsr166xcompile"      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
           depends="init, configure-compiler"  
           description="Compiles jsr166x sources">  
741    
742      <mkdir dir="${build.jsr166x.dir}"/>    </target>
743    
744      <javac srcdir="${jsr166xsrc.dir}"    <!-- jsr166y -->
           destdir="${build.jsr166x.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
745    
       <include name="**/*.java"/>  
       <compilerarg line="${build.args}"/>  
746    
747      <target name="jsr166ycompile"
748              depends="configure-compiler"
749              description="Compiles jsr166y sources">
750    
751        <mkdir dir="${build.jsr166y.dir}"/>
752    
753        <javac srcdir="${topsrc.dir}"
754               destdir="${build.jsr166y.dir}"
755               debug="${build.debug}"
756               debuglevel="${build.debuglevel}"
757               deprecation="${build.deprecation}"
758               source="6"
759               classpath=""
760               bootclasspath="${bootclasspath6}"
761               includeAntRuntime="false"
762               includeJavaRuntime="false"
763               executable="${javac7}"
764               fork="true">
765    
766          <include name="jsr166y/**/*.java"/>
767          <compilerarg line="${build.args}"/>
768          <compilerarg value="-XDignore.symbol.file=true"/>
769          <compilerarg value="-Xlint:all"/>
770      </javac>      </javac>
771      </target>
772    
773    
774      <target name="jsr166yjar"
775              depends="jsr166ycompile"
776              description="Builds library jar from compiled sources">
777    
778        <jar destfile="${jsr166y.jar}" index="true">
779          <fileset dir="${build.jsr166y.dir}"/>
780        </jar>
781    
782    </target>    </target>
783    
784    
785    
786    <target name="jsr166xjar"    <target name="jsr166ydocs"
787            depends="jsr166xcompile"            description="Builds javadocs to dist dir">
           description="Builds library jar from compiled sources">  
788    
789      <mkdir dir="${build.jsr166xlib.dir}"/>      <delete dir="${dist.jsr166yjavadocs.dir}"/>
790        <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
791    
792      <jar destfile="${jsr166xproduct.jar}">      <javadoc destdir="${dist.jsr166yjavadocs.dir}"
793        <fileset dir="${build.jsr166x.dir}"/>               packagenames="jsr166y.*"
794      </jar>               link="${jdkapidocs.url}"
795                 source="6"
796                 bootclasspath="${bootclasspath6}"
797                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
798                 executable="${javadoc7}"
799                 additionalparam="-XDignore.symbol.file=true" />
800    
801    </target>    </target>
802    
803    
804      <target name="jsr166ydist"
805              depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydocs"
806              description="Puts all distributable products in single hierarchy"/>
807    
   <target name="jsr166xdocs"  
           description="Builds javadocs with custom tags to build folder">  
808    
     <delete dir="${build.jsr166xjavadocs.dir}"/>  
     <mkdir dir="${build.jsr166xjavadocs.dir}"/>  
809    
810      <javadoc destdir="${build.jsr166xjavadocs.dir}"    <target name="jsr166yclean"
811               link="http://java.sun.com/javase/6/docs/api/"            description="Removes all jsr166y build products">
812    
813              sourcepath="${jsr166xsrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"      <delete dir="${build.jsr166y.dir}"/>
814    
815      >    </target>
       <packageset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="jsr166x"/>  
       </packageset>  
816    
817    
818      </javadoc>  
819      <target name="jsr166ydist-clean"
820              description="Removes all build and distribution products">
821    
822    </target>    </target>
823    
824      <target name="jsr166ydist-jar"
825              depends="jsr166yclean, jsr166yjar">
826    
827    <target name="jsr166xdist"      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
           depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"  
           description="Puts all distributable products in single hierarchy"/>  
828    
829      </target>
830    
831    
832    <target name="jsr166xclean"    <!-- extra166y -->
           description="Removes all build products">  
833    
834      <delete dir="${build.jsr166x.dir}"/>  
835      <delete dir="${build.jsr166xlib.dir}"/>    <target name="extra166ycompile"
836              depends="configure-compiler, jsr166yjar"
837              description="Compiles extra166y sources">
838    
839        <mkdir dir="${build.extra166y.dir}"/>
840    
841        <javac srcdir="${topsrc.dir}"
842               destdir="${build.extra166y.dir}"
843               debug="${build.debug}"
844               debuglevel="${build.debuglevel}"
845               deprecation="${build.deprecation}"
846               classpath=""
847               source="6"
848               bootclasspath="${jsr166y.jar}:${bootclasspath6}"
849               includeAntRuntime="false"
850               includeJavaRuntime="false"
851               executable="${javac7}"
852               fork="true">
853    
854          <include name="extra166y/**/*.java"/>
855          <compilerarg line="${build.args}"/>
856          <compilerarg value="-XDignore.symbol.file=true"/>
857          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
858    
859        </javac>
860    
861    </target>    </target>
862    
863    
864    
865    <target name="jsr166xdist-clean"    <target name="extra166yjar"
866            description="Removes all build and distribution products">            depends="extra166ycompile"
867              description="Builds library jar from compiled sources">
868    
869        <jar destfile="${extra166y.jar}" index="true">
870          <fileset dir="${build.extra166y.dir}"/>
871        </jar>
872    
873    </target>    </target>
874    
875    
876    
877    <target name="jsr166xdist-docs"    <target name="extra166ydocs"
878            description="Builds javadocs without custom tags to dist folder">            description="Builds javadocs to build dir">
879    
880      <delete dir="${dist.jsr166xjavadocs.dir}"/>      <delete dir="${dist.extra166yjavadocs.dir}"/>
881      <mkdir dir="${dist.jsr166xjavadocs.dir}"/>      <mkdir dir="${dist.extra166yjavadocs.dir}"/>
882    
883      <javadoc destdir="${dist.jsr166xjavadocs.dir}"      <javadoc destdir="${dist.extra166yjavadocs.dir}"
884                  link="http://java.sun.com/javase/6/docs/api/"               packagenames="extra166y.*"
885                source="${build.sourcelevel}">               link="${jdkapidocs.url}"
886                 source="6"
887                 bootclasspath="${bootclasspath6}"
888                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
889                 executable="${javadoc7}"
890                 additionalparam="-XDignore.symbol.file=true" />
891    
892        <packageset dir="${topsrc.dir}" defaultexcludes="yes">    </target>
893        <include name="jsr166x"/>  
894        </packageset>  
895      <target name="extra166ydist"
896              depends="extra166ydist-clean, extra166ydist-jar, extra166ydocs"
897              description="Puts all distributable products in single hierarchy"/>
898    
899      </javadoc>  
900    
901      <target name="extra166yclean"
902              description="Removes all extra166y build products">
903    
904        <delete dir="${build.extra166y.dir}"/>
905    
906    </target>    </target>
907    
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
908    
909      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>  
910      <target name="extra166ydist-clean"
911              description="Removes all build and distribution products">
912    
913    </target>    </target>
914    
915    <!-- jsr166y -->    <target name="extra166ydist-jar"
916              depends="extra166yclean, extra166yjar">
917    
918        <copy file="${extra166y.jar}" todir="${dist.dir}"/>
919    
920    <target name="jsr166ycompile"    </target>
           depends="init, configure-compiler"  
           description="Compiles jsr166y sources">  
921    
922      <mkdir dir="${build.jsr166y.dir}"/>    <!-- jsr166e -->
923    
924      <javac srcdir="${jsr166ysrc.dir}"    <target name="jsr166ecompile"
925            destdir="${build.jsr166y.dir}"            depends="configure-compiler"
926              debug="${build.debug}"            description="Compiles jsr166e sources">
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
927    
928        <include name="**/*.java"/>      <mkdir dir="${build.jsr166e.dir}"/>
929        <compilerarg line="${build.args}"/>  
930        <compilerarg value="${bootclasspath.args}"/>      <javac srcdir="${topsrc.dir}"
931               destdir="${build.jsr166e.dir}"
932               debug="${build.debug}"
933               debuglevel="${build.debuglevel}"
934               deprecation="${build.deprecation}"
935               source="7"
936               classpath=""
937               includeAntRuntime="false"
938               includeJavaRuntime="false"
939               executable="${javac7}"
940               fork="true">
941    
942  <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->        <include name="jsr166e/**/*.java"/>
943          <compilerarg line="${build.args}"/>
944          <compilerarg value="-XDignore.symbol.file=true"/>
945          <compilerarg value="-Xlint:all"/>
946    
947      </javac>      </javac>
948    
# Line 1122  Line 950 
950    
951    
952    
953    <target name="jsr166yjar"    <target name="jsr166ejar"
954            depends="jsr166ycompile"            depends="jsr166ecompile"
955            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
956    
957      <mkdir dir="${build.jsr166ylib.dir}"/>      <jar destfile="${jsr166e.jar}" index="true">
958          <fileset dir="${build.jsr166e.dir}"/>
     <jar destfile="${jsr166yproduct.jar}">  
       <fileset dir="${build.jsr166y.dir}"/>  
959      </jar>      </jar>
960    
961    </target>    </target>
962    
963    
964    
965    <target name="jsr166ydocs"    <target name="jsr166edocs"
966            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs to build dir">
   
     <delete dir="${build.jsr166yjavadocs.dir}"/>  
     <mkdir dir="${build.jsr166yjavadocs.dir}"/>  
   
     <javadoc destdir="${build.jsr166yjavadocs.dir}"  
                 link="http://java.sun.com/javase/6/docs/api/"  
             sourcepath="${jsr166ysrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"  
   
     >  
       <packageset dir="${topsrc.dir}" defaultexcludes="no">  
       <include name="jsr166y"/>  
       </packageset>  
967    
968        <delete dir="${dist.jsr166ejavadocs.dir}"/>
969        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
970    
971        <javadoc destdir="${dist.jsr166ejavadocs.dir}"
972                 packagenames="jsr166e.*"
973                 link="${jdkapidocs.url}"
974                 source="7"
975                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
976                 executable="${javadoc7}"
977                 additionalparam="-XDignore.symbol.file=true" >
978      </javadoc>      </javadoc>
979    
980    </target>    </target>
981    
982    
983    <target name="jsr166ydist"    <target name="jsr166edist"
984            depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"            depends="jsr166edist-clean, jsr166edist-jar, jsr166edocs"
985            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
986    
987    
988    
989    <target name="jsr166yclean"    <target name="jsr166eclean"
990            description="Removes all build products">            description="Removes all jsr166e build products">
991    
992      <delete dir="${build.jsr166y.dir}"/>      <delete dir="${build.jsr166e.dir}"/>
     <delete dir="${build.jsr166ylib.dir}"/>  
993    
994    </target>    </target>
995    
996    
997      <target name="jsr166edist-clean"
   <target name="jsr166ydist-clean"  
998            description="Removes all build and distribution products">            description="Removes all build and distribution products">
999    
1000    </target>    </target>
1001    
1002    <target name="jsr166ydist-docs"    <target name="jsr166edist-jar"
1003            description="Builds javadocs without custom tags to dist folder">            depends="jsr166eclean, jsr166ejar">
   
     <delete dir="${dist.jsr166yjavadocs.dir}"/>  
     <mkdir dir="${dist.jsr166yjavadocs.dir}"/>  
   
     <javadoc destdir="${dist.jsr166yjavadocs.dir}"  
                 link="http://java.sun.com/javase/6/docs/api/"  
               source="${build.sourcelevel}">  
       <fileset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="jsr166y/*.java"/>  
       <include name="jsr166y/forkjoin/*.java"/>  
             </fileset>  
     </javadoc>  
   
   </target>  
   
   <target name="jsr166ydist-jar"  
           depends="jsr166yclean, jsr166yjar">  
1004    
1005      <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1006    
1007    </target>    </target>
1008    

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

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