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

Diff of /jsr166/build.xml

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

revision 1.73 by dl, Tue Nov 8 00:13:41 2005 UTC revision 1.117 by jsr166, Sun Jan 20 07:43:30 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.classes.dir"    location="${build.jsr166y.dir}/classes"/>
62      <property name="build.jsr166e.classes.dir"    location="${build.jsr166e.dir}/classes"/>
63      <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="target"/>
88        <attribute name="workdir"/>
89        <attribute name="product.jar" default="${product.jar}"/>
90        <attribute name="jvmflags" default=""/>
91        <sequential>
92    
93        <mkdir dir="@{workdir}/tck-classes"/>
94    
95        <javac srcdir="${tck.src.dir}"
96               destdir="@{workdir}/tck-classes"
97               debug="${build.debug}"
98               debuglevel="${build.debuglevel}"
99               deprecation="${build.deprecation}"
100               source="6"
101               classpath="${junit.jar}"
102               bootclasspath="@{product.jar}:${bootclasspath6}"
103               includeAntRuntime="false"
104               includeJavaRuntime="false"
105               executable="${javac@{target}}"
106               fork="true">
107    
108          <include name="**/*.java"/>
109          <compilerarg value="-XDignore.symbol.file=true"/>
110          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
111          <compilerarg line="${build.args}"/>
112        </javac>
113    
114        <java classname="JSR166TestCase"
115              failonerror="true"
116              jvm="${java@{target}}"
117              fork="true">
118            <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
119            <jvmarg line="@{jvmflags}"/>
120            <classpath>
121              <pathelement location="${junit.jar}"/>
122              <pathelement location="@{workdir}/tck-classes"/>
123            </classpath>
124        </java>
125    
126        </sequential>
127      </macrodef>
128    
129    <!-- Source locations -->    <!-- Source locations -->
130    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
131    <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"/>  
132    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
133    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
134    <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"/>  
135    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
136    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
137    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
138    <property name="jsr166xsrc.dir"       location="${basedir}/src/jsr166x"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
139      <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
140      <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
141      <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
142      <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>
143    
144    <!-- Distribution locations -->    <!-- Distribution locations -->
145    <property name="dist.javadocs.dir"    location="${dist.dir}/docs"/>    <property name="dist.javadocs.dir"          location="${dist.dir}/jsr166.docs"/>
146    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>    <property name="dist.4jdk7.docs.dir"        location="${dist.dir}/jsr166-4jdk7.docs"/>
147      <property name="dist.jsr166xjavadocs.dir"   location="${dist.dir}/jsr166x.docs"/>
148      <property name="dist.jsr166yjavadocs.dir"   location="${dist.dir}/jsr166y.docs"/>
149      <property name="dist.jsr166ejavadocs.dir"   location="${dist.dir}/jsr166e.docs"/>
150      <property name="dist.extra166yjavadocs.dir" location="${dist.dir}/extra166y.docs"/>
151    
152    <!-- Jar locations -->    <!-- Jar locations -->
153    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"      location="${build.dir}/jsr166.jar"/>
154    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>    <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
155    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>    <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>
156    <property name="concurrent.jar"       location="${lib.dir}/concurrent.jar"/>    <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>
157      <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>
158      <property name="extra166y.jar"    location="${build.extra166y.dir}/extra166y.jar"/>
159      <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
160    
161    <!-- Bootclasspath argument -->    <!-- Bootclasspath argument -->
162    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
163    
164      <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
165      <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
166      <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
167      <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>
168    
169      <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
170      <!-- The below does not yet exist as of 2012-11 -->
171      <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
172    
173      <!-- Default jdk api doc location (latest stable release seems best) -->
174      <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
175    
176      <!-- Define the "jtreg" task -->
177      <!-- See the docs in "jtreg -onlineHelp" -->
178      <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
179               classpath="${lib.dir}/jtreg.jar" />
180    
181    <!-- Test classpath -->    <!-- Test classpath -->
182    <path id="test.classpath">    <path id="test.classpath">
183      <pathelement location="${build.testcases.dir}"/>      <pathelement location="${build.testcases.dir}"/>
# Line 82  Line 189 
189      <pathelement location="${build.loops.dir}"/>      <pathelement location="${build.loops.dir}"/>
190    </path>    </path>
191    
192    <!-- J1 classpath -->    <!-- Support @jls tag, used in jdk8+ javadoc -->
193    <path id="j1.classpath">    <!-- TODO: How do we get &trade to work? -->
194      <pathelement location="${build.classes.dir}"/>    <!-- TODO: Why isn't @jls a "standard" tag? -->
195      <pathelement location="${build.j1.dir}"/>    <!--   property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
196      <pathelement location="${junit.jar}"/>    <property name="javadoc.jls.cite" value="The Java Language Specification"/>
197      <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>  
   
198    
199    <!-- Main targets -->    <!-- Main targets -->
200    
201      <target name="dists"
202              depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
203              description="Builds all public jars and docs"/>
204    
205    <target name="compile"    <target name="compile"
206            depends="init, configure-compiler"            depends="configure-compiler"
207            description="Compiles main sources to build folder">            description="Compiles src/main sources to build dir">
208    
209      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
210    
211      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
212            destdir="${build.classes.dir}"             destdir="${build.classes.dir}"
213              debug="${build.debug}"             debug="${build.debug}"
214         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
215        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
216             source="${build.sourcelevel}"             classpath=""
217               fork="true">             includeAntRuntime="false"
218               includeJavaRuntime="false"
219               executable="${javac8}"
220               fork="true">
221    
222        <include name="**/*.java"/>        <include name="**/*.java"/>
223          <compilerarg line="${build.args}"/>
224          <compilerarg value="-XDignore.symbol.file=true"/>
225          <compilerarg value="-Xlint:all"/>
226    
227  <!--  <!--
228        <exclude name="java/lang/**"/>        <exclude name="java/lang/**"/>
229        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 127  Line 240 
240            depends="compile"            depends="compile"
241            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
242    
     <mkdir dir="${build.lib.dir}"/>  
   
243      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
244        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}"/>
245      </jar>      </jar>
# Line 138  Line 249 
249    
250    
251    <target name="test"    <target name="test"
252            depends="init, configure-tests, report-tests"            depends="configure-tests, report-tests"
253            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)" />
254    
255    
256    
257    <target name="docs"    <target name="docs"
258            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/j2se/1.5.0/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>  
259    
260        <delete dir="${dist.javadocs.dir}"/>
261        <mkdir dir="${dist.javadocs.dir}"/>
262    
263        <!-- the packagenames="none" hack below prevents scanning the -->
264        <!-- sourcepath for packages -->
265    
266    <target name="doccheck"      <javadoc destdir="${dist.javadocs.dir}"
267            depends="filter-doccheck"               packagenames="none"
268            description="Reports on javadoc style errors">               link="${jdkapi8docs.url}"
269                 overview="${src.dir}/intro.html"
270      <delete dir="${build.doccheck.dir}"/>               sourcepath="${src.dir}:${jdk8src.dir}"
271      <mkdir dir="${build.doccheck.dir}"/>               classpath=""
272                 executable="${javadoc8}">
273      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"        <arg value="-XDignore.symbol.file=true"/>
274           docletpath="${lib.dir}/doccheck.jar"        <arg value="-tag"/>
275              destdir="${build.doccheck.dir}">        <arg value="${javadoc.jls.option}"/>
276        <packageset dir="${build.dc-filter.dir}"/>        <fileset dir="${src.dir}" defaultexcludes="yes">
277            <include name="**/*.java"/>
278          </fileset>
279      </javadoc>      </javadoc>
280    
     <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"/>  
   
281    </target>    </target>
282    
283    
284    
285    <target name="dist"    <target name="dist"
286            depends="init, dist-clean, dist-jar, dist-docs"            depends="dist-clean, dist-jar, docs"
287            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
288    
289    
   
290    <target name="release"    <target name="release"
291            depends="dist"            depends="dist"
292            description="Puts entire CVS tree, plus distribution productions, in a jar">            description="Puts entire CVS tree, plus distribution productions, in a jar">
# Line 235  Line 311 
311            description="Removes all build products">            description="Removes all build products">
312    
313      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
     <delete dir="${build.classes.dir}"/>  
     <delete dir="${build.lib.dir}"/>  
314    
315    </target>    </target>
316    
# Line 251  Line 325 
325    
326    
327    
   <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/j2se/1.5.0/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/*.java"/>  
       <include name="main/java/util/*.html"/>  
 <!--      <include name="jsr166x/*.java"/> -->  
       </fileset>  
     </javadoc>  
   
   </target>  
   
   
   
328    <!-- Internal targets -->    <!-- Internal targets -->
329    
330    
   <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>  
   
   
331    <target name="dist-jar"    <target name="dist-jar"
332            depends="clean, jar">            depends="clean, jar">
333    
# Line 300  Line 336 
336    </target>    </target>
337    
338    
   <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>  
   
   
339    <target name="compile-tests"    <target name="compile-tests"
340            depends="jar">            depends="jar">
341    
342      <mkdir dir="${build.testcases.dir}"/>      <mkdir dir="${build.testcases.dir}"/>
343    
344      <javac srcdir="${tck.src.dir}"      <javac srcdir="${tck.src.dir}"
345            destdir="${build.testcases.dir}"             destdir="${build.testcases.dir}"
346              debug="${build.debug}"             debug="${build.debug}"
347         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
348        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
349             source="${build.sourcelevel}"             source="6"
350               fork="true">             classpath="${junit.jar}"
351               bootclasspath="${product.jar}:${bootclasspath6}"
352               includeAntRuntime="false"
353               includeJavaRuntime="false"
354               executable="${javac8}"
355               fork="true">
356    
357        <compilerarg value="${bootclasspath.args}"/>        <include name="**/*.java"/>
358        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
359          <compilerarg value="-XDignore.symbol.file=true"/>
360        <classpath refid="test.classpath"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
361    
362      </javac>      </javac>
363    
364      <javac srcdir="${test.src.dir}"      <javac srcdir="${test.src.dir}"
365            destdir="${build.testcases.dir}"             destdir="${build.testcases.dir}"
366              debug="${build.debug}"             debug="${build.debug}"
367         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
368        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
369             source="${build.sourcelevel}"             source="6"
370               fork="true">             classpath=""
371               bootclasspath="${product.jar}:${bootclasspath6}"
372               includeAntRuntime="false"
373               includeJavaRuntime="false"
374               executable="${javac8}"
375               fork="true">
376    
377        <include name="jsr166/test/**"/>        <include name="jsr166/test/**/*.java"/>
378    
       <compilerarg value="${bootclasspath.args}"/>  
379        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
380          <compilerarg value="-XDignore.symbol.file=true"/>
381        <classpath refid="test.classpath"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
382    
383      </javac>      </javac>
384    
# Line 459  Line 393 
393    
394        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
395        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
396          <compilerarg value="-XDignore.symbol.file=true"/>
       <classpath refid="test.classpath"/>  
397    
398      </javac>      </javac>
399  -->  -->
# Line 481  Line 414 
414            errorProperty="junit.failed"            errorProperty="junit.failed"
415          failureProperty="junit.failed"          failureProperty="junit.failed"
416                      dir="${build.reports.dir}"                      dir="${build.reports.dir}"
417                        jvm="${java8}"
418                     fork="true">                     fork="true">
419    
420        <jvmarg value="${bootclasspath.args}"/>        <jvmarg value="-Xbootclasspath/p:${product.jar}"/>
421        <jvmarg value="-server"/>        <jvmarg value="-server"/>
422        <jvmarg value="-showversion"/>        <jvmarg value="-showversion"/>
423    
# Line 531  Line 465 
465        <fileset dir="${build.reports.dir}">        <fileset dir="${build.reports.dir}">
466          <include name="TEST-*.xml"/>          <include name="TEST-*.xml"/>
467        </fileset>        </fileset>
468        <report styledir="${stylesheet.dir}"        <report format="${junit.report.format}" todir="${build.reports.dir}"
                 format="${junit.report.format}"  
                  todir="${build.reports.dir}"  
469        />        />
470      </junitreport>      </junitreport>
471    
# Line 583  Line 515 
515    </target>    </target>
516    
517    
   
   <!-- 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>  
   
   
   
518    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
519    
520    
521    <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"  
522            description="Benchmark from Doug Lea's AQS paper">            description="Benchmark from Doug Lea's AQS paper">
523    
524      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
# Line 682  Line 533 
533    
534        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
535        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
536          <compilerarg value="-XDignore.symbol.file=true"/>
537    
538      </javac>      </javac>
539    
# Line 692  Line 544 
544    </target>    </target>
545    
546    
547    <target name="compile-j1" depends="init, configure-compiler, compile">    <!-- jsr166 4jdk7 -->
548    
     <mkdir dir="${build.j1.dir}"/>  
549    
550      <javac srcdir="${j1.src.dir}"    <target name="4jdk7compile"
551            destdir="${build.j1.dir}"            depends="configure-compiler"
552              debug="${build.debug}"            description="Compiles src/jdk7 sources, targeting jdk7">
553         debuglevel="${build.debuglevel}"  
554        deprecation="${build.deprecation}"      <mkdir dir="${build.4jdk7.classes.dir}"/>
555             source="${build.sourcelevel}" >  
556        <javac srcdir="${4jdk7src.dir}"
557               destdir="${build.4jdk7.classes.dir}"
558               debug="${build.debug}"
559               debuglevel="${build.debuglevel}"
560               deprecation="${build.deprecation}"
561               source="6"
562               classpath=""
563               bootclasspath="${bootclasspath6}"
564               includeAntRuntime="false"
565               includeJavaRuntime="false"
566               executable="${javac7}"
567               fork="true">
568    
569        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/dijkstra/**"/>  
   
570        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
571        <classpath refid="j1.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
572          <compilerarg value="-Xlint:all"/>
573    
574      </javac>      </javac>
575    
576    </target>    </target>
577    
578      <target name="4jdk7-jar"
579              depends="4jdk7compile"
580              description="Builds library jar from compiled sources">
581    
582    <target name="sw" depends="compile-j1"      <jar destfile="${4jdk7product.jar}">
583            description="Runs the SwingWorker demo">        <fileset dir="${build.4jdk7.classes.dir}"/>
584        </jar>
585    
586      <!--    </target>
     <java classname="jsr166.swing.SwingWorkerDemo" fork="true">  
       <classpath refid="j1.classpath"/>  
     </java>  
     -->  
587    
     <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>  
588    
589      <exec dir="${build.j1.dir}" executable="appletviewer.exe">    <target name="4jdk7-test-tck"
590        <arg value="${build.j1.dir}/SwingWorker.html"/>            depends="4jdk7-jar"
591      </exec>            description="Runs tck tests for jsr166-4jdk7 directly">
592    
593        <run-tck-tests
594          target="7"
595          workdir="${build.4jdk7.dir}"
596          product.jar="${4jdk7product.jar}"/>
597    </target>    </target>
598    
   <target name="j1" depends="compile-j1"  
           description="Runs a standalone JavaOne program">  
599    
600      <java classname="${j1.test}" fork="true">    <target name="4jdk7-test-tck-junit"
601        <classpath refid="j1.classpath"/>            depends="4jdk7compile"
602        <jvmarg value="-client"/>            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
603    
604        <junit printsummary="true"
605               showoutput="true"
606               errorProperty="junit.failed"
607               failureProperty="junit.failed"
608               includeantruntime="true"
609               jvm="${java7}"
610               fork="true">
611    
612        <!-- TestPseudoRandom args -->        <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
613        <arg value="2"/>        <jvmarg value="-server"/>
       <arg value="25"/>  
       <arg value="100000"/>  
614    
615        <!-- WebCrawler args -->        <classpath>
616        <!--          <pathelement location="${junit.jar}"/>
617        <arg value="jsr166.webcrawler.WebCrawler3"/>          <pathelement location="${build.4jdk7.tck.classes.dir}"/>
618        <arg value="http://www.priorartisans.com"/>        </classpath>
       <arg value="25"/>  
       -->  
619    
620      </java>        <formatter type="brief"/>
621    
622          <test name="JSR166TestCase" haltonfailure="no">
623          </test>
624    
625        </junit>
626    </target>    </target>
627    
628      <target name="4jdk7-test-jtreg"
629              depends="4jdk7compile"
630              description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
631        <delete dir="${build.4jdk7.dir}/JTwork"   quiet="true"/>
632        <delete dir="${build.4jdk7.dir}/JTreport" quiet="true"/>
633        <mkdir dir="${build.4jdk7.dir}/JTwork/scratch"/>
634        <mkdir dir="${build.4jdk7.dir}/JTreport"/>
635        <jtreg dir="${jtreg.src.dir}"
636               jdk="${jdk7.home}"
637               workDir="${build.4jdk7.dir}/JTwork"
638               reportDir="${build.4jdk7.dir}/JTreport">
639    
640          <arg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
641          <arg value="-agentvm"/>
642          <arg value="-v:nopass,fail"/>
643          <arg value="-vmoptions:-esa -ea"/>
644          <arg value="-automatic"/>
645          <arg value="-k:!ignore"/>
646        </jtreg>
647      </target>
648    
   <target name="test-j1" depends="compile-j1"  
           description="Runs testcases from the JavaOne source directories">  
649    
650      <junit printsummary="true"    <target name="4jdk7-test"
651               showoutput="true"            depends="4jdk7-test-tck, 4jdk7-test-jtreg"
652            errorProperty="junit.failed"            description="Runs tck and jtreg tests for jsr166-4jdk7">
653          failureProperty="junit.failed"    </target>
                     dir="${build.j1.dir}"  
                    fork="true">  
654    
       <!-- <jvmarg value="-server"/> -->  
       <classpath refid="j1.classpath"/>  
       <formatter type="xml"/>  
655    
656        <batchtest todir="${build.j1.dir}">    <target name="4jdk7docs"
657          <fileset dir="${j1.src.dir}">            description="Builds javadocs for src/jdk7 to dist dir">
658            <include name="**/*Test.java"/>  
659          </fileset>      <delete dir="${dist.4jdk7.docs.dir}"/>
660        </batchtest>      <mkdir dir="${dist.4jdk7.docs.dir}"/>
661    
662        <javadoc destdir="${dist.4jdk7.docs.dir}"
663                 packagenames="none"
664                 link="${jdkapi7docs.url}"
665                 overview="${4jdk7src.dir}/intro.html"
666                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
667                 classpath=""
668                 executable="${javadoc7}">
669          <arg value="-XDignore.symbol.file=true"/>
670          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
671            <include name="**/*.java"/>
672          </fileset>
673        </javadoc>
674    
675      </junit>    </target>
676    
     <available property="junit.report.format"  
                   value="frames"  
               classname="org.apache.xalan.lib.Redirect"/>  
     <property name="junit.report.format" value="noframes"/>  
677    
678      <junitreport todir="${build.j1.dir}">    <target name="4jdk7dist"
679        <fileset dir="${build.j1.dir}">            depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
680          <include name="TEST-*.xml"/>            description="Puts all distributable products in single hierarchy"/>
       </fileset>  
       <report styledir="${stylesheet.dir}"  
                 format="${junit.report.format}"  
                  todir="${build.j1.dir}"  
       />  
     </junitreport>  
681    
     <fail message="Test Cases Failed" if="junit.failed"/>  
682    
   </target>  
683    
684      <target name="4jdk7clean"
685              description="Removes all 4jdk7 build products">
686    
687        <delete dir="${build.4jdk7.dir}"/>
688    
689      </target>
690    
   <!-- C++ and JNI definitions and demos -->  
691    
   <target name="configure-cpp">  
692    
693      <!-- Define tasks and types -->    <target name="4jdk7dist-clean"
694              description="Removes all build and distribution products">
695    
696      <path id="cpptasks.path">    </target>
       <pathelement location="${lib.dir}/cpptasks.jar"/>  
     </path>  
     <taskdef resource="cpptasks.tasks" classpathref="cpptasks.path"/>  
     <typedef resource="cpptasks.types" classpathref="cpptasks.path"/>  
697    
698      <!-- Set platform property for JNI includes -->    <target name="4jdk7dist-jar"
699              depends="4jdk7clean, 4jdk7compile">
700    
701      <condition property="platform" value="linux">      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
       <os name="Linux"/>  
     </condition>  
     <condition property="platform" value="win32">  
       <os family="windows"/>  
     </condition>  
     <condition property="platform" value="solaris">  
       <os name="SunOS"/>  
     </condition>  
702    
703    </target>    </target>
704    
705    
706    <target name="cppdemo" depends="configure-cpp">    <!-- jsr166x -->
707    
708      <target name="jsr166xcompile"
709              depends="configure-compiler"
710              description="Compiles jsr166x sources to build dir">
711    
712      <mkdir dir="${build.dir}"/>      <mkdir dir="${build.jsr166x.classes.dir}"/>
713    
714      <cc multithreaded="true"      <javac srcdir="${topsrc.dir}"
715                   name="g++"             destdir="${build.jsr166x.classes.dir}"
716                 objdir="${build.dir}"             debug="${build.debug}"
717                outfile="${build.dir}/CppDemo">             debuglevel="${build.debuglevel}"
718        <fileset dir="${test.src.dir}" includes="CppDemo.cpp"/>             deprecation="${build.deprecation}"
719        <libset libs="stdc++"/>             classpath=""
720      </cc>             source="5"
721               bootclasspath="${bootclasspath6}"
722               includeAntRuntime="false"
723               includeJavaRuntime="false"
724               executable="${javac7}"
725               fork="true">
726    
727      <exec executable="${build.dir}/CppDemo">        <include name="jsr166x/**/*.java"/>
728        <arg line="count in word frequency of word in command line count"/>        <compilerarg line="${build.args}"/>
729      </exec>        <compilerarg value="-XDignore.symbol.file=true"/>
730          <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
731    
732        </javac>
733    
734    </target>    </target>
735    
736    
   <target name="jnidemo" depends="init, configure-compiler, configure-cpp">  
737    
738      <mkdir dir="${build.testcases.dir}"/>    <target name="jsr166xjar"
739              depends="jsr166xcompile"
740              description="Builds library jar from compiled sources">
741    
742      <javac srcdir="${test.src.dir}"      <jar destfile="${jsr166x.jar}">
743            destdir="${build.testcases.dir}"        <fileset dir="${build.jsr166x.classes.dir}"/>
744              debug="${build.debug}"      </jar>
        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>  
745    
746      <javah destdir="${build.testcases.dir}"    </target>
747        classpathref="test.classpath">  
748        <class name="JniDemo"/>  
749      </javah>  
750      <target name="jsr166xdocs"
751      <cc multithreaded="true"            description="Builds javadocs to dist dir">
752                   name="g++"  
753                 objdir="${build.dir}"      <delete dir="${dist.jsr166xjavadocs.dir}"/>
754                outfile="${build.dir}/JniDemo"      <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
755                outtype="shared">  
756        <javadoc destdir="${dist.jsr166xjavadocs.dir}"
757        <compiler>               packagenames="jsr166x.*"
758          <defineset>               link="${jdkapidocs.url}"
759            <define name="__int64" value="long long"/>               source="5"
760          </defineset>               bootclasspath="${bootclasspath6}"
761          <includepath location="${java.home}/../include"/>               sourcepath="${topsrc.dir}:${jdk6src.dir}"
762          <includepath location="${java.home}/../include/${platform}"/>               executable="${javadoc7}"
763          <compilerarg value="-mno-cygwin"/>               additionalparam="-XDignore.symbol.file=true"/>
       </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>  
764    
765    </target>    </target>
766    
767    
768      <target name="jsr166xdist"
769              depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdocs"
770              description="Puts all distributable products in single hierarchy"/>
771    
772    
   <!-- Backward compatibility, work in progress (some files not checked in) -->  
773    
774      <target name="jsr166xclean"
775              description="Removes all jsr166x build products">
776    
777        <delete dir="${build.jsr166x.dir}"/>
778    
779    <property name="pretiger.src.dir"     location="${build.dir}/pretiger/src"/>    </target>
   <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"/>  
780    
   <target name="defang"  
        depends="init"  
    description="Generates pre-Tiger compatible source">  
781    
     <delete dir="${pretiger.src.dir}"/>  
     <mkdir dir="${pretiger.src.dir}"/>  
782    
783      <exec executable="perl">    <target name="jsr166xdist-clean"
784        <arg file="etc/defang.pl"/>            description="Removes all build and distribution products">
       <!-- <arg value="-v"/> -->  
       <arg value="-s"/> <arg file="${src.dir}"/>  
       <arg value="-t"/> <arg file="${pretiger.src.dir}"/>  
     </exec>  
785    
786    </target>    </target>
787    
   <target name="compile-pretiger"  
           depends="init, configure-compiler, defang"  
           description="Compiles pre-Tiger sources to build folder">  
788    
789      <mkdir dir="${build.pretiger.dir}"/>    <target name="jsr166xdist-jar"
790              depends="jsr166xclean, jsr166xjar">
791    
792      <javac srcdir="${pretiger.src.dir}"      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
           destdir="${build.pretiger.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${pretiger.sourcelevel}"  
              fork="true">  
793    
794        <compilerarg line="${build.args}"/>    </target>
795        <exclude name="**/Thread.java"/>  
796      <!-- jsr166y -->
797    
     </javac>  
798    
799      <target name="jsr166ycompile"
800              depends="configure-compiler"
801              description="Compiles jsr166y sources">
802    
803        <mkdir dir="${build.jsr166y.classes.dir}"/>
804    
805        <javac srcdir="${topsrc.dir}"
806               destdir="${build.jsr166y.classes.dir}"
807               debug="${build.debug}"
808               debuglevel="${build.debuglevel}"
809               deprecation="${build.deprecation}"
810               source="6"
811               classpath=""
812               bootclasspath="${bootclasspath6}"
813               includeAntRuntime="false"
814               includeJavaRuntime="false"
815               executable="${javac7}"
816               fork="true">
817    
818          <include name="jsr166y/**/*.java"/>
819          <compilerarg line="${build.args}"/>
820          <compilerarg value="-XDignore.symbol.file=true"/>
821          <compilerarg value="-Xlint:all"/>
822        </javac>
823    </target>    </target>
824    
   <target name="pretiger" depends="compile-pretiger">  
825    
826      <mkdir dir="${build.lib.dir}"/>    <target name="jsr166yjar"
827              depends="jsr166ycompile"
828              description="Builds library jar from compiled sources">
829    
830      <jar destfile="${pretiger.jar}">      <jar destfile="${jsr166y.jar}" index="true">
831        <fileset dir="${build.pretiger.dir}">        <fileset dir="${build.jsr166y.classes.dir}"/>
       </fileset>  
832      </jar>      </jar>
833    
834    </target>    </target>
835    
   <!-- jsr166x -->  
836    
837    
838    <target name="jsr166xcompile"    <target name="jsr166ydocs"
839            depends="init, configure-compiler"            description="Builds javadocs to dist dir">
           description="Compiles jsr166x sources">  
840    
841      <mkdir dir="${build.jsr166x.dir}"/>      <delete dir="${dist.jsr166yjavadocs.dir}"/>
842        <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
843    
844      <javac srcdir="${jsr166xsrc.dir}"      <javadoc destdir="${dist.jsr166yjavadocs.dir}"
845            destdir="${build.jsr166x.dir}"               packagenames="jsr166y.*"
846              debug="${build.debug}"               link="${jdkapidocs.url}"
847         debuglevel="${build.debuglevel}"               source="6"
848        deprecation="${build.deprecation}"               bootclasspath="${bootclasspath6}"
849             source="${build.sourcelevel}"               sourcepath="${topsrc.dir}:${jdk6src.dir}"
850               fork="true">               executable="${javadoc7}"
851                 additionalparam="-XDignore.symbol.file=true"/>
852    
853        <include name="**/*.java"/>    </target>
854    
855    
856      <target name="jsr166ydist"
857              depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydocs"
858              description="Puts all distributable products in single hierarchy"/>
859    
860    
861    
862      <target name="jsr166yclean"
863              description="Removes all jsr166y build products">
864    
865        <delete dir="${build.jsr166y.dir}"/>
866    
867      </target>
868    
869    
870    
871      <target name="jsr166ydist-clean"
872              description="Removes all build and distribution products">
873    
874      </target>
875    
876      <target name="jsr166ydist-jar"
877              depends="jsr166yclean, jsr166yjar">
878    
879        <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
880    
881      </target>
882    
883    
884      <!-- extra166y -->
885    
886    
887      <target name="extra166ycompile"
888              depends="configure-compiler, jsr166yjar"
889              description="Compiles extra166y sources">
890    
891        <mkdir dir="${build.extra166y.classes.dir}"/>
892    
893        <javac srcdir="${topsrc.dir}"
894               destdir="${build.extra166y.classes.dir}"
895               debug="${build.debug}"
896               debuglevel="${build.debuglevel}"
897               deprecation="${build.deprecation}"
898               classpath=""
899               source="6"
900               bootclasspath="${jsr166y.jar}:${bootclasspath6}"
901               includeAntRuntime="false"
902               includeJavaRuntime="false"
903               executable="${javac7}"
904               fork="true">
905    
906          <include name="extra166y/**/*.java"/>
907        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
908          <compilerarg value="-XDignore.symbol.file=true"/>
909          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
910    
911      </javac>      </javac>
912    
# Line 990  Line 914 
914    
915    
916    
917    <target name="jsr166xjar"    <target name="extra166yjar"
918            depends="jsr166xcompile"            depends="extra166ycompile"
919            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
920    
921      <mkdir dir="${build.jsr166xlib.dir}"/>      <jar destfile="${extra166y.jar}" index="true">
922          <fileset dir="${build.extra166y.classes.dir}"/>
     <jar destfile="${jsr166xproduct.jar}">  
       <fileset dir="${build.jsr166x.dir}"/>  
923      </jar>      </jar>
924    
925    </target>    </target>
926    
927    
928    
929    <target name="jsr166xdocs"    <target name="extra166ydocs"
930            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs to build dir">
   
     <delete dir="${build.jsr166xjavadocs.dir}"/>  
     <mkdir dir="${build.jsr166xjavadocs.dir}"/>  
   
     <javadoc destdir="${build.jsr166xjavadocs.dir}"  
                 link="http://java.sun.com/j2se/1.5.0/docs/api/"  
             sourcepath="${jsr166xsrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"  
   
     >  
       <packageset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="jsr166x"/>  
       </packageset>  
931    
932        <delete dir="${dist.extra166yjavadocs.dir}"/>
933        <mkdir dir="${dist.extra166yjavadocs.dir}"/>
934    
935      </javadoc>      <javadoc destdir="${dist.extra166yjavadocs.dir}"
936                 packagenames="extra166y.*"
937                 link="${jdkapidocs.url}"
938                 source="6"
939                 bootclasspath="${bootclasspath6}"
940                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
941                 executable="${javadoc7}"
942                 additionalparam="-XDignore.symbol.file=true"/>
943    
944    </target>    </target>
945    
946    
947    <target name="jsr166xdist"    <target name="extra166ydist"
948            depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"            depends="extra166ydist-clean, extra166ydist-jar, extra166ydocs"
949            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
950    
951    
952    
953    <target name="jsr166xclean"    <target name="extra166yclean"
954            description="Removes all build products">            description="Removes all extra166y build products">
955    
956      <delete dir="${build.jsr166x.dir}"/>      <delete dir="${build.extra166y.dir}"/>
     <delete dir="${build.jsr166xlib.dir}"/>  
957    
958    </target>    </target>
959    
960    
961    
962    <target name="jsr166xdist-clean"    <target name="extra166ydist-clean"
963            description="Removes all build and distribution products">            description="Removes all build and distribution products">
964    
965    </target>    </target>
966    
967      <target name="extra166ydist-jar"
968              depends="extra166yclean, extra166yjar">
969    
970        <copy file="${extra166y.jar}" todir="${dist.dir}"/>
971    
972    <target name="jsr166xdist-docs"    </target>
           description="Builds javadocs without custom tags to dist folder">  
973    
974      <delete dir="${dist.jsr166xjavadocs.dir}"/>    <!-- jsr166e -->
     <mkdir dir="${dist.jsr166xjavadocs.dir}"/>  
975    
976      <javadoc destdir="${dist.jsr166xjavadocs.dir}"    <target name="jsr166ecompile"
977                  link="http://java.sun.com/j2se/1.5.0/docs/api/"            depends="configure-compiler"
978                source="${build.sourcelevel}">            description="Compiles jsr166e sources">
979    
980        <packageset dir="${topsrc.dir}" defaultexcludes="yes">      <mkdir dir="${build.jsr166e.classes.dir}"/>
981        <include name="jsr166x"/>  
982        </packageset>      <javac srcdir="${topsrc.dir}"
983               destdir="${build.jsr166e.classes.dir}"
984               debug="${build.debug}"
985               debuglevel="${build.debuglevel}"
986               deprecation="${build.deprecation}"
987               source="7"
988               classpath=""
989               includeAntRuntime="false"
990               includeJavaRuntime="false"
991               executable="${javac7}"
992               fork="true">
993    
994          <include name="jsr166e/**/*.java"/>
995          <compilerarg line="${build.args}"/>
996          <compilerarg value="-XDignore.symbol.file=true"/>
997          <compilerarg value="-Xlint:all"/>
998    
999        </javac>
1000    
1001      </target>
1002    
1003    
1004    
1005      <target name="jsr166ejar"
1006              depends="jsr166ecompile"
1007              description="Builds library jar from compiled sources">
1008    
1009        <jar destfile="${jsr166e.jar}" index="true">
1010          <fileset dir="${build.jsr166e.classes.dir}"/>
1011        </jar>
1012    
1013      </target>
1014    
1015    
1016    
1017      <target name="jsr166edocs"
1018              description="Builds javadocs to build dir">
1019    
1020        <delete dir="${dist.jsr166ejavadocs.dir}"/>
1021        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1022    
1023        <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1024                 packagenames="jsr166e.*"
1025                 link="${jdkapidocs.url}"
1026                 source="7"
1027                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1028                 executable="${javadoc7}"
1029                 additionalparam="-XDignore.symbol.file=true" >
1030      </javadoc>      </javadoc>
1031    
1032    </target>    </target>
1033    
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
1034    
1035      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>    <target name="jsr166edist"
1036              depends="jsr166edist-clean, jsr166edist-jar, jsr166edocs"
1037              description="Puts all distributable products in single hierarchy"/>
1038    
1039    
1040    
1041      <target name="jsr166eclean"
1042              description="Removes all jsr166e build products">
1043    
1044        <delete dir="${build.jsr166e.dir}"/>
1045    
1046      </target>
1047    
1048    
1049      <target name="jsr166edist-clean"
1050              description="Removes all build and distribution products">
1051    
1052      </target>
1053    
1054      <target name="jsr166edist-jar"
1055              depends="jsr166eclean, jsr166ejar">
1056    
1057        <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1058    
1059    </target>    </target>
1060    

Legend:
Removed from v.1.73  
changed lines
  Added in v.1.117

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