/[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.100 by jsr166, Sat Jan 19 17:15:44 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}"/>    <!--   property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
173      <pathelement location="${build.j1.dir}"/>    <property name="javadoc.jls.cite" value="The Java Language Specification"/>
174      <pathelement location="${junit.jar}"/>    <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>  
   
175    
176    <!-- Main targets -->    <!-- Main targets -->
177    
178      <target name="dists"
179              depends="dist, jsr166xdist, jsr166ydist,jsr166edist,  extra166ydist"
180              description="Builds all public jars and docs"/>
181    
182    <target name="compile"    <target name="compile"
183            depends="init, configure-compiler"            depends="configure-compiler"
184            description="Compiles main sources to build folder">            description="Compiles src/main sources to build folder">
185    
186      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
187    
188      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
189            destdir="${build.classes.dir}"             destdir="${build.classes.dir}"
190              debug="${build.debug}"             debug="${build.debug}"
191         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
192        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
193             source="${build.sourcelevel}"             classpath=""
194               fork="true">             includeAntRuntime="false"
195               includeJavaRuntime="false"
196               executable="${javac8}"
197               fork="true">
198    
199        <include name="**/*.java"/>        <include name="**/*.java"/>
200          <compilerarg line="${build.args}"/>
201          <compilerarg value="-XDignore.symbol.file=true"/>
202          <compilerarg value="-Xlint:all"/>
203    
204  <!--  <!--
205        <exclude name="java/lang/**"/>        <exclude name="java/lang/**"/>
 -->  
206        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
207          <compilerarg line="-Xlint -Xmaxwarns 1000"/>
208    -->
209    
210      </javac>      </javac>
211    
# Line 143  Line 234 
234    
235    
236    <target name="docs"    <target name="docs"
237            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs for src/main">
   
     <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>  
238    
239        <delete dir="${dist.javadocs.dir}"/>
240        <mkdir dir="${dist.javadocs.dir}"/>
241    
242        <!-- the packagenames="none" hack below prevents scanning the -->
243        <!-- sourcepath for packages -->
244    
245    <target name="doccheck"      <javadoc destdir="${dist.javadocs.dir}"
246            depends="filter-doccheck"               packagenames="none"
247            description="Reports on javadoc style errors">               link="${jdkapi8docs.url}"
248                 overview="${src.dir}/intro.html"
249      <delete dir="${build.doccheck.dir}"/>               sourcepath="${src.dir}:${jdk8src.dir}"
250      <mkdir dir="${build.doccheck.dir}"/>               classpath=""
251                 executable="${javadoc8}">
252      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"        <arg value="-XDignore.symbol.file=true"/>
253           docletpath="${lib.dir}/doccheck.jar"        <arg value="-tag"/>
254              destdir="${build.doccheck.dir}">        <arg value="${javadoc.jls.option}"/>
255        <packageset dir="${build.dc-filter.dir}"/>        <fileset dir="${src.dir}" defaultexcludes="yes">
256            <include name="**/*.java"/>
257          </fileset>
258      </javadoc>      </javadoc>
259    
     <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"/>  
   
260    </target>    </target>
261    
262    
263    
264    <target name="dist"    <target name="dist"
265            depends="init, dist-clean, dist-jar, dist-docs"            depends="init, dist-clean, dist-jar, docs"
266            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
267    
268    
   
269    <target name="release"    <target name="release"
270            depends="dist"            depends="dist"
271            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 306 
306    
307    
308    
   <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>  
   
   
   
309    <!-- Internal targets -->    <!-- Internal targets -->
310    
311    
# Line 298  Line 327 
327    </target>    </target>
328    
329    
   <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>  
   
   
330    <target name="compile-tests"    <target name="compile-tests"
331            depends="jar">            depends="jar">
332    
# Line 424  Line 342 
342    
343        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
344        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
345          <compilerarg value="-XDignore.symbol.file=true"/>
346    
347        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
348    
# Line 441  Line 360 
360    
361        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
362        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
363          <compilerarg value="-XDignore.symbol.file=true"/>
364    
365        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
366    
# Line 457  Line 377 
377    
378        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
379        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
380          <compilerarg value="-XDignore.symbol.file=true"/>
381    
382        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
383    
# Line 529  Line 450 
450        <fileset dir="${build.reports.dir}">        <fileset dir="${build.reports.dir}">
451          <include name="TEST-*.xml"/>          <include name="TEST-*.xml"/>
452        </fileset>        </fileset>
453        <report styledir="${stylesheet.dir}"        <report format="${junit.report.format}" todir="${build.reports.dir}"
                 format="${junit.report.format}"  
                  todir="${build.reports.dir}"  
454        />        />
455      </junitreport>      </junitreport>
456    
# Line 581  Line 500 
500    </target>    </target>
501    
502    
   
   <!-- 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>  
   
   
   
503    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
504    
505    
   <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>  
   
   
506    <target name="loops" depends="init, configure-compiler"    <target name="loops" depends="init, configure-compiler"
507            description="Benchmark from Doug Lea's AQS paper">            description="Benchmark from Doug Lea's AQS paper">
508    
# Line 680  Line 518 
518    
519        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
520        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
521          <compilerarg value="-XDignore.symbol.file=true"/>
522    
523      </javac>      </javac>
524    
# Line 690  Line 529 
529    </target>    </target>
530    
531    
532    <target name="compile-j1" depends="init, configure-compiler, compile">    <!-- jsr166 4jdk7 -->
533    
     <mkdir dir="${build.j1.dir}"/>  
534    
535      <javac srcdir="${j1.src.dir}"    <target name="4jdk7compile"
536            destdir="${build.j1.dir}"            depends="configure-compiler"
537              debug="${build.debug}"            description="Compiles src/jdk7 sources, targeting jdk7">
538         debuglevel="${build.debuglevel}"  
539        deprecation="${build.deprecation}"      <mkdir dir="${build.4jdk7.classes.dir}"/>
540             source="${build.sourcelevel}" >  
541        <javac srcdir="${4jdk7src.dir}"
542               destdir="${build.4jdk7.classes.dir}"
543               debug="${build.debug}"
544               debuglevel="${build.debuglevel}"
545               deprecation="${build.deprecation}"
546               source="1.6"
547               classpath=""
548               bootclasspath="${bootclasspath6}"
549               includeAntRuntime="false"
550               includeJavaRuntime="false"
551               executable="${javac7}"
552               fork="true">
553    
554        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/dijkstra/**"/>  
   
555        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
556        <classpath refid="j1.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
557          <compilerarg value="-Xlint:all"/>
558    
559      </javac>      </javac>
560    
561    </target>      <mkdir dir="${build.4jdk7.lib.dir}"/>
562    
563        <jar destfile="${4jdk7product.jar}" index="true">
564          <fileset dir="${build.4jdk7.classes.dir}"/>
565        </jar>
566    
567    <target name="sw" depends="compile-j1"      <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
           description="Runs the SwingWorker demo">  
568    
569      <!--      <javac srcdir="${tck.src.dir}"
570      <java classname="jsr166.swing.SwingWorkerDemo" fork="true">             destdir="${build.4jdk7.tck.classes.dir}"
571        <classpath refid="j1.classpath"/>             debug="${build.debug}"
572      </java>             debuglevel="${build.debuglevel}"
573      -->             deprecation="${build.deprecation}"
574               source="1.6"
575               classpath="${junit.jar}"
576               bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
577               includeAntRuntime="false"
578               includeJavaRuntime="false"
579               executable="${javac7}"
580               fork="true">
581    
582      <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>        <include name="**/*.java"/>
583          <compilerarg line="${build.args}"/>
584          <compilerarg value="-XDignore.symbol.file=true"/>
585          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
586    
587      <exec dir="${build.j1.dir}" executable="appletviewer.exe">      </javac>
       <arg value="${build.j1.dir}/SwingWorker.html"/>  
     </exec>  
588    
589    </target>    </target>
590    
   <target name="j1" depends="compile-j1"  
           description="Runs a standalone JavaOne program">  
591    
592      <java classname="${j1.test}" fork="true">    <target name="4jdk7-test-tck"
593        <classpath refid="j1.classpath"/>            depends="4jdk7compile"
594        <jvmarg value="-client"/>            description="Runs tck tests for jsr166-4jdk7 directly">
595        <run-tck-tests
596          jvm="${java7}"
597          tck.classes="${build.4jdk7.tck.classes.dir}"
598          product.jar="${4jdk7product.jar}"/>
599      </target>
600    
       <!-- TestPseudoRandom args -->  
       <arg value="2"/>  
       <arg value="25"/>  
       <arg value="100000"/>  
601    
602        <!-- WebCrawler args -->    <target name="4jdk7-test-tck-junit"
603        <!--            depends="4jdk7compile"
604        <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"/>  
       -->  
605    
606      </java>      <junit printsummary="true"
607               showoutput="true"
608               errorProperty="junit.failed"
609               failureProperty="junit.failed"
610               includeantruntime="true"
611               jvm="${java7}"
612               fork="true">
613    
614    </target>        <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
615          <jvmarg value="-server"/>
616    
617          <classpath>
618            <pathelement location="${junit.jar}"/>
619            <pathelement location="${build.4jdk7.tck.classes.dir}"/>
620          </classpath>
621    
622    <target name="test-j1" depends="compile-j1"        <formatter type="brief"/>
           description="Runs testcases from the JavaOne source directories">  
623    
624      <junit printsummary="true"        <test name="JSR166TestCase" haltonfailure="no">
625               showoutput="true"        </test>
           errorProperty="junit.failed"  
         failureProperty="junit.failed"  
                     dir="${build.j1.dir}"  
                    fork="true">  
626    
627        <!-- <jvmarg value="-server"/> -->      </junit>
628        <classpath refid="j1.classpath"/>    </target>
       <formatter type="xml"/>  
629    
       <batchtest todir="${build.j1.dir}">  
         <fileset dir="${j1.src.dir}">  
           <include name="**/*Test.java"/>  
         </fileset>  
       </batchtest>  
630    
631      </junit>    <target name="4jdk7docs"
632              description="Builds javadocs with custom tags to build folder">
633    
634      <available property="junit.report.format"      <delete dir="${build.4jdk7.docs.dir}"/>
635                    value="frames"      <mkdir dir="${build.4jdk7.docs.dir}"/>
               classname="org.apache.xalan.lib.Redirect"/>  
     <property name="junit.report.format" value="noframes"/>  
636    
637      <junitreport todir="${build.j1.dir}">      <javadoc destdir="${build.4jdk7.docs.dir}"
638        <fileset dir="${build.j1.dir}">               packagenames="none"
639          <include name="TEST-*.xml"/>               link="${jdkapi7docs.url}"
640                 overview="${4jdk7src.dir}/intro.html"
641                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
642                 classpath=""
643                 executable="${javadoc7}">
644          <arg value="-XDignore.symbol.file=true"/>
645          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
646            <include name="**/*.java"/>
647        </fileset>        </fileset>
648        <report styledir="${stylesheet.dir}"      </javadoc>
                 format="${junit.report.format}"  
                  todir="${build.j1.dir}"  
       />  
     </junitreport>  
   
     <fail message="Test Cases Failed" if="junit.failed"/>  
649    
650    </target>    </target>
651    
652    
653      <target name="4jdk7dist"
654              depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7dist-docs"
655              description="Puts all distributable products in single hierarchy"/>
656    
   <!-- C++ and JNI definitions and demos -->  
657    
   <target name="configure-cpp">  
658    
659      <!-- Define tasks and types -->    <target name="4jdk7clean"
660              description="Removes all build products">
661    
662      <path id="cpptasks.path">      <delete dir="${build.4jdk7.dir}"/>
663        <pathelement location="${lib.dir}/cpptasks.jar"/>  
664      </path>    </target>
     <taskdef resource="cpptasks.tasks" classpathref="cpptasks.path"/>  
     <typedef resource="cpptasks.types" classpathref="cpptasks.path"/>  
665    
     <!-- Set platform property for JNI includes -->  
666    
667      <condition property="platform" value="linux">  
668        <os name="Linux"/>    <target name="4jdk7dist-clean"
669      </condition>            description="Removes all build and distribution products">
     <condition property="platform" value="win32">  
       <os family="windows"/>  
     </condition>  
     <condition property="platform" value="solaris">  
       <os name="SunOS"/>  
     </condition>  
670    
671    </target>    </target>
672    
673      <target name="4jdk7dist-docs"
674              description="Builds javadocs without custom tags to dist folder">
675    
676    <target name="cppdemo" depends="configure-cpp">      <delete dir="${dist.4jdk7.docs.dir}"/>
677        <mkdir dir="${dist.4jdk7.docs.dir}"/>
678    
679        <javadoc destdir="${dist.4jdk7.docs.dir}"
680                 packagenames="none"
681                 link="${jdkapi7docs.url}"
682                 overview="${4jdk7src.dir}/intro.html"
683                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
684                 classpath=""
685                 executable="${javadoc7}">
686          <arg value="-XDignore.symbol.file=true"/>
687          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
688            <include name="**/*.java"/>
689          </fileset>
690        </javadoc>
691    
692      <mkdir dir="${build.dir}"/>    </target>
693    
694      <cc multithreaded="true"    <target name="4jdk7dist-jar"
695                   name="g++"            depends="4jdk7clean, 4jdk7compile">
                objdir="${build.dir}"  
               outfile="${build.dir}/CppDemo">  
       <fileset dir="${test.src.dir}" includes="CppDemo.cpp"/>  
       <libset libs="stdc++"/>  
     </cc>  
696    
697      <exec executable="${build.dir}/CppDemo">      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
       <arg line="count in word frequency of word in command line count"/>  
     </exec>  
698    
699    </target>    </target>
700    
701      <!-- jsr166x -->
702    
   <target name="jnidemo" depends="init, configure-compiler, configure-cpp">  
703    
704      <mkdir dir="${build.testcases.dir}"/>    <target name="jsr166xcompile"
705              depends="init, configure-compiler"
706              description="Compiles jsr166x sources">
707    
708      <javac srcdir="${test.src.dir}"      <mkdir dir="${build.jsr166x.dir}"/>
709            destdir="${build.testcases.dir}"  
710        <javac srcdir="${jsr166xsrc.dir}"
711              destdir="${build.jsr166x.dir}"
712              debug="${build.debug}"              debug="${build.debug}"
713         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
714        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
715             source="${build.sourcelevel}"             source="${build.sourcelevel}"
716               fork="true">               fork="true">
717        <compilerarg value="${bootclasspath.args}"/>  
718          <include name="**/*.java"/>
719        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
720        <classpath refid="test.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
721        <include name="JniDemo.java"/>  
722      </javac>      </javac>
723    
724      <javah destdir="${build.testcases.dir}"    </target>
725        classpathref="test.classpath">  
726        <class name="JniDemo"/>  
727      </javah>  
728      <target name="jsr166xjar"
729      <cc multithreaded="true"            depends="jsr166xcompile"
730                   name="g++"            description="Builds library jar from compiled sources">
731                 objdir="${build.dir}"  
732                outfile="${build.dir}/JniDemo"      <mkdir dir="${build.jsr166xlib.dir}"/>
733                outtype="shared">  
734        <jar destfile="${jsr166xproduct.jar}">
735        <compiler>        <fileset dir="${build.jsr166x.dir}"/>
736          <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>  
737    
738    </target>    </target>
739    
740    
741    
742    <!-- Backward compatibility, work in progress (some files not checked in) -->    <target name="jsr166xdocs"
743              description="Builds javadocs with custom tags to build folder">
744    
745        <delete dir="${build.jsr166xjavadocs.dir}"/>
746        <mkdir dir="${build.jsr166xjavadocs.dir}"/>
747    
748        <javadoc destdir="${build.jsr166xjavadocs.dir}"
749                 packagenames="jsr166x"
750                 link="${jdkapidocs.url}"
751                 source="${build.sourcelevel}"
752                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
753                 additionalparam="-XDignore.symbol.file=true" />
754    
755      </target>
756    
757    
758      <target name="jsr166xdist"
759              depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"
760              description="Puts all distributable products in single hierarchy"/>
761    
762    
763    
764    <property name="pretiger.src.dir"     location="${build.dir}/pretiger/src"/>    <target name="jsr166xclean"
765    <property name="build.pretiger.dir"   location="${build.dir}/pretiger/classes"/>            description="Removes all build products">
766    <property name="pretiger.jar"         location="${build.lib.dir}/jsr166-pretiger.jar"/>  
767    <property name="pretiger.sourcelevel" value="1.4"/>      <delete dir="${build.jsr166x.dir}"/>
768        <delete dir="${build.jsr166xlib.dir}"/>
769    
770      </target>
771    
772    
773    
774      <target name="jsr166xdist-clean"
775              description="Removes all build and distribution products">
776    
777      </target>
778    
779    
780    
781      <target name="jsr166xdist-docs"
782              description="Builds javadocs without custom tags to dist folder">
783    
784        <delete dir="${dist.jsr166xjavadocs.dir}"/>
785        <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
786    
787        <javadoc destdir="${dist.jsr166xjavadocs.dir}"
788                 packagenames="jsr166x"
789                 link="${jdkapidocs.url}"
790                 source="${build.sourcelevel}"
791                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
792                 additionalparam="-XDignore.symbol.file=true" />
793    
794    <target name="defang"    </target>
        depends="init"  
    description="Generates pre-Tiger compatible source">  
795    
796      <delete dir="${pretiger.src.dir}"/>    <target name="jsr166xdist-jar"
797      <mkdir dir="${pretiger.src.dir}"/>            depends="jsr166xclean, jsr166xjar">
798    
799      <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>  
800    
801    </target>    </target>
802    
803    <target name="compile-pretiger"    <!-- jsr166y -->
804            depends="init, configure-compiler, defang"  
           description="Compiles pre-Tiger sources to build folder">  
805    
806      <mkdir dir="${build.pretiger.dir}"/>    <target name="jsr166ycompile"
807              depends="init, configure-compiler"
808              description="Compiles jsr166y sources">
809    
810        <mkdir dir="${build.jsr166y.dir}"/>
811    
812      <javac srcdir="${pretiger.src.dir}"      <javac srcdir="${jsr166ysrc.dir}"
813            destdir="${build.pretiger.dir}"            destdir="${build.jsr166y.dir}"
814              debug="${build.debug}"              debug="${build.debug}"
815         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
816        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
817             source="${pretiger.sourcelevel}"             source="${build.sourcelevel}"
818               fork="true">               fork="true">
819    
820          <include name="**/*.java"/>
821        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
822        <exclude name="**/Thread.java"/>        <compilerarg value="-XDignore.symbol.file=true"/>
823          <compilerarg value="${bootclasspath.args}"/>
824    
825    <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
826    
827      </javac>      </javac>
828    
829    </target>    </target>
830    
   <target name="pretiger" depends="compile-pretiger">  
831    
     <mkdir dir="${build.lib.dir}"/>  
832    
833      <jar destfile="${pretiger.jar}">    <target name="jsr166yjar"
834        <fileset dir="${build.pretiger.dir}">            depends="jsr166ycompile"
835        </fileset>            description="Builds library jar from compiled sources">
836    
837        <mkdir dir="${build.jsr166ylib.dir}"/>
838    
839        <jar destfile="${jsr166yproduct.jar}" index="true">
840          <fileset dir="${build.jsr166y.dir}"/>
841      </jar>      </jar>
842    
843    </target>    </target>
844    
   <!-- jsr166x -->  
845    
846    
847    <target name="jsr166xcompile"    <target name="jsr166ydocs"
848            depends="init, configure-compiler"            description="Builds javadocs with custom tags to build folder">
           description="Compiles jsr166x sources">  
849    
850      <mkdir dir="${build.jsr166x.dir}"/>      <delete dir="${build.jsr166yjavadocs.dir}"/>
851        <mkdir dir="${build.jsr166yjavadocs.dir}"/>
852    
853      <javac srcdir="${jsr166xsrc.dir}"      <javadoc destdir="${build.jsr166yjavadocs.dir}"
854            destdir="${build.jsr166x.dir}"               packagenames="jsr166y"
855                 link="${jdkapidocs.url}"
856                 source="${build.sourcelevel}"
857                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
858                 additionalparam="-XDignore.symbol.file=true" />
859    
860      </target>
861    
862    
863      <target name="jsr166ydist"
864              depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"
865              description="Puts all distributable products in single hierarchy"/>
866    
867    
868    
869      <target name="jsr166yclean"
870              description="Removes all build products">
871    
872        <delete dir="${build.jsr166y.dir}"/>
873        <delete dir="${build.jsr166ylib.dir}"/>
874    
875      </target>
876    
877    
878    
879      <target name="jsr166ydist-clean"
880              description="Removes all build and distribution products">
881    
882      </target>
883    
884      <target name="jsr166ydist-docs"
885              description="Builds javadocs without custom tags to dist folder">
886    
887        <delete dir="${dist.jsr166yjavadocs.dir}"/>
888        <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
889    
890        <javadoc destdir="${dist.jsr166yjavadocs.dir}"
891                 packagenames="jsr166y"
892                 link="${jdkapidocs.url}"
893                 source="${build.sourcelevel}"
894                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
895                 additionalparam="-XDignore.symbol.file=true" />
896    
897      </target>
898    
899      <target name="jsr166ydist-jar"
900              depends="jsr166yclean, jsr166yjar">
901    
902        <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>
903    
904      </target>
905    
906    
907      <!-- extra166y -->
908    
909    
910      <target name="extra166ycompile"
911              depends="init, configure-compiler, jsr166ycompile"
912              description="Compiles extra166y sources">
913    
914        <mkdir dir="${build.extra166y.dir}"/>
915    
916        <javac srcdir="${extra166ysrc.dir}"
917              destdir="${build.extra166y.dir}"
918              debug="${build.debug}"              debug="${build.debug}"
919                classpath="${jsr166yproduct.jar}"
920         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
921        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
922             source="${build.sourcelevel}"             source="${build.sourcelevel}"
# Line 981  Line 924 
924    
925        <include name="**/*.java"/>        <include name="**/*.java"/>
926        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
927          <compilerarg value="-XDignore.symbol.file=true"/>
928          <compilerarg value="${bootclasspath.args}"/>
929    
930    <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
931    
932      </javac>      </javac>
933    
# Line 988  Line 935 
935    
936    
937    
938    <target name="jsr166xjar"    <target name="extra166yjar"
939            depends="jsr166xcompile"            depends="extra166ycompile"
940            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
941    
942      <mkdir dir="${build.jsr166xlib.dir}"/>      <mkdir dir="${build.extra166ylib.dir}"/>
943    
944      <jar destfile="${jsr166xproduct.jar}">      <jar destfile="${extra166yproduct.jar}" index="true">
945        <fileset dir="${build.jsr166x.dir}"/>        <fileset dir="${build.extra166y.dir}"/>
946      </jar>      </jar>
947    
948    </target>    </target>
949    
950    
951    
952    <target name="jsr166xdocs"    <target name="extra166ydocs"
953            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs with custom tags to build folder">
954    
955      <delete dir="${build.jsr166xjavadocs.dir}"/>      <delete dir="${build.extra166yjavadocs.dir}"/>
956      <mkdir dir="${build.jsr166xjavadocs.dir}"/>      <mkdir dir="${build.extra166yjavadocs.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"  
957    
958      >      <javadoc destdir="${build.extra166yjavadocs.dir}"
959        <packageset dir="${topsrc.dir}" defaultexcludes="yes">               packagenames="extra166y"
960        <include name="jsr166x"/>               link="${jdkapidocs.url}"
961        </packageset>               source="${build.sourcelevel}"
962                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
963                 additionalparam="-XDignore.symbol.file=true" />
     </javadoc>  
964    
965    </target>    </target>
966    
967    
968    <target name="jsr166xdist"    <target name="extra166ydist"
969            depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"            depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"
970            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
971    
972    
973    
974    <target name="jsr166xclean"    <target name="extra166yclean"
975            description="Removes all build products">            description="Removes all build products">
976    
977      <delete dir="${build.jsr166x.dir}"/>      <delete dir="${build.extra166y.dir}"/>
978      <delete dir="${build.jsr166xlib.dir}"/>      <delete dir="${build.extra166ylib.dir}"/>
979    
980    </target>    </target>
981    
982    
983    
984    <target name="jsr166xdist-clean"    <target name="extra166ydist-clean"
985            description="Removes all build and distribution products">            description="Removes all build and distribution products">
986    
987    </target>    </target>
988    
989      <target name="extra166ydist-docs"
990              description="Builds javadocs without custom tags to dist folder">
991    
992        <delete dir="${dist.extra166yjavadocs.dir}"/>
993        <mkdir dir="${dist.extra166yjavadocs.dir}"/>
994    
995    <target name="jsr166xdist-docs"      <javadoc destdir="${dist.extra166yjavadocs.dir}"
996            description="Builds javadocs without custom tags to dist folder">               packagenames="extra166y"
997                 link="${jdkapidocs.url}"
998                 source="${build.sourcelevel}"
999                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
1000                 additionalparam="-XDignore.symbol.file=true" />
1001    
1002      <delete dir="${dist.jsr166xjavadocs.dir}"/>    </target>
     <mkdir dir="${dist.jsr166xjavadocs.dir}"/>  
1003    
1004      <javadoc destdir="${dist.jsr166xjavadocs.dir}"    <target name="extra166ydist-jar"
1005                  link="http://java.sun.com/j2se/1.5.0/docs/api/"            depends="extra166yclean, extra166yjar">
1006                source="${build.sourcelevel}">  
1007        <copy file="${extra166yproduct.jar}" todir="${dist.dir}"/>
1008    
1009        <packageset dir="${topsrc.dir}" defaultexcludes="yes">    </target>
       <include name="jsr166x"/>  
       </packageset>  
1010    
1011      <!-- jsr166e -->
1012    
1013      <target name="jsr166ecompile"
1014              depends="configure-compiler"
1015              description="Compiles jsr166e sources">
1016    
1017        <mkdir dir="${build.jsr166e.dir}"/>
1018    
1019        <javac srcdir="${topsrc.dir}"
1020               destdir="${build.jsr166e.dir}"
1021               debug="${build.debug}"
1022               debuglevel="${build.debuglevel}"
1023               deprecation="${build.deprecation}"
1024               source="1.7"
1025               classpath=""
1026               includeAntRuntime="false"
1027               includeJavaRuntime="false"
1028               executable="${javac7}"
1029               fork="true">
1030    
1031          <include name="jsr166e/**/*.java"/>
1032          <compilerarg line="${build.args}"/>
1033          <compilerarg value="-XDignore.symbol.file=true"/>
1034          <compilerarg value="-Xlint:all"/>
1035    
1036        </javac>
1037    
1038      </target>
1039    
1040    
1041    
1042      <target name="jsr166ejar"
1043              depends="jsr166ecompile"
1044              description="Builds library jar from compiled sources">
1045    
1046        <mkdir dir="${build.jsr166elib.dir}"/>
1047    
1048        <jar destfile="${jsr166eproduct.jar}" index="true">
1049          <fileset dir="${build.jsr166e.dir}"/>
1050        </jar>
1051    
1052      </target>
1053    
1054    
1055    
1056      <target name="jsr166edocs"
1057              description="Builds javadocs with custom tags to build folder">
1058    
1059        <delete dir="${build.jsr166ejavadocs.dir}"/>
1060        <mkdir dir="${build.jsr166ejavadocs.dir}"/>
1061    
1062        <javadoc destdir="${build.jsr166ejavadocs.dir}"
1063                 packagenames="jsr166e,jsr166e.extra"
1064                 link="${jdkapi7docs.url}"
1065                 source="1.7"
1066                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1067                 executable="${javadoc7}"
1068                 additionalparam="-XDignore.symbol.file=true" >
1069          <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1070            <include name="jsr166e/**/*.java"/>
1071          </fileset>
1072      </javadoc>      </javadoc>
1073    
1074    </target>    </target>
1075    
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
1076    
1077      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>    <target name="jsr166edist"
1078              depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"
1079              description="Puts all distributable products in single hierarchy"/>
1080    
1081    
1082    
1083      <target name="jsr166eclean"
1084              description="Removes all build products">
1085    
1086        <delete dir="${build.jsr166e.dir}"/>
1087        <delete dir="${build.jsr166elib.dir}"/>
1088    
1089      </target>
1090    
1091    
1092    
1093      <target name="jsr166edist-clean"
1094              description="Removes all build and distribution products">
1095    
1096      </target>
1097    
1098      <target name="jsr166edist-docs"
1099              description="Builds javadocs without custom tags to dist folder">
1100    
1101        <delete dir="${dist.jsr166ejavadocs.dir}"/>
1102        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1103    
1104        <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1105                 packagenames="jsr166e,jsr166e.extra"
1106                 link="${jdkapidocs.url}"
1107                 source="1.7"
1108                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
1109                 additionalparam="-XDignore.symbol.file=true" />
1110    
1111      </target>
1112    
1113      <target name="jsr166edist-jar"
1114              depends="jsr166eclean, jsr166ejar">
1115    
1116        <copy file="${jsr166eproduct.jar}" todir="${dist.dir}"/>
1117    
1118    </target>    </target>
1119    

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

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