/[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.107 by jsr166, Sat Jan 19 23:40:04 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.lib.dir"               location="${build.dir}/lib"/>
49    <property name="build.lib.dir"        location="${build.dir}/lib"/>    <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>
50    <property name="build.ant.dir"        location="${build.dir}/ant"/>    <property name="build.reports.dir"           location="${build.dir}/reports"/>
51    <property name="build.javadocs.dir"   location="${build.dir}/javadocs"/>  
52    <property name="build.reports.dir"    location="${build.dir}/reports"/>    <property name="build.4jdk7.dir"              location="${build.dir}/4jdk7"/>
53    <property name="build.checkstyle.dir" location="${build.dir}/checkstyle"/>    <property name="build.4jdk7.lib.dir"          location="${build.4jdk7.dir}"/>
54    <property name="build.doccheck.dir"   location="${build.dir}/doccheck"/>    <property name="build.4jdk7.classes.dir"      location="${build.4jdk7.dir}/classes"/>
55    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>    <property name="build.4jdk7.tck.classes.dir"  location="${build.4jdk7.dir}/tck/classes"/>
56    <property name="build.dc-filter.dir"  location="${build.dir}/filterdocchk"/>    <property name="build.4jdk7.docs.dir"         location="${build.4jdk7.dir}/docs"/>
57    <property name="build.jsr166x.dir"    location="${build.dir}/jsr166x"/>  
58      <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
59    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>
60    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>
61    
62    <property name="build.jsr166y.dir"    location="${build.dir}/jsr166y"/>    <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>
63    <property name="build.jsr166ylib.dir"        location="${build.dir}/jsr166ylib"/>    <property name="build.jsr166ylib.dir"        location="${build.dir}/jsr166ylib"/>
64    <property name="build.jsr166yjavadocs.dir"   location="${build.dir}/jsr166yjavadocs"/>    <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"/>
115    <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"/>  
116    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
117    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
118    <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"/>  
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"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
122    <property name="jsr166xsrc.dir"       location="${basedir}/src/jsr166x"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
123    <property name="jsr166ysrc.dir"       location="${basedir}/src/jsr166y"/>    <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.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>    <property name="dist.4jdk7.docs.dir"        location="${dist.dir}/jsr166-4jdk7docs"/>
132    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>    <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="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>    <property name="4jdk7product.jar" location="${build.4jdk7.lib.dir}/jsr166-4jdk7.jar"/>
140    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>    <property name="jsr166x.jar"      location="${build.jsr166xlib.dir}/jsr166x.jar"/>
141    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>    <property name="jsr166y.jar"      location="${build.jsr166ylib.dir}/jsr166y.jar"/>
142    <property name="concurrent.jar"       location="${lib.dir}/concurrent.jar"/>    <property name="jsr166e.jar"      location="${build.jsr166elib.dir}/jsr166e.jar"/>
143      <property name="extra166y.jar"    location="${build.extra166ylib.dir}/extra166y.jar"/>
144      <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
145    
146    <!-- Bootclasspath argument -->    <!-- Bootclasspath argument -->
147    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
148    
149      <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
150      <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    
158      <!-- Default jdk api doc location (latest stable release seems best) -->
159      <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
160    
161    <!-- Test classpath -->    <!-- Test classpath -->
162    <path id="test.classpath">    <path id="test.classpath">
163      <pathelement location="${build.testcases.dir}"/>      <pathelement location="${build.testcases.dir}"/>
# Line 89  Line 169 
169      <pathelement location="${build.loops.dir}"/>      <pathelement location="${build.loops.dir}"/>
170    </path>    </path>
171    
172    <!-- J1 classpath -->    <!-- Support @jls tag, used in jdk8+ javadoc -->
173    <path id="j1.classpath">    <!-- TODO: How do we get &trade to work? -->
174      <pathelement location="${build.classes.dir}"/>    <!-- TODO: Why isn't @jls a "standard" tag? -->
175      <pathelement location="${build.j1.dir}"/>    <!--   property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
176      <pathelement location="${junit.jar}"/>    <property name="javadoc.jls.cite" value="The Java Language Specification"/>
177      <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>  
   
178    
179    <!-- Main targets -->    <!-- Main targets -->
180    
181      <target name="dists"
182              depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
183              description="Builds all public jars and docs"/>
184    
185    <target name="compile"    <target name="compile"
186            depends="init, configure-compiler"            depends="configure-compiler"
187            description="Compiles main sources to build folder">            description="Compiles src/main sources to build dir">
188    
189      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
190    
191      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
192            destdir="${build.classes.dir}"             destdir="${build.classes.dir}"
193              debug="${build.debug}"             debug="${build.debug}"
194         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
195        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
196             source="${build.sourcelevel}"             classpath=""
197               fork="true">             includeAntRuntime="false"
198               includeJavaRuntime="false"
199               executable="${javac8}"
200               fork="true">
201    
202        <include name="**/*.java"/>        <include name="**/*.java"/>
203        <compilerarg value="-XDignore.symbol.file"/>        <compilerarg line="${build.args}"/>
204          <compilerarg value="-XDignore.symbol.file=true"/>
205          <compilerarg value="-Xlint:all"/>
206    
207  <!--  <!--
208        <exclude name="java/lang/**"/>        <exclude name="java/lang/**"/>
# Line 147  Line 231 
231    
232    
233    <target name="test"    <target name="test"
234            depends="init, configure-tests, report-tests"            depends="configure-tests, report-tests"
235            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)" />
236    
237    
238    
239    <target name="docs"    <target name="docs"
240            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>  
241    
242        <delete dir="${dist.javadocs.dir}"/>
243        <mkdir dir="${dist.javadocs.dir}"/>
244    
245        <!-- the packagenames="none" hack below prevents scanning the -->
246        <!-- sourcepath for packages -->
247    
248    <target name="doccheck"      <javadoc destdir="${dist.javadocs.dir}"
249            depends="filter-doccheck"               packagenames="none"
250            description="Reports on javadoc style errors">               link="${jdkapi8docs.url}"
251                 overview="${src.dir}/intro.html"
252      <delete dir="${build.doccheck.dir}"/>               sourcepath="${src.dir}:${jdk8src.dir}"
253      <mkdir dir="${build.doccheck.dir}"/>               classpath=""
254                 executable="${javadoc8}">
255      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"        <arg value="-XDignore.symbol.file=true"/>
256           docletpath="${lib.dir}/doccheck.jar"        <arg value="-tag"/>
257              destdir="${build.doccheck.dir}">        <arg value="${javadoc.jls.option}"/>
258        <packageset dir="${build.dc-filter.dir}"/>        <fileset dir="${src.dir}" defaultexcludes="yes">
259            <include name="**/*.java"/>
260          </fileset>
261      </javadoc>      </javadoc>
262    
     <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"/>  
   
263    </target>    </target>
264    
265    
266    
267    <target name="dist"    <target name="dist"
268            depends="init, dist-clean, dist-jar, dist-docs"            depends="dist-clean, dist-jar, docs"
269            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
270    
271    
   
272    <target name="release"    <target name="release"
273            depends="dist"            depends="dist"
274            description="Puts entire CVS tree, plus distribution productions, in a jar">            description="Puts entire CVS tree, plus distribution productions, in a jar">
# Line 260  Line 309 
309    
310    
311    
   <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>  
   
   
   
312    <!-- Internal targets -->    <!-- Internal targets -->
313    
314    
   <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>  
   
   
315    <target name="dist-jar"    <target name="dist-jar"
316            depends="clean, jar">            depends="clean, jar">
317    
# Line 319  Line 320 
320    </target>    </target>
321    
322    
   <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>  
   
   
323    <target name="compile-tests"    <target name="compile-tests"
324            depends="jar">            depends="jar">
325    
# Line 445  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 462  Line 353 
353    
354        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
355        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
356          <compilerarg value="-XDignore.symbol.file=true"/>
357    
358        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
359    
# Line 478  Line 370 
370    
371        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
372        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
373          <compilerarg value="-XDignore.symbol.file=true"/>
374    
375        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
376    
# Line 550  Line 443 
443        <fileset dir="${build.reports.dir}">        <fileset dir="${build.reports.dir}">
444          <include name="TEST-*.xml"/>          <include name="TEST-*.xml"/>
445        </fileset>        </fileset>
446        <report styledir="${stylesheet.dir}"        <report format="${junit.report.format}" todir="${build.reports.dir}"
                 format="${junit.report.format}"  
                  todir="${build.reports.dir}"  
447        />        />
448      </junitreport>      </junitreport>
449    
# Line 602  Line 493 
493    </target>    </target>
494    
495    
   
   <!-- 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>  
   
   
   
496    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
497    
498    
499    <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"  
500            description="Benchmark from Doug Lea's AQS paper">            description="Benchmark from Doug Lea's AQS paper">
501    
502      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
# Line 701  Line 511 
511    
512        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
513        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
514          <compilerarg value="-XDignore.symbol.file=true"/>
515    
516      </javac>      </javac>
517    
# Line 711  Line 522 
522    </target>    </target>
523    
524    
525    <target name="compile-j1" depends="init, configure-compiler, compile">    <!-- jsr166 4jdk7 -->
526    
     <mkdir dir="${build.j1.dir}"/>  
527    
528      <javac srcdir="${j1.src.dir}"    <target name="4jdk7compile"
529            destdir="${build.j1.dir}"            depends="configure-compiler"
530              debug="${build.debug}"            description="Compiles src/jdk7 sources, targeting jdk7">
531         debuglevel="${build.debuglevel}"  
532        deprecation="${build.deprecation}"      <mkdir dir="${build.4jdk7.classes.dir}"/>
533             source="${build.sourcelevel}" >  
534        <javac srcdir="${4jdk7src.dir}"
535               destdir="${build.4jdk7.classes.dir}"
536               debug="${build.debug}"
537               debuglevel="${build.debuglevel}"
538               deprecation="${build.deprecation}"
539               source="6"
540               classpath=""
541               bootclasspath="${bootclasspath6}"
542               includeAntRuntime="false"
543               includeJavaRuntime="false"
544               executable="${javac7}"
545               fork="true">
546    
547        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/dijkstra/**"/>  
   
548        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
549        <classpath refid="j1.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
550          <compilerarg value="-Xlint:all"/>
551    
552      </javac>      </javac>
553    
554    </target>      <mkdir dir="${build.4jdk7.lib.dir}"/>
555    
556        <jar destfile="${4jdk7product.jar}" index="true">
557          <fileset dir="${build.4jdk7.classes.dir}"/>
558        </jar>
559    
560    <target name="sw" depends="compile-j1"      <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
           description="Runs the SwingWorker demo">  
561    
562      <!--      <javac srcdir="${tck.src.dir}"
563      <java classname="jsr166.swing.SwingWorkerDemo" fork="true">             destdir="${build.4jdk7.tck.classes.dir}"
564        <classpath refid="j1.classpath"/>             debug="${build.debug}"
565      </java>             debuglevel="${build.debuglevel}"
566      -->             deprecation="${build.deprecation}"
567               source="6"
568               classpath="${junit.jar}"
569               bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
570               includeAntRuntime="false"
571               includeJavaRuntime="false"
572               executable="${javac7}"
573               fork="true">
574    
575      <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>        <include name="**/*.java"/>
576          <compilerarg line="${build.args}"/>
577          <compilerarg value="-XDignore.symbol.file=true"/>
578          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
579    
580      <exec dir="${build.j1.dir}" executable="appletviewer.exe">      </javac>
       <arg value="${build.j1.dir}/SwingWorker.html"/>  
     </exec>  
581    
582    </target>    </target>
583    
   <target name="j1" depends="compile-j1"  
           description="Runs a standalone JavaOne program">  
   
     <java classname="${j1.test}" fork="true">  
       <classpath refid="j1.classpath"/>  
       <jvmarg value="-client"/>  
   
       <!-- TestPseudoRandom args -->  
       <arg value="2"/>  
       <arg value="25"/>  
       <arg value="100000"/>  
   
       <!-- WebCrawler args -->  
       <!--  
       <arg value="jsr166.webcrawler.WebCrawler3"/>  
       <arg value="http://www.priorartisans.com"/>  
       <arg value="25"/>  
       -->  
   
     </java>  
584    
585      <target name="4jdk7-test-tck"
586              depends="4jdk7compile"
587              description="Runs tck tests for jsr166-4jdk7 directly">
588        <run-tck-tests
589          jvm="${java7}"
590          tck.classes="${build.4jdk7.tck.classes.dir}"
591          product.jar="${4jdk7product.jar}"/>
592    </target>    </target>
593    
594    
595    <target name="test-j1" depends="compile-j1"    <target name="4jdk7-test-tck-junit"
596            description="Runs testcases from the JavaOne source directories">            depends="4jdk7compile"
597              description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
598    
599      <junit printsummary="true"      <junit printsummary="true"
600               showoutput="true"             showoutput="true"
601            errorProperty="junit.failed"             errorProperty="junit.failed"
602          failureProperty="junit.failed"             failureProperty="junit.failed"
603                      dir="${build.j1.dir}"             includeantruntime="true"
604                     fork="true">             jvm="${java7}"
605               fork="true">
       <!-- <jvmarg value="-server"/> -->  
       <classpath refid="j1.classpath"/>  
       <formatter type="xml"/>  
   
       <batchtest todir="${build.j1.dir}">  
         <fileset dir="${j1.src.dir}">  
           <include name="**/*Test.java"/>  
         </fileset>  
       </batchtest>  
   
     </junit>  
   
     <available property="junit.report.format"  
                   value="frames"  
               classname="org.apache.xalan.lib.Redirect"/>  
     <property name="junit.report.format" value="noframes"/>  
   
     <junitreport todir="${build.j1.dir}">  
       <fileset dir="${build.j1.dir}">  
         <include name="TEST-*.xml"/>  
       </fileset>  
       <report styledir="${stylesheet.dir}"  
                 format="${junit.report.format}"  
                  todir="${build.j1.dir}"  
       />  
     </junitreport>  
   
     <fail message="Test Cases Failed" if="junit.failed"/>  
   
   </target>  
   
   
   
   <!-- C++ and JNI definitions and demos -->  
   
   <target name="configure-cpp">  
   
     <!-- Define tasks and types -->  
   
     <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"/>  
   
     <!-- Set platform property for JNI includes -->  
   
     <condition property="platform" value="linux">  
       <os name="Linux"/>  
     </condition>  
     <condition property="platform" value="win32">  
       <os family="windows"/>  
     </condition>  
     <condition property="platform" value="solaris">  
       <os name="SunOS"/>  
     </condition>  
   
   </target>  
   
606    
607    <target name="cppdemo" depends="configure-cpp">        <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
608          <jvmarg value="-server"/>
609    
610      <mkdir dir="${build.dir}"/>        <classpath>
611            <pathelement location="${junit.jar}"/>
612            <pathelement location="${build.4jdk7.tck.classes.dir}"/>
613          </classpath>
614    
615      <cc multithreaded="true"        <formatter type="brief"/>
                  name="g++"  
                objdir="${build.dir}"  
               outfile="${build.dir}/CppDemo">  
       <fileset dir="${test.src.dir}" includes="CppDemo.cpp"/>  
       <libset libs="stdc++"/>  
     </cc>  
616    
617      <exec executable="${build.dir}/CppDemo">        <test name="JSR166TestCase" haltonfailure="no">
618        <arg line="count in word frequency of word in command line count"/>        </test>
     </exec>  
619    
620        </junit>
621    </target>    </target>
622    
623    
624    <target name="jnidemo" depends="init, configure-compiler, configure-cpp">    <target name="4jdk7docs"
625              description="Builds javadocs for src/jdk7 to dist dir">
     <mkdir dir="${build.testcases.dir}"/>  
626    
627      <javac srcdir="${test.src.dir}"      <delete dir="${dist.4jdk7.docs.dir}"/>
628            destdir="${build.testcases.dir}"      <mkdir dir="${dist.4jdk7.docs.dir}"/>
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
       <compilerarg value="${bootclasspath.args}"/>  
       <compilerarg line="${build.args}"/>  
       <classpath refid="test.classpath"/>  
       <include name="JniDemo.java"/>  
     </javac>  
629    
630      <javah destdir="${build.testcases.dir}"      <javadoc destdir="${dist.4jdk7.docs.dir}"
631        classpathref="test.classpath">               packagenames="none"
632        <class name="JniDemo"/>               link="${jdkapi7docs.url}"
633      </javah>               overview="${4jdk7src.dir}/intro.html"
634                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
635      <cc multithreaded="true"               classpath=""
636                   name="g++"               executable="${javadoc7}">
637                 objdir="${build.dir}"        <arg value="-XDignore.symbol.file=true"/>
638                outfile="${build.dir}/JniDemo"        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
639                outtype="shared">          <include name="**/*.java"/>
640          </fileset>
641        <compiler>      </javadoc>
         <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>  
642    
643    </target>    </target>
644    
645    
646      <target name="4jdk7dist"
647              depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
648              description="Puts all distributable products in single hierarchy"/>
649    
   <!-- Backward compatibility, work in progress (some files not checked in) -->  
   
   
   
   <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"/>  
650    
   <target name="defang"  
        depends="init"  
    description="Generates pre-Tiger compatible source">  
651    
652      <delete dir="${pretiger.src.dir}"/>    <target name="4jdk7clean"
653      <mkdir dir="${pretiger.src.dir}"/>            description="Removes all build products">
654    
655      <exec executable="perl">      <delete dir="${build.4jdk7.dir}"/>
       <arg file="etc/defang.pl"/>  
       <!-- <arg value="-v"/> -->  
       <arg value="-s"/> <arg file="${src.dir}"/>  
       <arg value="-t"/> <arg file="${pretiger.src.dir}"/>  
     </exec>  
656    
657    </target>    </target>
658    
   <target name="compile-pretiger"  
           depends="init, configure-compiler, defang"  
           description="Compiles pre-Tiger sources to build folder">  
659    
     <mkdir dir="${build.pretiger.dir}"/>  
660    
661      <javac srcdir="${pretiger.src.dir}"    <target name="4jdk7dist-clean"
662            destdir="${build.pretiger.dir}"            description="Removes all build and distribution products">
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${pretiger.sourcelevel}"  
              fork="true">  
   
       <compilerarg line="${build.args}"/>  
       <exclude name="**/Thread.java"/>  
   
     </javac>  
663    
664    </target>    </target>
665    
666    <target name="pretiger" depends="compile-pretiger">    <target name="4jdk7dist-jar"
667              depends="4jdk7clean, 4jdk7compile">
668    
669      <mkdir dir="${build.lib.dir}"/>      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
   
     <jar destfile="${pretiger.jar}">  
       <fileset dir="${build.pretiger.dir}">  
       </fileset>  
     </jar>  
670    
671    </target>    </target>
672    
# Line 987  Line 674 
674    
675    
676    <target name="jsr166xcompile"    <target name="jsr166xcompile"
677            depends="init, configure-compiler"            depends="configure-compiler"
678            description="Compiles jsr166x sources">            description="Compiles jsr166x sources to build dir">
679    
680      <mkdir dir="${build.jsr166x.dir}"/>      <mkdir dir="${build.jsr166x.dir}"/>
681    
682      <javac srcdir="${jsr166xsrc.dir}"      <javac srcdir="${topsrc.dir}"
683            destdir="${build.jsr166x.dir}"             destdir="${build.jsr166x.dir}"
684              debug="${build.debug}"             debug="${build.debug}"
685         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
686        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
687             source="${build.sourcelevel}"             classpath=""
688               fork="true">             source="5"
689               bootclasspath="${bootclasspath6}"
690               includeAntRuntime="false"
691               includeJavaRuntime="false"
692               executable="${javac7}"
693               fork="true">
694    
695        <include name="**/*.java"/>        <include name="jsr166x/**/*.java"/>
696        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
697          <compilerarg value="-XDignore.symbol.file=true"/>
698          <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
699    
700      </javac>      </javac>
701    
# Line 1015  Line 709 
709    
710      <mkdir dir="${build.jsr166xlib.dir}"/>      <mkdir dir="${build.jsr166xlib.dir}"/>
711    
712      <jar destfile="${jsr166xproduct.jar}">      <jar destfile="${jsr166x.jar}">
713        <fileset dir="${build.jsr166x.dir}"/>        <fileset dir="${build.jsr166x.dir}"/>
714      </jar>      </jar>
715    
# Line 1024  Line 718 
718    
719    
720    <target name="jsr166xdocs"    <target name="jsr166xdocs"
721            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs to dist dir">
722    
723      <delete dir="${build.jsr166xjavadocs.dir}"/>      <delete dir="${build.jsr166xjavadocs.dir}"/>
724      <mkdir dir="${build.jsr166xjavadocs.dir}"/>      <mkdir dir="${build.jsr166xjavadocs.dir}"/>
725    
726      <javadoc destdir="${build.jsr166xjavadocs.dir}"      <javadoc destdir="${build.jsr166xjavadocs.dir}"
727               link="http://java.sun.com/javase/6/docs/api/"               packagenames="jsr166x.*"
728                 link="${jdkapidocs.url}"
729              sourcepath="${jsr166xsrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"               source="5"
730                 bootclasspath="${bootclasspath6}"
731      >               sourcepath="${topsrc.dir}:${jdk6src.dir}"
732        <packageset dir="${topsrc.dir}" defaultexcludes="yes">               executable="${javadoc7}"
733        <include name="jsr166x"/>               additionalparam="-XDignore.symbol.file=true" />
       </packageset>  
   
   
     </javadoc>  
734    
735    </target>    </target>
736    
# Line 1069  Line 759 
759    
760    
761    <target name="jsr166xdist-docs"    <target name="jsr166xdist-docs"
762            description="Builds javadocs without custom tags to dist folder">            description="Builds javadocs to dist dir">
763    
764      <delete dir="${dist.jsr166xjavadocs.dir}"/>      <delete dir="${dist.jsr166xjavadocs.dir}"/>
765      <mkdir dir="${dist.jsr166xjavadocs.dir}"/>      <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
766    
767      <javadoc destdir="${dist.jsr166xjavadocs.dir}"      <javadoc destdir="${dist.jsr166xjavadocs.dir}"
768                  link="http://java.sun.com/javase/6/docs/api/"               packagenames="jsr166x.*"
769                source="${build.sourcelevel}">               link="${jdkapidocs.url}"
770                 source="${build.sourcelevel}"
771        <packageset dir="${topsrc.dir}" defaultexcludes="yes">               sourcepath="${topsrc.dir}:${jdk6src.dir}"
772        <include name="jsr166x"/>               executable="${javadoc7}"
773        </packageset>               additionalparam="-XDignore.symbol.file=true" />
   
     </javadoc>  
774    
775    </target>    </target>
776    
777    <target name="jsr166xdist-jar"    <target name="jsr166xdist-jar"
778            depends="jsr166xclean, jsr166xjar">            depends="jsr166xclean, jsr166xjar">
779    
780      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
781    
782    </target>    </target>
783    
# Line 1097  Line 785 
785    
786    
787    <target name="jsr166ycompile"    <target name="jsr166ycompile"
788            depends="init, configure-compiler"            depends="configure-compiler"
789            description="Compiles jsr166y sources">            description="Compiles jsr166y sources">
790    
791      <mkdir dir="${build.jsr166y.dir}"/>      <mkdir dir="${build.jsr166y.dir}"/>
792    
793      <javac srcdir="${jsr166ysrc.dir}"      <javac srcdir="${topsrc.dir}"
794            destdir="${build.jsr166y.dir}"             destdir="${build.jsr166y.dir}"
795              debug="${build.debug}"             debug="${build.debug}"
796         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
797        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
798             source="${build.sourcelevel}"             source="6"
799               fork="true">             classpath=""
800               bootclasspath="${bootclasspath6}"
801               includeAntRuntime="false"
802               includeJavaRuntime="false"
803               executable="${javac7}"
804               fork="true">
805    
806        <include name="**/*.java"/>        <include name="jsr166y/**/*.java"/>
807        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
808        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="-XDignore.symbol.file=true"/>
809          <compilerarg value="-Xlint:all"/>
 <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->  
   
810      </javac>      </javac>
   
811    </target>    </target>
812    
813    
   
814    <target name="jsr166yjar"    <target name="jsr166yjar"
815            depends="jsr166ycompile"            depends="jsr166ycompile"
816            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
817    
818      <mkdir dir="${build.jsr166ylib.dir}"/>      <mkdir dir="${build.jsr166ylib.dir}"/>
819    
820      <jar destfile="${jsr166yproduct.jar}">      <jar destfile="${jsr166y.jar}" index="true">
821        <fileset dir="${build.jsr166y.dir}"/>        <fileset dir="${build.jsr166y.dir}"/>
822      </jar>      </jar>
823    
# Line 1137  Line 826 
826    
827    
828    <target name="jsr166ydocs"    <target name="jsr166ydocs"
829            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs to dist dir">
830    
831      <delete dir="${build.jsr166yjavadocs.dir}"/>      <delete dir="${build.jsr166yjavadocs.dir}"/>
832      <mkdir dir="${build.jsr166yjavadocs.dir}"/>      <mkdir dir="${build.jsr166yjavadocs.dir}"/>
833    
834      <javadoc destdir="${build.jsr166yjavadocs.dir}"      <javadoc destdir="${build.jsr166yjavadocs.dir}"
835                  link="http://java.sun.com/javase/6/docs/api/"               packagenames="jsr166y.*"
836              sourcepath="${jsr166ysrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"               link="${jdkapidocs.url}"
837                 source="6"
838      >               bootclasspath="${bootclasspath6}"
839        <packageset dir="${topsrc.dir}" defaultexcludes="no">               sourcepath="${topsrc.dir}:${jdk6src.dir}"
840        <include name="jsr166y"/>               executable="${javadoc7}"
841        </packageset>               additionalparam="-XDignore.symbol.file=true" />
   
   
     </javadoc>  
842    
843    </target>    </target>
844    
# Line 1179  Line 865 
865    </target>    </target>
866    
867    <target name="jsr166ydist-docs"    <target name="jsr166ydist-docs"
868            description="Builds javadocs without custom tags to dist folder">            description="Builds javadocs to dist dir">
869    
870      <delete dir="${dist.jsr166yjavadocs.dir}"/>      <delete dir="${dist.jsr166yjavadocs.dir}"/>
871      <mkdir dir="${dist.jsr166yjavadocs.dir}"/>      <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
872    
873      <javadoc destdir="${dist.jsr166yjavadocs.dir}"      <javadoc destdir="${dist.jsr166yjavadocs.dir}"
874                  link="http://java.sun.com/javase/6/docs/api/"               packagenames="jsr166y.*"
875                source="${build.sourcelevel}">               link="${jdkapidocs.url}"
876        <fileset dir="${topsrc.dir}" defaultexcludes="yes">               source="${build.sourcelevel}"
877        <include name="jsr166y/*.java"/>               sourcepath="${topsrc.dir}:${jdk6src.dir}"
878        <include name="jsr166y/forkjoin/*.java"/>               executable="${javadoc7}"
879              </fileset>               additionalparam="-XDignore.symbol.file=true" />
     </javadoc>  
880    
881    </target>    </target>
882    
883    <target name="jsr166ydist-jar"    <target name="jsr166ydist-jar"
884            depends="jsr166yclean, jsr166yjar">            depends="jsr166yclean, jsr166yjar">
885    
886      <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
887    
888      </target>
889    
890    
891      <!-- extra166y -->
892    
893    
894      <target name="extra166ycompile"
895              depends="configure-compiler, jsr166yjar"
896              description="Compiles extra166y sources">
897    
898        <mkdir dir="${build.extra166y.dir}"/>
899    
900        <javac srcdir="${topsrc.dir}"
901               destdir="${build.extra166y.dir}"
902               debug="${build.debug}"
903               debuglevel="${build.debuglevel}"
904               deprecation="${build.deprecation}"
905               classpath=""
906               source="6"
907               bootclasspath="${jsr166y.jar}:${bootclasspath6}"
908               includeAntRuntime="false"
909               includeJavaRuntime="false"
910               executable="${javac7}"
911               fork="true">
912    
913          <include name="extra166y/**/*.java"/>
914          <compilerarg line="${build.args}"/>
915          <compilerarg value="-XDignore.symbol.file=true"/>
916          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
917    
918        </javac>
919    
920      </target>
921    
922    
923    
924      <target name="extra166yjar"
925              depends="extra166ycompile"
926              description="Builds library jar from compiled sources">
927    
928        <mkdir dir="${build.extra166ylib.dir}"/>
929    
930        <jar destfile="${extra166y.jar}" index="true">
931          <fileset dir="${build.extra166y.dir}"/>
932        </jar>
933    
934      </target>
935    
936    
937    
938      <target name="extra166ydocs"
939              description="Builds javadocs to build dir">
940    
941        <delete dir="${build.extra166yjavadocs.dir}"/>
942        <mkdir dir="${build.extra166yjavadocs.dir}"/>
943    
944        <javadoc destdir="${build.extra166yjavadocs.dir}"
945                 packagenames="extra166y.*"
946                 link="${jdkapidocs.url}"
947                 source="6"
948                 bootclasspath="${bootclasspath6}"
949                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
950                 executable="${javadoc7}"
951                 additionalparam="-XDignore.symbol.file=true" />
952    
953      </target>
954    
955    
956      <target name="extra166ydist"
957              depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"
958              description="Puts all distributable products in single hierarchy"/>
959    
960    
961    
962      <target name="extra166yclean"
963              description="Removes all build products">
964    
965        <delete dir="${build.extra166y.dir}"/>
966        <delete dir="${build.extra166ylib.dir}"/>
967    
968      </target>
969    
970    
971    
972      <target name="extra166ydist-clean"
973              description="Removes all build and distribution products">
974    
975      </target>
976    
977      <target name="extra166ydist-docs"
978              description="Builds javadocs to dist dir">
979    
980        <delete dir="${dist.extra166yjavadocs.dir}"/>
981        <mkdir dir="${dist.extra166yjavadocs.dir}"/>
982    
983        <javadoc destdir="${dist.extra166yjavadocs.dir}"
984                 packagenames="extra166y.*"
985                 link="${jdkapidocs.url}"
986                 source="${build.sourcelevel}"
987                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
988                 executable="${javadoc7}"
989                 additionalparam="-XDignore.symbol.file=true" />
990    
991      </target>
992    
993      <target name="extra166ydist-jar"
994              depends="extra166yclean, extra166yjar">
995    
996        <copy file="${extra166y.jar}" todir="${dist.dir}"/>
997    
998      </target>
999    
1000      <!-- jsr166e -->
1001    
1002      <target name="jsr166ecompile"
1003              depends="configure-compiler"
1004              description="Compiles jsr166e sources">
1005    
1006        <mkdir dir="${build.jsr166e.dir}"/>
1007    
1008        <javac srcdir="${topsrc.dir}"
1009               destdir="${build.jsr166e.dir}"
1010               debug="${build.debug}"
1011               debuglevel="${build.debuglevel}"
1012               deprecation="${build.deprecation}"
1013               source="7"
1014               classpath=""
1015               includeAntRuntime="false"
1016               includeJavaRuntime="false"
1017               executable="${javac7}"
1018               fork="true">
1019    
1020          <include name="jsr166e/**/*.java"/>
1021          <compilerarg line="${build.args}"/>
1022          <compilerarg value="-XDignore.symbol.file=true"/>
1023          <compilerarg value="-Xlint:all"/>
1024    
1025        </javac>
1026    
1027      </target>
1028    
1029    
1030    
1031      <target name="jsr166ejar"
1032              depends="jsr166ecompile"
1033              description="Builds library jar from compiled sources">
1034    
1035        <mkdir dir="${build.jsr166elib.dir}"/>
1036    
1037        <jar destfile="${jsr166e.jar}" index="true">
1038          <fileset dir="${build.jsr166e.dir}"/>
1039        </jar>
1040    
1041      </target>
1042    
1043    
1044    
1045      <target name="jsr166edocs"
1046              description="Builds javadocs to build dir">
1047    
1048        <delete dir="${build.jsr166ejavadocs.dir}"/>
1049        <mkdir dir="${build.jsr166ejavadocs.dir}"/>
1050    
1051        <javadoc destdir="${build.jsr166ejavadocs.dir}"
1052                 packagenames="jsr166e.*"
1053                 link="${jdkapidocs.url}"
1054                 source="7"
1055                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1056                 executable="${javadoc7}"
1057                 additionalparam="-XDignore.symbol.file=true" >
1058        </javadoc>
1059    
1060      </target>
1061    
1062    
1063      <target name="jsr166edist"
1064              depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"
1065              description="Puts all distributable products in single hierarchy"/>
1066    
1067    
1068    
1069      <target name="jsr166eclean"
1070              description="Removes all build products">
1071    
1072        <delete dir="${build.jsr166e.dir}"/>
1073        <delete dir="${build.jsr166elib.dir}"/>
1074    
1075      </target>
1076    
1077    
1078    
1079      <target name="jsr166edist-clean"
1080              description="Removes all build and distribution products">
1081    
1082      </target>
1083    
1084      <target name="jsr166edist-docs"
1085              description="Builds javadocs to dist dir">
1086    
1087        <delete dir="${dist.jsr166ejavadocs.dir}"/>
1088        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1089    
1090        <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1091                 packagenames="jsr166e.*"
1092                 link="${jdkapidocs.url}"
1093                 source="7"
1094                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1095                 executable="${javadoc7}"
1096                 additionalparam="-XDignore.symbol.file=true" />
1097    
1098      </target>
1099    
1100      <target name="jsr166edist-jar"
1101              depends="jsr166eclean, jsr166ejar">
1102    
1103        <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1104    
1105    </target>    </target>
1106    

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

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