/[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.114 by jsr166, Sun Jan 20 04:44:26 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="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      <property name="build.jsr166x.classes.dir"    location="${build.jsr166x.dir}/classes"/>
61    <property name="build.jsr166y.dir"    location="${build.dir}/jsr166y"/>    <property name="build.jsr166y.classes.dir"    location="${build.jsr166y.dir}/classes"/>
62    <property name="build.jsr166ylib.dir"        location="${build.dir}/jsr166ylib"/>    <property name="build.jsr166e.classes.dir"    location="${build.jsr166e.dir}/classes"/>
63    <property name="build.jsr166yjavadocs.dir"   location="${build.dir}/jsr166yjavadocs"/>    <property name="build.extra166y.classes.dir"  location="${build.extra166y.dir}/classes"/>
64    
65      <!-- JDK binary locations -->
66      <property name="jdks.home"  location="${user.home}/jdk"/>
67    
68      <macrodef name="defjdklocations">
69        <attribute name="v"/>
70        <sequential>
71        <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
72        <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
73        <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
74        <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
75        <property name="bootdir@{v}"    location="${jdk@{v}.home}/jre/lib"/>
76        <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
77        <property name="bootclasspath@{v}"
78         value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
79        </sequential>
80      </macrodef>
81    
82      <defjdklocations v="6"/>
83      <defjdklocations v="7"/>
84      <defjdklocations v="8"/>
85    
86      <macrodef name="run-tck-tests">
87        <attribute name="jvm"/>
88        <attribute name="tck.classes"/>
89        <attribute name="product.jar" default="${product.jar}"/>
90        <attribute name="jvmflags" default=""/>
91        <sequential>
92        <java classname="JSR166TestCase"
93              jvm="@{jvm}" fork="true">
94            <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
95            <jvmarg line="@{jvmflags}"/>
96            <classpath>
97              <pathelement location="${junit.jar}"/>
98              <pathelement location="@{tck.classes}"/>
99            </classpath>
100        </java>
101        </sequential>
102      </macrodef>
103    
104    <!-- Source locations -->    <!-- Source locations -->
105    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
106    <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"/>  
107    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
108    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
109    <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"/>  
110    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
111    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
112    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
113    <property name="jsr166xsrc.dir"       location="${basedir}/src/jsr166x"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
114    <property name="jsr166ysrc.dir"       location="${basedir}/src/jsr166y"/>    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
115      <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
116      <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
117      <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>
118    
119    <!-- Distribution locations -->    <!-- Distribution locations -->
120    <property name="dist.javadocs.dir"    location="${dist.dir}/docs"/>    <property name="dist.javadocs.dir"          location="${dist.dir}/jsr166.docs"/>
121    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>    <property name="dist.4jdk7.docs.dir"        location="${dist.dir}/jsr166-4jdk7.docs"/>
122    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>    <property name="dist.jsr166xjavadocs.dir"   location="${dist.dir}/jsr166x.docs"/>
123      <property name="dist.jsr166yjavadocs.dir"   location="${dist.dir}/jsr166y.docs"/>
124      <property name="dist.jsr166ejavadocs.dir"   location="${dist.dir}/jsr166e.docs"/>
125      <property name="dist.extra166yjavadocs.dir" location="${dist.dir}/extra166y.docs"/>
126    
127    <!-- Jar locations -->    <!-- Jar locations -->
128    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"      location="${build.dir}/jsr166.jar"/>
129    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>    <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
130    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>    <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>
131    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>    <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>
132    <property name="concurrent.jar"       location="${lib.dir}/concurrent.jar"/>    <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>
133      <property name="extra166y.jar"    location="${build.extra166y.dir}/extra166y.jar"/>
134      <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
135    
136    <!-- Bootclasspath argument -->    <!-- Bootclasspath argument -->
137    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
138    
139      <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
140      <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
141      <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
142      <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>
143    
144      <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
145      <!-- The below does not yet exist as of 2012-11 -->
146      <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
147    
148      <!-- Default jdk api doc location (latest stable release seems best) -->
149      <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
150    
151    <!-- Test classpath -->    <!-- Test classpath -->
152    <path id="test.classpath">    <path id="test.classpath">
153      <pathelement location="${build.testcases.dir}"/>      <pathelement location="${build.testcases.dir}"/>
# Line 89  Line 159 
159      <pathelement location="${build.loops.dir}"/>      <pathelement location="${build.loops.dir}"/>
160    </path>    </path>
161    
162    <!-- J1 classpath -->    <!-- Support @jls tag, used in jdk8+ javadoc -->
163    <path id="j1.classpath">    <!-- TODO: How do we get &trade to work? -->
164      <pathelement location="${build.classes.dir}"/>    <!-- TODO: Why isn't @jls a "standard" tag? -->
165      <pathelement location="${build.j1.dir}"/>    <!--   property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
166      <pathelement location="${junit.jar}"/>    <property name="javadoc.jls.cite" value="The Java Language Specification"/>
167      <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>  
   
168    
169    <!-- Main targets -->    <!-- Main targets -->
170    
171      <target name="dists"
172              depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
173              description="Builds all public jars and docs"/>
174    
175    <target name="compile"    <target name="compile"
176            depends="init, configure-compiler"            depends="configure-compiler"
177            description="Compiles main sources to build folder">            description="Compiles src/main sources to build dir">
178    
179      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
180    
181      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
182            destdir="${build.classes.dir}"             destdir="${build.classes.dir}"
183              debug="${build.debug}"             debug="${build.debug}"
184         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
185        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
186             source="${build.sourcelevel}"             classpath=""
187               fork="true">             includeAntRuntime="false"
188               includeJavaRuntime="false"
189               executable="${javac8}"
190               fork="true">
191    
192        <include name="**/*.java"/>        <include name="**/*.java"/>
193        <compilerarg value="-XDignore.symbol.file"/>        <compilerarg line="${build.args}"/>
194          <compilerarg value="-XDignore.symbol.file=true"/>
195          <compilerarg value="-Xlint:all"/>
196    
197  <!--  <!--
198        <exclude name="java/lang/**"/>        <exclude name="java/lang/**"/>
# Line 136  Line 210 
210            depends="compile"            depends="compile"
211            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
212    
     <mkdir dir="${build.lib.dir}"/>  
   
213      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
214        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}"/>
215      </jar>      </jar>
# Line 147  Line 219 
219    
220    
221    <target name="test"    <target name="test"
222            depends="init, configure-tests, report-tests"            depends="configure-tests, report-tests"
223            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)" />
224    
225    
226    
227    <target name="docs"    <target name="docs"
228            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>  
229    
230        <delete dir="${dist.javadocs.dir}"/>
231        <mkdir dir="${dist.javadocs.dir}"/>
232    
233        <!-- the packagenames="none" hack below prevents scanning the -->
234        <!-- sourcepath for packages -->
235    
236    <target name="doccheck"      <javadoc destdir="${dist.javadocs.dir}"
237            depends="filter-doccheck"               packagenames="none"
238            description="Reports on javadoc style errors">               link="${jdkapi8docs.url}"
239                 overview="${src.dir}/intro.html"
240      <delete dir="${build.doccheck.dir}"/>               sourcepath="${src.dir}:${jdk8src.dir}"
241      <mkdir dir="${build.doccheck.dir}"/>               classpath=""
242                 executable="${javadoc8}">
243      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"        <arg value="-XDignore.symbol.file=true"/>
244           docletpath="${lib.dir}/doccheck.jar"        <arg value="-tag"/>
245              destdir="${build.doccheck.dir}">        <arg value="${javadoc.jls.option}"/>
246        <packageset dir="${build.dc-filter.dir}"/>        <fileset dir="${src.dir}" defaultexcludes="yes">
247            <include name="**/*.java"/>
248          </fileset>
249      </javadoc>      </javadoc>
250    
     <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"/>  
   
251    </target>    </target>
252    
253    
254    
255    <target name="dist"    <target name="dist"
256            depends="init, dist-clean, dist-jar, dist-docs"            depends="dist-clean, dist-jar, docs"
257            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
258    
259    
   
260    <target name="release"    <target name="release"
261            depends="dist"            depends="dist"
262            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 281 
281            description="Removes all build products">            description="Removes all build products">
282    
283      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
     <delete dir="${build.classes.dir}"/>  
     <delete dir="${build.lib.dir}"/>  
284    
285    </target>    </target>
286    
# Line 260  Line 295 
295    
296    
297    
   <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>  
   
   
   
298    <!-- Internal targets -->    <!-- Internal targets -->
299    
300    
   <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>  
   
   
301    <target name="dist-jar"    <target name="dist-jar"
302            depends="clean, jar">            depends="clean, jar">
303    
# Line 319  Line 306 
306    </target>    </target>
307    
308    
   <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>  
   
   
309    <target name="compile-tests"    <target name="compile-tests"
310            depends="jar">            depends="jar">
311    
312      <mkdir dir="${build.testcases.dir}"/>      <mkdir dir="${build.testcases.dir}"/>
313    
314      <javac srcdir="${tck.src.dir}"      <javac srcdir="${tck.src.dir}"
315            destdir="${build.testcases.dir}"             destdir="${build.testcases.dir}"
316              debug="${build.debug}"             debug="${build.debug}"
317         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
318        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
319             source="${build.sourcelevel}"             source="6"
320               fork="true">             classpath="${junit.jar}"
321               bootclasspath="${product.jar}:${bootclasspath6}"
322               includeAntRuntime="false"
323               includeJavaRuntime="false"
324               executable="${javac8}"
325               fork="true">
326    
327        <compilerarg value="${bootclasspath.args}"/>        <include name="**/*.java"/>
328        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
329          <compilerarg value="-XDignore.symbol.file=true"/>
330        <classpath refid="test.classpath"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
331    
332      </javac>      </javac>
333    
334      <javac srcdir="${test.src.dir}"      <javac srcdir="${test.src.dir}"
335            destdir="${build.testcases.dir}"             destdir="${build.testcases.dir}"
336              debug="${build.debug}"             debug="${build.debug}"
337         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
338        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
339             source="${build.sourcelevel}"             source="6"
340               fork="true">             classpath=""
341               bootclasspath="${product.jar}:${bootclasspath6}"
342               includeAntRuntime="false"
343               includeJavaRuntime="false"
344               executable="${javac8}"
345               fork="true">
346    
347        <include name="jsr166/test/**"/>        <include name="jsr166/test/**/*.java"/>
348    
       <compilerarg value="${bootclasspath.args}"/>  
349        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
350          <compilerarg value="-XDignore.symbol.file=true"/>
351        <classpath refid="test.classpath"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
352    
353      </javac>      </javac>
354    
# Line 478  Line 363 
363    
364        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
365        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
366          <compilerarg value="-XDignore.symbol.file=true"/>
       <classpath refid="test.classpath"/>  
367    
368      </javac>      </javac>
369  -->  -->
# Line 500  Line 384 
384            errorProperty="junit.failed"            errorProperty="junit.failed"
385          failureProperty="junit.failed"          failureProperty="junit.failed"
386                      dir="${build.reports.dir}"                      dir="${build.reports.dir}"
387                        jvm="${java8}"
388                     fork="true">                     fork="true">
389    
390        <jvmarg value="${bootclasspath.args}"/>        <jvmarg value="-Xbootclasspath/p:${product.jar}"/>
391        <jvmarg value="-server"/>        <jvmarg value="-server"/>
392        <jvmarg value="-showversion"/>        <jvmarg value="-showversion"/>
393    
# Line 550  Line 435 
435        <fileset dir="${build.reports.dir}">        <fileset dir="${build.reports.dir}">
436          <include name="TEST-*.xml"/>          <include name="TEST-*.xml"/>
437        </fileset>        </fileset>
438        <report styledir="${stylesheet.dir}"        <report format="${junit.report.format}" todir="${build.reports.dir}"
                 format="${junit.report.format}"  
                  todir="${build.reports.dir}"  
439        />        />
440      </junitreport>      </junitreport>
441    
# Line 602  Line 485 
485    </target>    </target>
486    
487    
   
   <!-- 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>  
   
   
   
488    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
489    
490    
491    <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"  
492            description="Benchmark from Doug Lea's AQS paper">            description="Benchmark from Doug Lea's AQS paper">
493    
494      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
# Line 701  Line 503 
503    
504        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
505        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
506          <compilerarg value="-XDignore.symbol.file=true"/>
507    
508      </javac>      </javac>
509    
# Line 711  Line 514 
514    </target>    </target>
515    
516    
517    <target name="compile-j1" depends="init, configure-compiler, compile">    <!-- jsr166 4jdk7 -->
518    
     <mkdir dir="${build.j1.dir}"/>  
519    
520      <javac srcdir="${j1.src.dir}"    <target name="4jdk7compile"
521            destdir="${build.j1.dir}"            depends="configure-compiler"
522              debug="${build.debug}"            description="Compiles src/jdk7 sources, targeting jdk7">
523         debuglevel="${build.debuglevel}"  
524        deprecation="${build.deprecation}"      <mkdir dir="${build.4jdk7.classes.dir}"/>
525             source="${build.sourcelevel}" >  
526        <javac srcdir="${4jdk7src.dir}"
527               destdir="${build.4jdk7.classes.dir}"
528               debug="${build.debug}"
529               debuglevel="${build.debuglevel}"
530               deprecation="${build.deprecation}"
531               source="6"
532               classpath=""
533               bootclasspath="${bootclasspath6}"
534               includeAntRuntime="false"
535               includeJavaRuntime="false"
536               executable="${javac7}"
537               fork="true">
538    
539        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/dijkstra/**"/>  
   
540        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
541        <classpath refid="j1.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
542          <compilerarg value="-Xlint:all"/>
543    
544      </javac>      </javac>
545    
546    </target>      <jar destfile="${4jdk7product.jar}" index="true">
547          <fileset dir="${build.4jdk7.classes.dir}"/>
548        </jar>
549    
550    <target name="sw" depends="compile-j1"      <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
           description="Runs the SwingWorker demo">  
551    
552      <!--      <javac srcdir="${tck.src.dir}"
553      <java classname="jsr166.swing.SwingWorkerDemo" fork="true">             destdir="${build.4jdk7.tck.classes.dir}"
554        <classpath refid="j1.classpath"/>             debug="${build.debug}"
555      </java>             debuglevel="${build.debuglevel}"
556      -->             deprecation="${build.deprecation}"
557               source="6"
558               classpath="${junit.jar}"
559               bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
560               includeAntRuntime="false"
561               includeJavaRuntime="false"
562               executable="${javac7}"
563               fork="true">
564    
565      <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>        <include name="**/*.java"/>
566          <compilerarg line="${build.args}"/>
567          <compilerarg value="-XDignore.symbol.file=true"/>
568          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
569    
570      <exec dir="${build.j1.dir}" executable="appletviewer.exe">      </javac>
       <arg value="${build.j1.dir}/SwingWorker.html"/>  
     </exec>  
571    
572    </target>    </target>
573    
   <target name="j1" depends="compile-j1"  
           description="Runs a standalone JavaOne program">  
574    
575      <java classname="${j1.test}" fork="true">    <target name="4jdk7-test-tck"
576        <classpath refid="j1.classpath"/>            depends="4jdk7compile"
577        <jvmarg value="-client"/>            description="Runs tck tests for jsr166-4jdk7 directly">
578        <run-tck-tests
579          jvm="${java7}"
580          tck.classes="${build.4jdk7.tck.classes.dir}"
581          product.jar="${4jdk7product.jar}"/>
582      </target>
583    
       <!-- TestPseudoRandom args -->  
       <arg value="2"/>  
       <arg value="25"/>  
       <arg value="100000"/>  
584    
585        <!-- WebCrawler args -->    <target name="4jdk7-test-tck-junit"
586        <!--            depends="4jdk7compile"
587        <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"/>  
       -->  
588    
589      </java>      <junit printsummary="true"
590               showoutput="true"
591               errorProperty="junit.failed"
592               failureProperty="junit.failed"
593               includeantruntime="true"
594               jvm="${java7}"
595               fork="true">
596    
597    </target>        <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
598          <jvmarg value="-server"/>
599    
600          <classpath>
601            <pathelement location="${junit.jar}"/>
602            <pathelement location="${build.4jdk7.tck.classes.dir}"/>
603          </classpath>
604    
605    <target name="test-j1" depends="compile-j1"        <formatter type="brief"/>
           description="Runs testcases from the JavaOne source directories">  
606    
607      <junit printsummary="true"        <test name="JSR166TestCase" haltonfailure="no">
608               showoutput="true"        </test>
           errorProperty="junit.failed"  
         failureProperty="junit.failed"  
                     dir="${build.j1.dir}"  
                    fork="true">  
609    
610        <!-- <jvmarg value="-server"/> -->      </junit>
611        <classpath refid="j1.classpath"/>    </target>
       <formatter type="xml"/>  
612    
       <batchtest todir="${build.j1.dir}">  
         <fileset dir="${j1.src.dir}">  
           <include name="**/*Test.java"/>  
         </fileset>  
       </batchtest>  
613    
614      </junit>    <target name="4jdk7docs"
615              description="Builds javadocs for src/jdk7 to dist dir">
616    
617      <available property="junit.report.format"      <delete dir="${dist.4jdk7.docs.dir}"/>
618                    value="frames"      <mkdir dir="${dist.4jdk7.docs.dir}"/>
               classname="org.apache.xalan.lib.Redirect"/>  
     <property name="junit.report.format" value="noframes"/>  
619    
620      <junitreport todir="${build.j1.dir}">      <javadoc destdir="${dist.4jdk7.docs.dir}"
621        <fileset dir="${build.j1.dir}">               packagenames="none"
622          <include name="TEST-*.xml"/>               link="${jdkapi7docs.url}"
623                 overview="${4jdk7src.dir}/intro.html"
624                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
625                 classpath=""
626                 executable="${javadoc7}">
627          <arg value="-XDignore.symbol.file=true"/>
628          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
629            <include name="**/*.java"/>
630        </fileset>        </fileset>
631        <report styledir="${stylesheet.dir}"      </javadoc>
                 format="${junit.report.format}"  
                  todir="${build.j1.dir}"  
       />  
     </junitreport>  
   
     <fail message="Test Cases Failed" if="junit.failed"/>  
632    
633    </target>    </target>
634    
635    
636      <target name="4jdk7dist"
637              depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
638              description="Puts all distributable products in single hierarchy"/>
639    
   <!-- C++ and JNI definitions and demos -->  
   
   <target name="configure-cpp">  
640    
     <!-- Define tasks and types -->  
641    
642      <path id="cpptasks.path">    <target name="4jdk7clean"
643        <pathelement location="${lib.dir}/cpptasks.jar"/>            description="Removes all 4jdk7 build products">
     </path>  
     <taskdef resource="cpptasks.tasks" classpathref="cpptasks.path"/>  
     <typedef resource="cpptasks.types" classpathref="cpptasks.path"/>  
644    
645      <!-- Set platform property for JNI includes -->      <delete dir="${build.4jdk7.dir}"/>
   
     <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>  
646    
647    </target>    </target>
648    
649    
   <target name="cppdemo" depends="configure-cpp">  
650    
651      <mkdir dir="${build.dir}"/>    <target name="4jdk7dist-clean"
652              description="Removes all build and distribution products">
653    
654      </target>
655    
656      <cc multithreaded="true"    <target name="4jdk7dist-jar"
657                   name="g++"            depends="4jdk7clean, 4jdk7compile">
                objdir="${build.dir}"  
               outfile="${build.dir}/CppDemo">  
       <fileset dir="${test.src.dir}" includes="CppDemo.cpp"/>  
       <libset libs="stdc++"/>  
     </cc>  
658    
659      <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>  
660    
661    </target>    </target>
662    
663    
664    <target name="jnidemo" depends="init, configure-compiler, configure-cpp">    <!-- jsr166x -->
665    
666      <mkdir dir="${build.testcases.dir}"/>    <target name="jsr166xcompile"
667              depends="configure-compiler"
668              description="Compiles jsr166x sources to build dir">
669    
670      <javac srcdir="${test.src.dir}"      <mkdir dir="${build.jsr166x.classes.dir}"/>
671            destdir="${build.testcases.dir}"  
672              debug="${build.debug}"      <javac srcdir="${topsrc.dir}"
673         debuglevel="${build.debuglevel}"             destdir="${build.jsr166x.classes.dir}"
674        deprecation="${build.deprecation}"             debug="${build.debug}"
675             source="${build.sourcelevel}"             debuglevel="${build.debuglevel}"
676               fork="true">             deprecation="${build.deprecation}"
677        <compilerarg value="${bootclasspath.args}"/>             classpath=""
678               source="5"
679               bootclasspath="${bootclasspath6}"
680               includeAntRuntime="false"
681               includeJavaRuntime="false"
682               executable="${javac7}"
683               fork="true">
684    
685          <include name="jsr166x/**/*.java"/>
686        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
687        <classpath refid="test.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
688        <include name="JniDemo.java"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
     </javac>  
689    
690      <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>  
691    
692    </target>    </target>
693    
694    
695    
696    <!-- Backward compatibility, work in progress (some files not checked in) -->    <target name="jsr166xjar"
697              depends="jsr166xcompile"
698              description="Builds library jar from compiled sources">
699    
700        <jar destfile="${jsr166x.jar}">
701          <fileset dir="${build.jsr166x.classes.dir}"/>
702        </jar>
703    
704      </target>
705    
   <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"/>  
706    
   <target name="defang"  
        depends="init"  
    description="Generates pre-Tiger compatible source">  
707    
708      <delete dir="${pretiger.src.dir}"/>    <target name="jsr166xdocs"
709      <mkdir dir="${pretiger.src.dir}"/>            description="Builds javadocs to dist dir">
710    
711        <delete dir="${dist.jsr166xjavadocs.dir}"/>
712        <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
713    
714      <exec executable="perl">      <javadoc destdir="${dist.jsr166xjavadocs.dir}"
715        <arg file="etc/defang.pl"/>               packagenames="jsr166x.*"
716        <!-- <arg value="-v"/> -->               link="${jdkapidocs.url}"
717        <arg value="-s"/> <arg file="${src.dir}"/>               source="5"
718        <arg value="-t"/> <arg file="${pretiger.src.dir}"/>               bootclasspath="${bootclasspath6}"
719      </exec>               sourcepath="${topsrc.dir}:${jdk6src.dir}"
720                 executable="${javadoc7}"
721                 additionalparam="-XDignore.symbol.file=true" />
722    
723    </target>    </target>
724    
   <target name="compile-pretiger"  
           depends="init, configure-compiler, defang"  
           description="Compiles pre-Tiger sources to build folder">  
725    
726      <mkdir dir="${build.pretiger.dir}"/>    <target name="jsr166xdist"
727              depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdocs"
728              description="Puts all distributable products in single hierarchy"/>
729    
     <javac srcdir="${pretiger.src.dir}"  
           destdir="${build.pretiger.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${pretiger.sourcelevel}"  
              fork="true">  
730    
       <compilerarg line="${build.args}"/>  
       <exclude name="**/Thread.java"/>  
731    
732      </javac>    <target name="jsr166xclean"
733              description="Removes all jsr166x build products">
734    
735        <delete dir="${build.jsr166x.dir}"/>
736    
737    </target>    </target>
738    
   <target name="pretiger" depends="compile-pretiger">  
739    
     <mkdir dir="${build.lib.dir}"/>  
740    
741      <jar destfile="${pretiger.jar}">    <target name="jsr166xdist-clean"
742        <fileset dir="${build.pretiger.dir}">            description="Removes all build and distribution products">
       </fileset>  
     </jar>  
743    
744    </target>    </target>
745    
   <!-- jsr166x -->  
746    
747      <target name="jsr166xdist-jar"
748              depends="jsr166xclean, jsr166xjar">
749    
750    <target name="jsr166xcompile"      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
           depends="init, configure-compiler"  
           description="Compiles jsr166x sources">  
751    
752      <mkdir dir="${build.jsr166x.dir}"/>    </target>
753    
754      <javac srcdir="${jsr166xsrc.dir}"    <!-- jsr166y -->
           destdir="${build.jsr166x.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
755    
       <include name="**/*.java"/>  
       <compilerarg line="${build.args}"/>  
756    
757      <target name="jsr166ycompile"
758              depends="configure-compiler"
759              description="Compiles jsr166y sources">
760    
761        <mkdir dir="${build.jsr166y.classes.dir}"/>
762    
763        <javac srcdir="${topsrc.dir}"
764               destdir="${build.jsr166y.classes.dir}"
765               debug="${build.debug}"
766               debuglevel="${build.debuglevel}"
767               deprecation="${build.deprecation}"
768               source="6"
769               classpath=""
770               bootclasspath="${bootclasspath6}"
771               includeAntRuntime="false"
772               includeJavaRuntime="false"
773               executable="${javac7}"
774               fork="true">
775    
776          <include name="jsr166y/**/*.java"/>
777          <compilerarg line="${build.args}"/>
778          <compilerarg value="-XDignore.symbol.file=true"/>
779          <compilerarg value="-Xlint:all"/>
780      </javac>      </javac>
781      </target>
782    
783    
784      <target name="jsr166yjar"
785              depends="jsr166ycompile"
786              description="Builds library jar from compiled sources">
787    
788        <jar destfile="${jsr166y.jar}" index="true">
789          <fileset dir="${build.jsr166y.classes.dir}"/>
790        </jar>
791    
792    </target>    </target>
793    
794    
795    
796    <target name="jsr166xjar"    <target name="jsr166ydocs"
797            depends="jsr166xcompile"            description="Builds javadocs to dist dir">
           description="Builds library jar from compiled sources">  
798    
799      <mkdir dir="${build.jsr166xlib.dir}"/>      <delete dir="${dist.jsr166yjavadocs.dir}"/>
800        <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
801    
802      <jar destfile="${jsr166xproduct.jar}">      <javadoc destdir="${dist.jsr166yjavadocs.dir}"
803        <fileset dir="${build.jsr166x.dir}"/>               packagenames="jsr166y.*"
804      </jar>               link="${jdkapidocs.url}"
805                 source="6"
806                 bootclasspath="${bootclasspath6}"
807                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
808                 executable="${javadoc7}"
809                 additionalparam="-XDignore.symbol.file=true" />
810    
811    </target>    </target>
812    
813    
814      <target name="jsr166ydist"
815              depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydocs"
816              description="Puts all distributable products in single hierarchy"/>
817    
   <target name="jsr166xdocs"  
           description="Builds javadocs with custom tags to build folder">  
818    
     <delete dir="${build.jsr166xjavadocs.dir}"/>  
     <mkdir dir="${build.jsr166xjavadocs.dir}"/>  
819    
820      <javadoc destdir="${build.jsr166xjavadocs.dir}"    <target name="jsr166yclean"
821               link="http://java.sun.com/javase/6/docs/api/"            description="Removes all jsr166y build products">
822    
823              sourcepath="${jsr166xsrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"      <delete dir="${build.jsr166y.dir}"/>
824    
825      >    </target>
       <packageset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="jsr166x"/>  
       </packageset>  
826    
827    
828      </javadoc>  
829      <target name="jsr166ydist-clean"
830              description="Removes all build and distribution products">
831    
832    </target>    </target>
833    
834      <target name="jsr166ydist-jar"
835              depends="jsr166yclean, jsr166yjar">
836    
837    <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"/>  
838    
839      </target>
840    
841    
842    <target name="jsr166xclean"    <!-- extra166y -->
           description="Removes all build products">  
843    
844      <delete dir="${build.jsr166x.dir}"/>  
845      <delete dir="${build.jsr166xlib.dir}"/>    <target name="extra166ycompile"
846              depends="configure-compiler, jsr166yjar"
847              description="Compiles extra166y sources">
848    
849        <mkdir dir="${build.extra166y.classes.dir}"/>
850    
851        <javac srcdir="${topsrc.dir}"
852               destdir="${build.extra166y.classes.dir}"
853               debug="${build.debug}"
854               debuglevel="${build.debuglevel}"
855               deprecation="${build.deprecation}"
856               classpath=""
857               source="6"
858               bootclasspath="${jsr166y.jar}:${bootclasspath6}"
859               includeAntRuntime="false"
860               includeJavaRuntime="false"
861               executable="${javac7}"
862               fork="true">
863    
864          <include name="extra166y/**/*.java"/>
865          <compilerarg line="${build.args}"/>
866          <compilerarg value="-XDignore.symbol.file=true"/>
867          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
868    
869        </javac>
870    
871    </target>    </target>
872    
873    
874    
875    <target name="jsr166xdist-clean"    <target name="extra166yjar"
876            description="Removes all build and distribution products">            depends="extra166ycompile"
877              description="Builds library jar from compiled sources">
878    
879        <jar destfile="${extra166y.jar}" index="true">
880          <fileset dir="${build.extra166y.classes.dir}"/>
881        </jar>
882    
883    </target>    </target>
884    
885    
886    
887    <target name="jsr166xdist-docs"    <target name="extra166ydocs"
888            description="Builds javadocs without custom tags to dist folder">            description="Builds javadocs to build dir">
889    
890      <delete dir="${dist.jsr166xjavadocs.dir}"/>      <delete dir="${dist.extra166yjavadocs.dir}"/>
891      <mkdir dir="${dist.jsr166xjavadocs.dir}"/>      <mkdir dir="${dist.extra166yjavadocs.dir}"/>
892    
893      <javadoc destdir="${dist.jsr166xjavadocs.dir}"      <javadoc destdir="${dist.extra166yjavadocs.dir}"
894                  link="http://java.sun.com/javase/6/docs/api/"               packagenames="extra166y.*"
895                source="${build.sourcelevel}">               link="${jdkapidocs.url}"
896                 source="6"
897                 bootclasspath="${bootclasspath6}"
898                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
899                 executable="${javadoc7}"
900                 additionalparam="-XDignore.symbol.file=true" />
901    
902      </target>
903    
904    
905      <target name="extra166ydist"
906              depends="extra166ydist-clean, extra166ydist-jar, extra166ydocs"
907              description="Puts all distributable products in single hierarchy"/>
908    
       <packageset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="jsr166x"/>  
       </packageset>  
909    
910      </javadoc>  
911      <target name="extra166yclean"
912              description="Removes all extra166y build products">
913    
914        <delete dir="${build.extra166y.dir}"/>
915    
916    </target>    </target>
917    
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
918    
919      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>  
920      <target name="extra166ydist-clean"
921              description="Removes all build and distribution products">
922    
923    </target>    </target>
924    
925    <!-- jsr166y -->    <target name="extra166ydist-jar"
926              depends="extra166yclean, extra166yjar">
927    
928        <copy file="${extra166y.jar}" todir="${dist.dir}"/>
929    
930    <target name="jsr166ycompile"    </target>
           depends="init, configure-compiler"  
           description="Compiles jsr166y sources">  
931    
932      <mkdir dir="${build.jsr166y.dir}"/>    <!-- jsr166e -->
933    
934      <javac srcdir="${jsr166ysrc.dir}"    <target name="jsr166ecompile"
935            destdir="${build.jsr166y.dir}"            depends="configure-compiler"
936              debug="${build.debug}"            description="Compiles jsr166e sources">
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
937    
938        <include name="**/*.java"/>      <mkdir dir="${build.jsr166e.classes.dir}"/>
939        <compilerarg line="${build.args}"/>  
940        <compilerarg value="${bootclasspath.args}"/>      <javac srcdir="${topsrc.dir}"
941               destdir="${build.jsr166e.classes.dir}"
942               debug="${build.debug}"
943               debuglevel="${build.debuglevel}"
944               deprecation="${build.deprecation}"
945               source="7"
946               classpath=""
947               includeAntRuntime="false"
948               includeJavaRuntime="false"
949               executable="${javac7}"
950               fork="true">
951    
952  <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->        <include name="jsr166e/**/*.java"/>
953          <compilerarg line="${build.args}"/>
954          <compilerarg value="-XDignore.symbol.file=true"/>
955          <compilerarg value="-Xlint:all"/>
956    
957      </javac>      </javac>
958    
# Line 1122  Line 960 
960    
961    
962    
963    <target name="jsr166yjar"    <target name="jsr166ejar"
964            depends="jsr166ycompile"            depends="jsr166ecompile"
965            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
966    
967      <mkdir dir="${build.jsr166ylib.dir}"/>      <jar destfile="${jsr166e.jar}" index="true">
968          <fileset dir="${build.jsr166e.classes.dir}"/>
     <jar destfile="${jsr166yproduct.jar}">  
       <fileset dir="${build.jsr166y.dir}"/>  
969      </jar>      </jar>
970    
971    </target>    </target>
972    
973    
974    
975    <target name="jsr166ydocs"    <target name="jsr166edocs"
976            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>  
977    
978        <delete dir="${dist.jsr166ejavadocs.dir}"/>
979        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
980    
981        <javadoc destdir="${dist.jsr166ejavadocs.dir}"
982                 packagenames="jsr166e.*"
983                 link="${jdkapidocs.url}"
984                 source="7"
985                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
986                 executable="${javadoc7}"
987                 additionalparam="-XDignore.symbol.file=true" >
988      </javadoc>      </javadoc>
989    
990    </target>    </target>
991    
992    
993    <target name="jsr166ydist"    <target name="jsr166edist"
994            depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"            depends="jsr166edist-clean, jsr166edist-jar, jsr166edocs"
995            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
996    
997    
998    
999    <target name="jsr166yclean"    <target name="jsr166eclean"
1000            description="Removes all build products">            description="Removes all jsr166e build products">
1001    
1002      <delete dir="${build.jsr166y.dir}"/>      <delete dir="${build.jsr166e.dir}"/>
     <delete dir="${build.jsr166ylib.dir}"/>  
1003    
1004    </target>    </target>
1005    
1006    
1007      <target name="jsr166edist-clean"
   <target name="jsr166ydist-clean"  
1008            description="Removes all build and distribution products">            description="Removes all build and distribution products">
1009    
1010    </target>    </target>
1011    
1012    <target name="jsr166ydist-docs"    <target name="jsr166edist-jar"
1013            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">  
1014    
1015      <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1016    
1017    </target>    </target>
1018    

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

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