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

Diff of /jsr166/build.xml

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

revision 1.72 by dl, Fri May 20 16:29:57 2005 UTC revision 1.102 by jsr166, Sat Jan 19 20:53:34 2013 UTC
# Line 8  Line 8 
8    
9    User-specific settings are read from user.properties.    User-specific settings are read from user.properties.
10    See user.properties.sample for an explanation of some useful settings.    See user.properties.sample for an explanation of some useful settings.
11    
12      The repository contains all dependencies except for ant and the JDK
13      itself.  Because the JDK version matters and because different
14      targets require different JDKs, we assume that users have created a
15      hierarchy containing:
16      $HOME/jdk/jdk6
17      $HOME/jdk/jdk7
18      $HOME/jdk/jdk8
19      where each of the above is a JDK or a symlink to same, and
20      $HOME/jdk/src/jdk6
21      $HOME/jdk/src/jdk7
22      $HOME/jdk/src/jdk8
23      where each of the above is a complete JDK source tree
24      (e.g. mercurial forest) or a symlink to same.
25  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
26    </description>    </description>
27    
# Line 21  Line 35 
35    
36    
37    <!-- Compilation options -->    <!-- Compilation options -->
38    <property name="build.sourcelevel"    value="1.5"/>    <property name="build.sourcelevel"    value="1.6"/>
39    <property name="build.debug"          value="true"/>    <property name="build.debug"          value="true"/>
40    <property name="build.debuglevel"     value="source,lines,vars"/>    <property name="build.debuglevel"     value="source,lines,vars"/>
41    <property name="build.deprecation"    value="false"/>    <property name="build.deprecation"    value="false"/>
42    
43    <!-- Build locations -->    <!-- Build locations -->
44    <property name="build.dir"            location="build"/>    <property name="build.dir"                   location="build"/>
45    <property name="build.classes.dir"    location="${build.dir}/classes"/>    <property name="build.classes.dir"           location="${build.dir}/classes"/>
46    <property name="build.testcases.dir"  location="${build.dir}/testcases"/>    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>
47    <property name="build.j1.dir"         location="${build.dir}/j1"/>    <property name="build.loops.dir"             location="${build.dir}/loops"/>
48    <property name="build.loops.dir"      location="${build.dir}/loops"/>    <property name="build.lib.dir"               location="${build.dir}/lib"/>
49    <property name="build.lib.dir"        location="${build.dir}/lib"/>    <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>
50    <property name="build.ant.dir"        location="${build.dir}/ant"/>    <property name="build.reports.dir"           location="${build.dir}/reports"/>
51    <property name="build.javadocs.dir"   location="${build.dir}/javadocs"/>  
52    <property name="build.reports.dir"    location="${build.dir}/reports"/>    <property name="build.4jdk7.dir"              location="${build.dir}/4jdk7"/>
53    <property name="build.checkstyle.dir" location="${build.dir}/checkstyle"/>    <property name="build.4jdk7.lib.dir"          location="${build.4jdk7.dir}"/>
54    <property name="build.doccheck.dir"   location="${build.dir}/doccheck"/>    <property name="build.4jdk7.classes.dir"      location="${build.4jdk7.dir}/classes"/>
55    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>    <property name="build.4jdk7.tck.classes.dir"  location="${build.4jdk7.dir}/tck/classes"/>
56    <property name="build.dc-filter.dir"  location="${build.dir}/filterdocchk"/>    <property name="build.4jdk7.docs.dir"         location="${build.4jdk7.dir}/docs"/>
57    <property name="build.jsr166x.dir"    location="${build.dir}/jsr166x"/>  
58      <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
59    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>
60    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>
61    
62      <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>
63      <property name="build.jsr166ylib.dir"        location="${build.dir}/jsr166ylib"/>
64      <property name="build.jsr166yjavadocs.dir"   location="${build.dir}/jsr166yjavadocs"/>
65    
66      <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>
67      <property name="build.jsr166elib.dir"        location="${build.dir}/jsr166elib"/>
68      <property name="build.jsr166ejavadocs.dir"   location="${build.dir}/jsr166ejavadocs"/>
69    
70      <property name="build.extra166y.dir"         location="${build.dir}/extra166y"/>
71      <property name="build.extra166ylib.dir"      location="${build.dir}/extra166ylib"/>
72      <property name="build.extra166yjavadocs.dir" location="${build.dir}/extra166yjavadocs"/>
73    
74      <!-- JDK binary locations -->
75      <property name="jdks.home"  location="${user.home}/jdk"/>
76    
77      <macrodef name="defjdklocations">
78        <attribute name="v"/>
79        <sequential>
80        <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
81        <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
82        <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
83        <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
84        <property name="bootdir@{v}"    location="${jdk@{v}.home}/jre/lib"/>
85        <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
86        <property name="bootclasspath@{v}"
87         value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
88        </sequential>
89      </macrodef>
90    
91      <defjdklocations v="6"/>
92      <defjdklocations v="7"/>
93      <defjdklocations v="8"/>
94    
95      <macrodef name="run-tck-tests">
96        <attribute name="jvm"/>
97        <attribute name="tck.classes"/>
98        <attribute name="product.jar" default="${product.jar}"/>
99        <attribute name="jvmflags" default=""/>
100        <sequential>
101        <java classname="JSR166TestCase"
102              jvm="@{jvm}" fork="true">
103            <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
104            <jvmarg line="@{jvmflags}"/>
105            <classpath>
106              <pathelement location="${junit.jar}"/>
107              <pathelement location="@{tck.classes}"/>
108            </classpath>
109        </java>
110        </sequential>
111      </macrodef>
112    
113    <!-- Source locations -->    <!-- Source locations -->
114    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
115    <property name="test.src.dir"         location="${basedir}/src/test"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
   <property name="j1.src.dir"           location="${basedir}/src/javaone"/>  
116    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
117    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
118    <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>    <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>
   <property name="ant.src.dir"          location="${basedir}/etc/ant"/>  
   <property name="stylesheet.dir"       location="${basedir}/etc/xsl"/>  
119    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
120    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
121    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
122    <property name="jsr166xsrc.dir"       location="${basedir}/src/jsr166x"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
123      <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
124      <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
125      <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
126      <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>
127      <property name="jdksrc.dir"           location="/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"/>
128    
129    <!-- Distribution locations -->    <!-- Distribution locations -->
130    <property name="dist.javadocs.dir"    location="${dist.dir}/docs"/>    <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>
131      <property name="dist.4jdk7.docs.dir"         location="${dist.dir}/jsr166-4jdk7docs"/>
132    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>
133      <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>
134      <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>
135      <property name="dist.extra166yjavadocs.dir"  location="${dist.dir}/extra166ydocs"/>
136    
137    <!-- Jar locations -->    <!-- Jar locations -->
138    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>
139      <property name="4jdk7product.jar"     location="${build.4jdk7.lib.dir}/jsr166-4jdk7.jar"/>
140    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>
141      <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>
142      <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>
143      <property name="extra166yproduct.jar" location="${build.extra166ylib.dir}/extra166y.jar"/>
144    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>
   <property name="concurrent.jar"       location="${lib.dir}/concurrent.jar"/>  
145    
146    <!-- Bootclasspath argument -->    <!-- Bootclasspath argument -->
147    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
148    
149      <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
150      <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
151      <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
152      <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>
153    
154      <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
155      <!-- The below does not yet exist as of 2012-11 -->
156      <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
157      <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
158    
159    <!-- Test classpath -->    <!-- Test classpath -->
160    <path id="test.classpath">    <path id="test.classpath">
161      <pathelement location="${build.testcases.dir}"/>      <pathelement location="${build.testcases.dir}"/>
# Line 82  Line 167 
167      <pathelement location="${build.loops.dir}"/>      <pathelement location="${build.loops.dir}"/>
168    </path>    </path>
169    
170    <!-- J1 classpath -->    <!-- Support @jls tag, used in jdk8+ javadoc -->
171    <path id="j1.classpath">    <!-- TODO: How do we get &trade to work? -->
172      <pathelement location="${build.classes.dir}"/>    <!-- TODO: Why isn't @jls a "standard" tag? -->
173      <pathelement location="${build.j1.dir}"/>    <!--   property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
174      <pathelement location="${junit.jar}"/>    <property name="javadoc.jls.cite" value="The Java Language Specification"/>
175      <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>  
   
176    
177    <!-- Main targets -->    <!-- Main targets -->
178    
179      <target name="dists"
180              depends="dist, jsr166xdist, jsr166ydist,jsr166edist,  extra166ydist"
181              description="Builds all public jars and docs"/>
182    
183    <target name="compile"    <target name="compile"
184            depends="init, configure-compiler"            depends="configure-compiler"
185            description="Compiles main sources to build folder">            description="Compiles src/main sources to build dir">
186    
187      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
188    
189      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
190            destdir="${build.classes.dir}"             destdir="${build.classes.dir}"
191              debug="${build.debug}"             debug="${build.debug}"
192         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
193        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
194             source="${build.sourcelevel}"             classpath=""
195               fork="true">             includeAntRuntime="false"
196               includeJavaRuntime="false"
197               executable="${javac8}"
198               fork="true">
199    
200        <include name="**/*.java"/>        <include name="**/*.java"/>
201          <compilerarg line="${build.args}"/>
202          <compilerarg value="-XDignore.symbol.file=true"/>
203          <compilerarg value="-Xlint:all"/>
204    
205  <!--  <!--
206        <exclude name="java/lang/**"/>        <exclude name="java/lang/**"/>
 -->  
207        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
208          <compilerarg line="-Xlint -Xmaxwarns 1000"/>
209    -->
210    
211      </javac>      </javac>
212    
# Line 143  Line 235 
235    
236    
237    <target name="docs"    <target name="docs"
238            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.5.0/j2se/martin/j2se/src/share/classes"  
     >            
   
       <packageset dir="${src.dir}"/>  
   
     </javadoc>  
   
   </target>  
239    
240        <delete dir="${dist.javadocs.dir}"/>
241        <mkdir dir="${dist.javadocs.dir}"/>
242    
243        <!-- the packagenames="none" hack below prevents scanning the -->
244        <!-- sourcepath for packages -->
245    
246    <target name="doccheck"      <javadoc destdir="${dist.javadocs.dir}"
247            depends="filter-doccheck"               packagenames="none"
248            description="Reports on javadoc style errors">               link="${jdkapi8docs.url}"
249                 overview="${src.dir}/intro.html"
250      <delete dir="${build.doccheck.dir}"/>               sourcepath="${src.dir}:${jdk8src.dir}"
251      <mkdir dir="${build.doccheck.dir}"/>               classpath=""
252                 executable="${javadoc8}">
253      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"        <arg value="-XDignore.symbol.file=true"/>
254           docletpath="${lib.dir}/doccheck.jar"        <arg value="-tag"/>
255              destdir="${build.doccheck.dir}">        <arg value="${javadoc.jls.option}"/>
256        <packageset dir="${build.dc-filter.dir}"/>        <fileset dir="${src.dir}" defaultexcludes="yes">
257            <include name="**/*.java"/>
258          </fileset>
259      </javadoc>      </javadoc>
260    
     <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"/>  
   
261    </target>    </target>
262    
263    
264    
265    <target name="dist"    <target name="dist"
266            depends="init, dist-clean, dist-jar, dist-docs"            depends="init, dist-clean, dist-jar, docs"
267            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
268    
269    
   
270    <target name="release"    <target name="release"
271            depends="dist"            depends="dist"
272            description="Puts entire CVS tree, plus distribution productions, in a jar">            description="Puts entire CVS tree, plus distribution productions, in a jar">
# Line 250  Line 307 
307    
308    
309    
   <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.5.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="jsr166x/*.java"/> -->  
       </fileset>  
     </javadoc>  
   
   </target>  
   
   
   
310    <!-- Internal targets -->    <!-- Internal targets -->
311    
312    
# Line 298  Line 328 
328    </target>    </target>
329    
330    
   <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>  
   
   
331    <target name="compile-tests"    <target name="compile-tests"
332            depends="jar">            depends="jar">
333    
# Line 424  Line 343 
343    
344        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
345        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
346          <compilerarg value="-XDignore.symbol.file=true"/>
347    
348        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
349    
# Line 441  Line 361 
361    
362        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
363        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
364          <compilerarg value="-XDignore.symbol.file=true"/>
365    
366        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
367    
# Line 457  Line 378 
378    
379        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
380        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
381          <compilerarg value="-XDignore.symbol.file=true"/>
382    
383        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
384    
# Line 529  Line 451 
451        <fileset dir="${build.reports.dir}">        <fileset dir="${build.reports.dir}">
452          <include name="TEST-*.xml"/>          <include name="TEST-*.xml"/>
453        </fileset>        </fileset>
454        <report styledir="${stylesheet.dir}"        <report format="${junit.report.format}" todir="${build.reports.dir}"
                 format="${junit.report.format}"  
                  todir="${build.reports.dir}"  
455        />        />
456      </junitreport>      </junitreport>
457    
# Line 581  Line 501 
501    </target>    </target>
502    
503    
   
   <!-- 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>  
   
   
   
504    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
505    
506    
   <target name="sample" depends="init, 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>  
   
   
507    <target name="loops" depends="init, configure-compiler"    <target name="loops" depends="init, configure-compiler"
508            description="Benchmark from Doug Lea's AQS paper">            description="Benchmark from Doug Lea's AQS paper">
509    
# Line 680  Line 519 
519    
520        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
521        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
522          <compilerarg value="-XDignore.symbol.file=true"/>
523    
524      </javac>      </javac>
525    
# Line 690  Line 530 
530    </target>    </target>
531    
532    
533    <target name="compile-j1" depends="init, configure-compiler, compile">    <!-- jsr166 4jdk7 -->
534    
     <mkdir dir="${build.j1.dir}"/>  
535    
536      <javac srcdir="${j1.src.dir}"    <target name="4jdk7compile"
537            destdir="${build.j1.dir}"            depends="configure-compiler"
538              debug="${build.debug}"            description="Compiles src/jdk7 sources, targeting jdk7">
539         debuglevel="${build.debuglevel}"  
540        deprecation="${build.deprecation}"      <mkdir dir="${build.4jdk7.classes.dir}"/>
541             source="${build.sourcelevel}" >  
542        <javac srcdir="${4jdk7src.dir}"
543               destdir="${build.4jdk7.classes.dir}"
544               debug="${build.debug}"
545               debuglevel="${build.debuglevel}"
546               deprecation="${build.deprecation}"
547               source="1.6"
548               classpath=""
549               bootclasspath="${bootclasspath6}"
550               includeAntRuntime="false"
551               includeJavaRuntime="false"
552               executable="${javac7}"
553               fork="true">
554    
555        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/dijkstra/**"/>  
   
556        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
557        <classpath refid="j1.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
558          <compilerarg value="-Xlint:all"/>
559    
560      </javac>      </javac>
561    
562    </target>      <mkdir dir="${build.4jdk7.lib.dir}"/>
563    
564        <jar destfile="${4jdk7product.jar}" index="true">
565          <fileset dir="${build.4jdk7.classes.dir}"/>
566        </jar>
567    
568    <target name="sw" depends="compile-j1"      <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
           description="Runs the SwingWorker demo">  
569    
570      <!--      <javac srcdir="${tck.src.dir}"
571      <java classname="jsr166.swing.SwingWorkerDemo" fork="true">             destdir="${build.4jdk7.tck.classes.dir}"
572        <classpath refid="j1.classpath"/>             debug="${build.debug}"
573      </java>             debuglevel="${build.debuglevel}"
574      -->             deprecation="${build.deprecation}"
575               source="1.6"
576               classpath="${junit.jar}"
577               bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
578               includeAntRuntime="false"
579               includeJavaRuntime="false"
580               executable="${javac7}"
581               fork="true">
582    
583      <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>        <include name="**/*.java"/>
584          <compilerarg line="${build.args}"/>
585          <compilerarg value="-XDignore.symbol.file=true"/>
586          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
587    
588      <exec dir="${build.j1.dir}" executable="appletviewer.exe">      </javac>
       <arg value="${build.j1.dir}/SwingWorker.html"/>  
     </exec>  
589    
590    </target>    </target>
591    
   <target name="j1" depends="compile-j1"  
           description="Runs a standalone JavaOne program">  
592    
593      <java classname="${j1.test}" fork="true">    <target name="4jdk7-test-tck"
594        <classpath refid="j1.classpath"/>            depends="4jdk7compile"
595        <jvmarg value="-client"/>            description="Runs tck tests for jsr166-4jdk7 directly">
596        <run-tck-tests
597          jvm="${java7}"
598          tck.classes="${build.4jdk7.tck.classes.dir}"
599          product.jar="${4jdk7product.jar}"/>
600      </target>
601    
       <!-- TestPseudoRandom args -->  
       <arg value="2"/>  
       <arg value="25"/>  
       <arg value="100000"/>  
602    
603        <!-- WebCrawler args -->    <target name="4jdk7-test-tck-junit"
604        <!--            depends="4jdk7compile"
605        <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"/>  
       -->  
606    
607      </java>      <junit printsummary="true"
608               showoutput="true"
609               errorProperty="junit.failed"
610               failureProperty="junit.failed"
611               includeantruntime="true"
612               jvm="${java7}"
613               fork="true">
614    
615    </target>        <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
616          <jvmarg value="-server"/>
617    
618          <classpath>
619            <pathelement location="${junit.jar}"/>
620            <pathelement location="${build.4jdk7.tck.classes.dir}"/>
621          </classpath>
622    
623    <target name="test-j1" depends="compile-j1"        <formatter type="brief"/>
           description="Runs testcases from the JavaOne source directories">  
624    
625      <junit printsummary="true"        <test name="JSR166TestCase" haltonfailure="no">
626               showoutput="true"        </test>
           errorProperty="junit.failed"  
         failureProperty="junit.failed"  
                     dir="${build.j1.dir}"  
                    fork="true">  
627    
628        <!-- <jvmarg value="-server"/> -->      </junit>
629        <classpath refid="j1.classpath"/>    </target>
       <formatter type="xml"/>  
630    
       <batchtest todir="${build.j1.dir}">  
         <fileset dir="${j1.src.dir}">  
           <include name="**/*Test.java"/>  
         </fileset>  
       </batchtest>  
631    
632      </junit>    <target name="4jdk7docs"
633              description="Builds javadocs for src/jdk7 to dist dir">
634    
635      <available property="junit.report.format"      <delete dir="${dist.4jdk7.docs.dir}"/>
636                    value="frames"      <mkdir dir="${dist.4jdk7.docs.dir}"/>
               classname="org.apache.xalan.lib.Redirect"/>  
     <property name="junit.report.format" value="noframes"/>  
637    
638      <junitreport todir="${build.j1.dir}">      <javadoc destdir="${dist.4jdk7.docs.dir}"
639        <fileset dir="${build.j1.dir}">               packagenames="none"
640          <include name="TEST-*.xml"/>               link="${jdkapi7docs.url}"
641                 overview="${4jdk7src.dir}/intro.html"
642                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
643                 classpath=""
644                 executable="${javadoc7}">
645          <arg value="-XDignore.symbol.file=true"/>
646          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
647            <include name="**/*.java"/>
648        </fileset>        </fileset>
649        <report styledir="${stylesheet.dir}"      </javadoc>
                 format="${junit.report.format}"  
                  todir="${build.j1.dir}"  
       />  
     </junitreport>  
   
     <fail message="Test Cases Failed" if="junit.failed"/>  
650    
651    </target>    </target>
652    
653    
654      <target name="4jdk7dist"
655              depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
656              description="Puts all distributable products in single hierarchy"/>
657    
   <!-- C++ and JNI definitions and demos -->  
   
   <target name="configure-cpp">  
658    
     <!-- Define tasks and types -->  
659    
660      <path id="cpptasks.path">    <target name="4jdk7clean"
661        <pathelement location="${lib.dir}/cpptasks.jar"/>            description="Removes all build products">
     </path>  
     <taskdef resource="cpptasks.tasks" classpathref="cpptasks.path"/>  
     <typedef resource="cpptasks.types" classpathref="cpptasks.path"/>  
662    
663      <!-- 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>  
664    
665    </target>    </target>
666    
667    
   <target name="cppdemo" depends="configure-cpp">  
668    
669      <mkdir dir="${build.dir}"/>    <target name="4jdk7dist-clean"
670              description="Removes all build and distribution products">
671    
672      <cc multithreaded="true"    </target>
                  name="g++"  
                objdir="${build.dir}"  
               outfile="${build.dir}/CppDemo">  
       <fileset dir="${test.src.dir}" includes="CppDemo.cpp"/>  
       <libset libs="stdc++"/>  
     </cc>  
673    
674      <exec executable="${build.dir}/CppDemo">    <target name="4jdk7dist-jar"
675        <arg line="count in word frequency of word in command line count"/>            depends="4jdk7clean, 4jdk7compile">
676      </exec>  
677        <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
678    
679    </target>    </target>
680    
681      <!-- jsr166x -->
682    
   <target name="jnidemo" depends="init, configure-compiler, configure-cpp">  
683    
684      <mkdir dir="${build.testcases.dir}"/>    <target name="jsr166xcompile"
685              depends="init, configure-compiler"
686              description="Compiles jsr166x sources">
687    
688      <javac srcdir="${test.src.dir}"      <mkdir dir="${build.jsr166x.dir}"/>
689            destdir="${build.testcases.dir}"  
690        <javac srcdir="${jsr166xsrc.dir}"
691              destdir="${build.jsr166x.dir}"
692              debug="${build.debug}"              debug="${build.debug}"
693         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
694        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
695             source="${build.sourcelevel}"             source="${build.sourcelevel}"
696               fork="true">               fork="true">
697        <compilerarg value="${bootclasspath.args}"/>  
698          <include name="**/*.java"/>
699        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
700        <classpath refid="test.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
701        <include name="JniDemo.java"/>  
702      </javac>      </javac>
703    
704      <javah destdir="${build.testcases.dir}"    </target>
705        classpathref="test.classpath">  
706        <class name="JniDemo"/>  
707      </javah>  
708      <target name="jsr166xjar"
709      <cc multithreaded="true"            depends="jsr166xcompile"
710                   name="g++"            description="Builds library jar from compiled sources">
711                 objdir="${build.dir}"  
712                outfile="${build.dir}/JniDemo"      <mkdir dir="${build.jsr166xlib.dir}"/>
713                outtype="shared">  
714        <jar destfile="${jsr166xproduct.jar}">
715        <compiler>        <fileset dir="${build.jsr166x.dir}"/>
716          <defineset>      </jar>
           <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>  
717    
718    </target>    </target>
719    
720    
721    
722    <!-- Backward compatibility, work in progress (some files not checked in) -->    <target name="jsr166xdocs"
723              description="Builds javadocs to dist dir">
724    
725        <delete dir="${build.jsr166xjavadocs.dir}"/>
726        <mkdir dir="${build.jsr166xjavadocs.dir}"/>
727    
728        <javadoc destdir="${build.jsr166xjavadocs.dir}"
729                 packagenames="jsr166x"
730                 link="${jdkapidocs.url}"
731                 source="${build.sourcelevel}"
732                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
733                 additionalparam="-XDignore.symbol.file=true" />
734    
735      </target>
736    
737    
738      <target name="jsr166xdist"
739              depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"
740              description="Puts all distributable products in single hierarchy"/>
741    
742    
743    
744    <property name="pretiger.src.dir"     location="${build.dir}/pretiger/src"/>    <target name="jsr166xclean"
745    <property name="build.pretiger.dir"   location="${build.dir}/pretiger/classes"/>            description="Removes all build products">
746    <property name="pretiger.jar"         location="${build.lib.dir}/jsr166-pretiger.jar"/>  
747    <property name="pretiger.sourcelevel" value="1.4"/>      <delete dir="${build.jsr166x.dir}"/>
748        <delete dir="${build.jsr166xlib.dir}"/>
749    
750      </target>
751    
752    
753    
754      <target name="jsr166xdist-clean"
755              description="Removes all build and distribution products">
756    
757      </target>
758    
759    
760    
761      <target name="jsr166xdist-docs"
762              description="Builds javadocs to dist dir">
763    
764        <delete dir="${dist.jsr166xjavadocs.dir}"/>
765        <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
766    
767        <javadoc destdir="${dist.jsr166xjavadocs.dir}"
768                 packagenames="jsr166x"
769                 link="${jdkapidocs.url}"
770                 source="${build.sourcelevel}"
771                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
772                 additionalparam="-XDignore.symbol.file=true" />
773    
774    <target name="defang"    </target>
        depends="init"  
    description="Generates pre-Tiger compatible source">  
775    
776      <delete dir="${pretiger.src.dir}"/>    <target name="jsr166xdist-jar"
777      <mkdir dir="${pretiger.src.dir}"/>            depends="jsr166xclean, jsr166xjar">
778    
779      <exec executable="perl">      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>
       <arg file="etc/defang.pl"/>  
       <!-- <arg value="-v"/> -->  
       <arg value="-s"/> <arg file="${src.dir}"/>  
       <arg value="-t"/> <arg file="${pretiger.src.dir}"/>  
     </exec>  
780    
781    </target>    </target>
782    
783    <target name="compile-pretiger"    <!-- jsr166y -->
784            depends="init, configure-compiler, defang"  
           description="Compiles pre-Tiger sources to build folder">  
785    
786      <mkdir dir="${build.pretiger.dir}"/>    <target name="jsr166ycompile"
787              depends="init, configure-compiler"
788              description="Compiles jsr166y sources">
789    
790        <mkdir dir="${build.jsr166y.dir}"/>
791    
792      <javac srcdir="${pretiger.src.dir}"      <javac srcdir="${jsr166ysrc.dir}"
793            destdir="${build.pretiger.dir}"            destdir="${build.jsr166y.dir}"
794              debug="${build.debug}"              debug="${build.debug}"
795         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
796        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
797             source="${pretiger.sourcelevel}"             source="${build.sourcelevel}"
798               fork="true">               fork="true">
799    
800          <include name="**/*.java"/>
801        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
802        <exclude name="**/Thread.java"/>        <compilerarg value="-XDignore.symbol.file=true"/>
803          <compilerarg value="${bootclasspath.args}"/>
804    
805    <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
806    
807      </javac>      </javac>
808    
809    </target>    </target>
810    
   <target name="pretiger" depends="compile-pretiger">  
811    
     <mkdir dir="${build.lib.dir}"/>  
812    
813      <jar destfile="${pretiger.jar}">    <target name="jsr166yjar"
814        <fileset dir="${build.pretiger.dir}">            depends="jsr166ycompile"
815        </fileset>            description="Builds library jar from compiled sources">
816    
817        <mkdir dir="${build.jsr166ylib.dir}"/>
818    
819        <jar destfile="${jsr166yproduct.jar}" index="true">
820          <fileset dir="${build.jsr166y.dir}"/>
821      </jar>      </jar>
822    
823    </target>    </target>
824    
   <!-- jsr166x -->  
825    
826    
827    <target name="jsr166xcompile"    <target name="jsr166ydocs"
828            depends="init, configure-compiler"            description="Builds javadocs to dist dir">
           description="Compiles jsr166x sources">  
829    
830      <mkdir dir="${build.jsr166x.dir}"/>      <delete dir="${build.jsr166yjavadocs.dir}"/>
831        <mkdir dir="${build.jsr166yjavadocs.dir}"/>
832    
833      <javac srcdir="${jsr166xsrc.dir}"      <javadoc destdir="${build.jsr166yjavadocs.dir}"
834            destdir="${build.jsr166x.dir}"               packagenames="jsr166y"
835                 link="${jdkapidocs.url}"
836                 source="${build.sourcelevel}"
837                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
838                 additionalparam="-XDignore.symbol.file=true" />
839    
840      </target>
841    
842    
843      <target name="jsr166ydist"
844              depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"
845              description="Puts all distributable products in single hierarchy"/>
846    
847    
848    
849      <target name="jsr166yclean"
850              description="Removes all build products">
851    
852        <delete dir="${build.jsr166y.dir}"/>
853        <delete dir="${build.jsr166ylib.dir}"/>
854    
855      </target>
856    
857    
858    
859      <target name="jsr166ydist-clean"
860              description="Removes all build and distribution products">
861    
862      </target>
863    
864      <target name="jsr166ydist-docs"
865              description="Builds javadocs to dist dir">
866    
867        <delete dir="${dist.jsr166yjavadocs.dir}"/>
868        <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
869    
870        <javadoc destdir="${dist.jsr166yjavadocs.dir}"
871                 packagenames="jsr166y"
872                 link="${jdkapidocs.url}"
873                 source="${build.sourcelevel}"
874                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
875                 additionalparam="-XDignore.symbol.file=true" />
876    
877      </target>
878    
879      <target name="jsr166ydist-jar"
880              depends="jsr166yclean, jsr166yjar">
881    
882        <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>
883    
884      </target>
885    
886    
887      <!-- extra166y -->
888    
889    
890      <target name="extra166ycompile"
891              depends="init, configure-compiler, jsr166ycompile"
892              description="Compiles extra166y sources">
893    
894        <mkdir dir="${build.extra166y.dir}"/>
895    
896        <javac srcdir="${extra166ysrc.dir}"
897              destdir="${build.extra166y.dir}"
898              debug="${build.debug}"              debug="${build.debug}"
899                classpath="${jsr166yproduct.jar}"
900         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
901        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
902             source="${build.sourcelevel}"             source="${build.sourcelevel}"
# Line 981  Line 904 
904    
905        <include name="**/*.java"/>        <include name="**/*.java"/>
906        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
907          <compilerarg value="-XDignore.symbol.file=true"/>
908          <compilerarg value="${bootclasspath.args}"/>
909    
910    <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
911    
912      </javac>      </javac>
913    
# Line 988  Line 915 
915    
916    
917    
918    <target name="jsr166xjar"    <target name="extra166yjar"
919            depends="jsr166xcompile"            depends="extra166ycompile"
920            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
921    
922      <mkdir dir="${build.jsr166xlib.dir}"/>      <mkdir dir="${build.extra166ylib.dir}"/>
923    
924      <jar destfile="${jsr166xproduct.jar}">      <jar destfile="${extra166yproduct.jar}" index="true">
925        <fileset dir="${build.jsr166x.dir}"/>        <fileset dir="${build.extra166y.dir}"/>
926      </jar>      </jar>
927    
928    </target>    </target>
929    
930    
931    
932    <target name="jsr166xdocs"    <target name="extra166ydocs"
933            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs with custom tags to build dir">
934    
935      <delete dir="${build.jsr166xjavadocs.dir}"/>      <delete dir="${build.extra166yjavadocs.dir}"/>
936      <mkdir dir="${build.jsr166xjavadocs.dir}"/>      <mkdir dir="${build.extra166yjavadocs.dir}"/>
937    
938      <javadoc destdir="${build.jsr166xjavadocs.dir}"      <javadoc destdir="${build.extra166yjavadocs.dir}"
939                  link="http://java.sun.com/j2se/1.5.0/docs/api/"               packagenames="extra166y"
940              sourcepath="${jsr166xsrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"               link="${jdkapidocs.url}"
941                 source="${build.sourcelevel}"
942      >               sourcepath="${topsrc.dir}:${jdksrc.dir}"
943        <packageset dir="${topsrc.dir}" defaultexcludes="yes">               additionalparam="-XDignore.symbol.file=true" />
       <include name="jsr166x"/>  
       </packageset>  
   
   
     </javadoc>  
944    
945    </target>    </target>
946    
947    
948    <target name="jsr166xdist"    <target name="extra166ydist"
949            depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"            depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"
950            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
951    
952    
953    
954    <target name="jsr166xclean"    <target name="extra166yclean"
955            description="Removes all build products">            description="Removes all build products">
956    
957      <delete dir="${build.jsr166x.dir}"/>      <delete dir="${build.extra166y.dir}"/>
958      <delete dir="${build.jsr166xlib.dir}"/>      <delete dir="${build.extra166ylib.dir}"/>
959    
960    </target>    </target>
961    
962    
963    
964    <target name="jsr166xdist-clean"    <target name="extra166ydist-clean"
965            description="Removes all build and distribution products">            description="Removes all build and distribution products">
966    
967    </target>    </target>
968    
969      <target name="extra166ydist-docs"
970              description="Builds javadocs to dist dir">
971    
972        <delete dir="${dist.extra166yjavadocs.dir}"/>
973        <mkdir dir="${dist.extra166yjavadocs.dir}"/>
974    
975    <target name="jsr166xdist-docs"      <javadoc destdir="${dist.extra166yjavadocs.dir}"
976            description="Builds javadocs without custom tags to dist folder">               packagenames="extra166y"
977                 link="${jdkapidocs.url}"
978                 source="${build.sourcelevel}"
979                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
980                 additionalparam="-XDignore.symbol.file=true" />
981    
982      <delete dir="${dist.jsr166xjavadocs.dir}"/>    </target>
     <mkdir dir="${dist.jsr166xjavadocs.dir}"/>  
983    
984      <javadoc destdir="${dist.jsr166xjavadocs.dir}"    <target name="extra166ydist-jar"
985                  link="http://java.sun.com/j2se/1.5.0/docs/api/"            depends="extra166yclean, extra166yjar">
986                source="${build.sourcelevel}">  
987        <copy file="${extra166yproduct.jar}" todir="${dist.dir}"/>
988    
989        <packageset dir="${topsrc.dir}" defaultexcludes="yes">    </target>
       <include name="jsr166x"/>  
       </packageset>  
990    
991      <!-- jsr166e -->
992    
993      <target name="jsr166ecompile"
994              depends="configure-compiler"
995              description="Compiles jsr166e sources">
996    
997        <mkdir dir="${build.jsr166e.dir}"/>
998    
999        <javac srcdir="${topsrc.dir}"
1000               destdir="${build.jsr166e.dir}"
1001               debug="${build.debug}"
1002               debuglevel="${build.debuglevel}"
1003               deprecation="${build.deprecation}"
1004               source="1.7"
1005               classpath=""
1006               includeAntRuntime="false"
1007               includeJavaRuntime="false"
1008               executable="${javac7}"
1009               fork="true">
1010    
1011          <include name="jsr166e/**/*.java"/>
1012          <compilerarg line="${build.args}"/>
1013          <compilerarg value="-XDignore.symbol.file=true"/>
1014          <compilerarg value="-Xlint:all"/>
1015    
1016        </javac>
1017    
1018      </target>
1019    
1020    
1021    
1022      <target name="jsr166ejar"
1023              depends="jsr166ecompile"
1024              description="Builds library jar from compiled sources">
1025    
1026        <mkdir dir="${build.jsr166elib.dir}"/>
1027    
1028        <jar destfile="${jsr166eproduct.jar}" index="true">
1029          <fileset dir="${build.jsr166e.dir}"/>
1030        </jar>
1031    
1032      </target>
1033    
1034    
1035    
1036      <target name="jsr166edocs"
1037              description="Builds javadocs with custom tags to build dir">
1038    
1039        <delete dir="${build.jsr166ejavadocs.dir}"/>
1040        <mkdir dir="${build.jsr166ejavadocs.dir}"/>
1041    
1042        <javadoc destdir="${build.jsr166ejavadocs.dir}"
1043                 packagenames="jsr166e,jsr166e.extra"
1044                 link="${jdkapi7docs.url}"
1045                 source="1.7"
1046                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1047                 executable="${javadoc7}"
1048                 additionalparam="-XDignore.symbol.file=true" >
1049          <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1050            <include name="jsr166e/**/*.java"/>
1051          </fileset>
1052      </javadoc>      </javadoc>
1053    
1054    </target>    </target>
1055    
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
1056    
1057      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>    <target name="jsr166edist"
1058              depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"
1059              description="Puts all distributable products in single hierarchy"/>
1060    
1061    
1062    
1063      <target name="jsr166eclean"
1064              description="Removes all build products">
1065    
1066        <delete dir="${build.jsr166e.dir}"/>
1067        <delete dir="${build.jsr166elib.dir}"/>
1068    
1069      </target>
1070    
1071    
1072    
1073      <target name="jsr166edist-clean"
1074              description="Removes all build and distribution products">
1075    
1076      </target>
1077    
1078      <target name="jsr166edist-docs"
1079              description="Builds javadocs to dist dir">
1080    
1081        <delete dir="${dist.jsr166ejavadocs.dir}"/>
1082        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1083    
1084        <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1085                 packagenames="jsr166e,jsr166e.extra"
1086                 link="${jdkapidocs.url}"
1087                 source="1.7"
1088                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
1089                 additionalparam="-XDignore.symbol.file=true" />
1090    
1091      </target>
1092    
1093      <target name="jsr166edist-jar"
1094              depends="jsr166eclean, jsr166ejar">
1095    
1096        <copy file="${jsr166eproduct.jar}" todir="${dist.dir}"/>
1097    
1098    </target>    </target>
1099    

Legend:
Removed from v.1.72  
changed lines
  Added in v.1.102

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