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

Diff of /jsr166/build.xml

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

revision 1.70, Wed Aug 11 10:57:33 2004 UTC revision 1.98, Wed Jan 16 07:39:51 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.
20  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
21    </description>    </description>
22    
# Line 21  Line 30 
30    
31    
32    <!-- Compilation options -->    <!-- Compilation options -->
33    <property name="build.sourcelevel"    value="1.5"/>    <property name="build.sourcelevel"    value="1.6"/>
34    <property name="build.debug"          value="true"/>    <property name="build.debug"          value="true"/>
35    <property name="build.debuglevel"     value="source,lines,vars"/>    <property name="build.debuglevel"     value="source,lines,vars"/>
36    <property name="build.deprecation"    value="false"/>    <property name="build.deprecation"    value="false"/>
# Line 30  Line 39 
39    <property name="build.dir"            location="build"/>    <property name="build.dir"            location="build"/>
40    <property name="build.classes.dir"    location="${build.dir}/classes"/>    <property name="build.classes.dir"    location="${build.dir}/classes"/>
41    <property name="build.testcases.dir"  location="${build.dir}/testcases"/>    <property name="build.testcases.dir"  location="${build.dir}/testcases"/>
   <property name="build.j1.dir"         location="${build.dir}/j1"/>  
42    <property name="build.loops.dir"      location="${build.dir}/loops"/>    <property name="build.loops.dir"      location="${build.dir}/loops"/>
43    <property name="build.lib.dir"        location="${build.dir}/lib"/>    <property name="build.lib.dir"        location="${build.dir}/lib"/>
   <property name="build.ant.dir"        location="${build.dir}/ant"/>  
44    <property name="build.javadocs.dir"   location="${build.dir}/javadocs"/>    <property name="build.javadocs.dir"   location="${build.dir}/javadocs"/>
45    <property name="build.reports.dir"    location="${build.dir}/reports"/>    <property name="build.reports.dir"    location="${build.dir}/reports"/>
46    <property name="build.checkstyle.dir" location="${build.dir}/checkstyle"/>  
47    <property name="build.doccheck.dir"   location="${build.dir}/doccheck"/>    <property name="build.jdk7.dir"              location="${build.dir}/jdk7"/>
48    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>    <property name="build.jdk7.lib.dir"          location="${build.jdk7.dir}"/>
49    <property name="build.dc-filter.dir"  location="${build.dir}/filterdocchk"/>    <property name="build.jdk7.classes.dir"      location="${build.jdk7.dir}/classes"/>
50      <property name="build.jdk7.tck.classes.dir"  location="${build.jdk7.dir}/tck/classes"/>
51      <property name="build.jdk7.docs.dir"         location="${build.jdk7.dir}/docs"/>
52    
53    <property name="build.jsr166x.dir"    location="${build.dir}/jsr166x"/>    <property name="build.jsr166x.dir"    location="${build.dir}/jsr166x"/>
54    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>
55    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>
56    
57      <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>
58      <property name="build.jsr166ylib.dir"        location="${build.dir}/jsr166ylib"/>
59      <property name="build.jsr166yjavadocs.dir"   location="${build.dir}/jsr166yjavadocs"/>
60    
61      <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>
62      <property name="build.jsr166elib.dir"        location="${build.dir}/jsr166elib"/>
63      <property name="build.jsr166ejavadocs.dir"   location="${build.dir}/jsr166ejavadocs"/>
64    
65      <property name="build.extra166y.dir"         location="${build.dir}/extra166y"/>
66      <property name="build.extra166ylib.dir"      location="${build.dir}/extra166ylib"/>
67      <property name="build.extra166yjavadocs.dir" location="${build.dir}/extra166yjavadocs"/>
68    
69      <!-- JDK binary locations -->
70      <property name="jdks.home"  location="${user.home}/jdk"/>
71    
72      <macrodef name="defjdklocations">
73        <attribute name="v"/>
74        <sequential>
75        <property name="jdk@{v}.home"  location="${jdks.home}/jdk@{v}"/>
76        <property name="java@{v}"      location="${jdk@{v}.home}/bin/java"/>
77        <property name="javac@{v}"     location="${jdk@{v}.home}/bin/javac"/>
78        <property name="javadoc@{v}"   location="${jdk@{v}.home}/bin/javadoc"/>
79        <property name="bootdir@{v}"   location="${jdk@{v}.home}/jre/lib"/>
80        <property name="bootclasspath@{v}"
81         value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
82        </sequential>
83      </macrodef>
84    
85      <defjdklocations v="6"/>
86      <defjdklocations v="7"/>
87      <defjdklocations v="8"/>
88    
89      <macrodef name="run-tck-tests">
90        <attribute name="jvm"/>
91        <attribute name="tck.classes"/>
92        <attribute name="product.jar" default="${product.jar}"/>
93        <attribute name="jvmflags" default=""/>
94        <sequential>
95        <java classname="JSR166TestCase"
96              jvm="@{jvm}" fork="true">
97            <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
98            <jvmarg line="@{jvmflags}"/>
99            <classpath>
100              <pathelement location="${junit.jar}"/>
101              <pathelement location="@{tck.classes}"/>
102            </classpath>
103        </java>
104        </sequential>
105      </macrodef>
106    
107    <!-- Source locations -->    <!-- Source locations -->
108    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
109    <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"/>  
110    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
111    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
112    <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"/>  
113    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
114    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
115    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
116    <property name="jsr166xsrc.dir"       location="${basedir}/src/jsr166x"/>    <property name="jdk7src.dir"          location="${topsrc.dir}/jdk7"/>
117      <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
118      <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
119      <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
120      <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>
121      <property name="jdksrc.dir"           location="/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"/>
122    
123    <!-- Distribution locations -->    <!-- Distribution locations -->
124    <property name="dist.javadocs.dir"    location="${dist.dir}/docs"/>    <property name="dist.javadocs.dir"    location="${dist.dir}/docs"/>
125      <property name="dist.jdk7.docs.dir"          location="${dist.dir}/jsr166-jdk7docs"/>
126    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>
127      <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>
128      <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>
129      <property name="dist.extra166yjavadocs.dir"  location="${dist.dir}/extra166ydocs"/>
130    
131    <!-- Jar locations -->    <!-- Jar locations -->
132    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>
133      <property name="jdk7product.jar"      location="${build.jdk7.lib.dir}/jsr166-jdk7.jar"/>
134    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>
135      <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>
136      <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>
137      <property name="extra166yproduct.jar" location="${build.extra166ylib.dir}/extra166y.jar"/>
138    <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"/>  
139    
140    <!-- Bootclasspath argument -->    <!-- Bootclasspath argument -->
141    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
142    
143      <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
144      <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
145      <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
146      <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>
147    
148      <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
149      <!-- The below does not yet exist as of 2012-11 -->
150      <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
151      <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
152    
153    <!-- Test classpath -->    <!-- Test classpath -->
154    <path id="test.classpath">    <path id="test.classpath">
155      <pathelement location="${build.testcases.dir}"/>      <pathelement location="${build.testcases.dir}"/>
# Line 82  Line 161 
161      <pathelement location="${build.loops.dir}"/>      <pathelement location="${build.loops.dir}"/>
162    </path>    </path>
163    
   <!-- J1 classpath -->  
   <path id="j1.classpath">  
     <pathelement location="${build.j1.dir}"/>  
     <pathelement location="${junit.jar}"/>  
     <pathelement location="${concurrent.jar}"/>  
   </path>  
   
164    
165    <!-- Main targets -->    <!-- Main targets -->
166    
167      <target name="dists"
168              depends="dist, jsr166xdist, jsr166ydist,jsr166edist,  extra166ydist"
169              description="Builds all public jars and docs"/>
170    
171    <target name="compile"    <target name="compile"
172            depends="init, configure-compiler"            depends="init, configure-compiler"
# Line 108  Line 183 
183               fork="true">               fork="true">
184    
185        <include name="**/*.java"/>        <include name="**/*.java"/>
186          <compilerarg value="-XDignore.symbol.file=true"/>
187    
188    <!--
189        <exclude name="java/lang/**"/>        <exclude name="java/lang/**"/>
190        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
191          <compilerarg line="-Xlint -Xmaxwarns 1000"/>
192    -->
193    
194      </javac>      </javac>
195    
# Line 143  Line 223 
223      <delete dir="${build.javadocs.dir}"/>      <delete dir="${build.javadocs.dir}"/>
224      <mkdir dir="${build.javadocs.dir}"/>      <mkdir dir="${build.javadocs.dir}"/>
225    
226        <!-- the packagenames="none" hack below prevents scanning the -->
227        <!-- sourcepath for packages -->
228    
229      <javadoc destdir="${build.javadocs.dir}"      <javadoc destdir="${build.javadocs.dir}"
230                  link="http://java.sun.com/j2se/1.4.1/docs/api"               packagenames="none"
231                 link="${jdkapidocs.url}"
232              overview="${src.dir}/intro.html"              overview="${src.dir}/intro.html"
233                source="${build.sourcelevel}">               sourcepath="${src.dir}:${jdksrc.dir}"
234                 additionalparam="-XDignore.symbol.file=true" >
235        <tag name="revised" description="Last revised:"/>        <fileset dir="${src.dir}" defaultexcludes="yes">
236        <tag name="spec"    description="Specified by:"/>          <include name="**/*.java"/>
237          </fileset>
       <packageset dir="${src.dir}"/>  
   
238      </javadoc>      </javadoc>
239    
240    </target>    </target>
241    
242    
243    
   <target name="doccheck"  
           depends="filter-doccheck"  
           description="Reports on javadoc style errors">  
   
     <delete dir="${build.doccheck.dir}"/>  
     <mkdir dir="${build.doccheck.dir}"/>  
   
     <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"  
          docletpath="${lib.dir}/doccheck.jar"  
             destdir="${build.doccheck.dir}">  
       <packageset dir="${build.dc-filter.dir}"/>  
     </javadoc>  
   
     <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"/>  
   
   </target>  
   
   
   
244    <target name="dist"    <target name="dist"
245            depends="init, dist-clean, dist-jar, dist-docs"            depends="init, dist-clean, dist-jar, dist-docs"
246            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
247    
248    
   
249    <target name="release"    <target name="release"
250            depends="dist"            depends="dist"
251            description="Puts entire CVS tree, plus distribution productions, in a jar">            description="Puts entire CVS tree, plus distribution productions, in a jar">
# Line 253  Line 292 
292      <delete dir="${dist.javadocs.dir}"/>      <delete dir="${dist.javadocs.dir}"/>
293      <mkdir dir="${dist.javadocs.dir}"/>      <mkdir dir="${dist.javadocs.dir}"/>
294    
295        <!-- the packagenames="none" hack below prevents scanning the -->
296        <!-- sourcepath for packages -->
297    
298      <javadoc destdir="${dist.javadocs.dir}"      <javadoc destdir="${dist.javadocs.dir}"
299                  link="http://java.sun.com/j2se/1.4.2/docs/api"               packagenames="none"
300                 link="${jdkapidocs.url}"
301              overview="${src.dir}/intro.html"              overview="${src.dir}/intro.html"
302                source="${build.sourcelevel}">               sourcepath="${src.dir}:${jdksrc.dir}"
303                 additionalparam="-XDignore.symbol.file=true" >
304        <packageset dir="${src.dir}"/>        <fileset dir="${src.dir}" defaultexcludes="yes">
305            <include name="**/*.java"/>
306          </fileset>
307      </javadoc>      </javadoc>
308    
309    </target>    </target>
# Line 287  Line 331 
331    </target>    </target>
332    
333    
   <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>  
   
   
334    <target name="compile-tests"    <target name="compile-tests"
335            depends="jar">            depends="jar">
336    
# Line 413  Line 346 
346    
347        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
348        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
349          <compilerarg value="-XDignore.symbol.file=true"/>
350    
351        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
352    
# Line 430  Line 364 
364    
365        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
366        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
367          <compilerarg value="-XDignore.symbol.file=true"/>
368    
369        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
370    
# Line 446  Line 381 
381    
382        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
383        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
384          <compilerarg value="-XDignore.symbol.file=true"/>
385    
386        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
387    
# Line 518  Line 454 
454        <fileset dir="${build.reports.dir}">        <fileset dir="${build.reports.dir}">
455          <include name="TEST-*.xml"/>          <include name="TEST-*.xml"/>
456        </fileset>        </fileset>
457        <report styledir="${stylesheet.dir}"        <report format="${junit.report.format}" todir="${build.reports.dir}"
                 format="${junit.report.format}"  
                  todir="${build.reports.dir}"  
458        />        />
459      </junitreport>      </junitreport>
460    
# Line 570  Line 504 
504    </target>    </target>
505    
506    
   
   <!-- 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>  
   
   
   
507    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
508    
509    
   <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>  
   
   
510    <target name="loops" depends="init, configure-compiler"    <target name="loops" depends="init, configure-compiler"
511            description="Benchmark from Doug Lea's AQS paper">            description="Benchmark from Doug Lea's AQS paper">
512    
# Line 669  Line 522 
522    
523        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
524        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
525          <compilerarg value="-XDignore.symbol.file=true"/>
526    
527      </javac>      </javac>
528    
# Line 679  Line 533 
533    </target>    </target>
534    
535    
536    <target name="compile-j1" depends="init, configure-compiler">    <!-- jdk7 -->
537    
     <mkdir dir="${build.j1.dir}"/>  
538    
539      <javac srcdir="${j1.src.dir}"    <target name="jdk7compile"
540            destdir="${build.j1.dir}"            depends="configure-compiler"
541              description="Compiles src/jdk7 sources">
542    
543        <mkdir dir="${build.jdk7.classes.dir}"/>
544    
545        <javac srcdir="${jdk7src.dir}"
546               destdir="${build.jdk7.classes.dir}"
547              debug="${build.debug}"              debug="${build.debug}"
548         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
549        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
550             source="${build.sourcelevel}" >             source="1.6"
551               classpath=""
552               bootclasspath="${bootclasspath6}"
553               includeAntRuntime="false"
554               includeJavaRuntime="false"
555               executable="${javac7}"
556               fork="true">
557    
558        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/dijkstra/**"/>  
   
559        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
560        <classpath refid="j1.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
561          <compilerarg value="-Xlint:all"/>
562    
563      </javac>      </javac>
564    
565    </target>      <mkdir dir="${build.jdk7.lib.dir}"/>
566    
567        <jar destfile="${jdk7product.jar}" index="true">
568          <fileset dir="${build.jdk7.classes.dir}"/>
569        </jar>
570    
571    <target name="sw" depends="compile-j1"      <mkdir dir="${build.jdk7.tck.classes.dir}"/>
           description="Runs the SwingWorker demo">  
572    
573      <!--      <javac srcdir="${tck.src.dir}"
574      <java classname="jsr166.swing.SwingWorkerDemo" fork="true">             destdir="${build.jdk7.tck.classes.dir}"
575        <classpath refid="j1.classpath"/>             debug="${build.debug}"
576      </java>             debuglevel="${build.debuglevel}"
577      -->             deprecation="${build.deprecation}"
578               source="1.6"
579               classpath="${junit.jar}"
580               bootclasspath="${jdk7product.jar}:${bootclasspath6}"
581               includeAntRuntime="false"
582               includeJavaRuntime="false"
583               executable="${javac7}"
584               fork="true">
585    
586      <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>        <include name="**/*.java"/>
587          <compilerarg line="${build.args}"/>
588          <compilerarg value="-XDignore.symbol.file=true"/>
589          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
590    
591      <exec dir="${build.j1.dir}" executable="appletviewer.exe">      </javac>
       <arg value="${build.j1.dir}/SwingWorker.html"/>  
     </exec>  
592    
593    </target>    </target>
594    
   <target name="j1" depends="compile-j1"  
           description="Runs a standalone JavaOne program">  
   
     <java classname="${j1.test}" fork="true">  
       <classpath refid="j1.classpath"/>  
       <jvmarg value="-client"/>  
   
       <!-- TestPseudoRandom args -->  
       <arg value="2"/>  
       <arg value="25"/>  
       <arg value="100000"/>  
   
       <!-- WebCrawler args -->  
       <!--  
       <arg value="jsr166.webcrawler.WebCrawler3"/>  
       <arg value="http://www.priorartisans.com"/>  
       <arg value="25"/>  
       -->  
   
     </java>  
595    
596      <target name="run-jdk7-tck-tests"
597              depends="jdk7compile"
598              description="Runs tck tests for jsr166-jdk7 directly">
599        <run-tck-tests
600          jvm="${java7}"
601          tck.classes="${build.jdk7.tck.classes.dir}"
602          product.jar="${jdk7product.jar}"/>
603    </target>    </target>
604    
605    
606    <target name="test-j1" depends="compile-j1"    <target name="run-jdk7-tck-tests-via-junit-task"
607            description="Runs testcases from the JavaOne source directories">            depends="jdk7compile">
608    
609      <junit printsummary="true"      <junit printsummary="true"
610               showoutput="true"               showoutput="true"
611            errorProperty="junit.failed"            errorProperty="junit.failed"
612          failureProperty="junit.failed"          failureProperty="junit.failed"
613                      dir="${build.j1.dir}"             includeantruntime="true"
614               jvm="${java7}"
615                     fork="true">                     fork="true">
616    
617        <!-- <jvmarg value="-server"/> -->        <jvmarg value="-Xbootclasspath/p:${jdk7product.jar}"/>
618        <classpath refid="j1.classpath"/>        <jvmarg value="-server"/>
       <formatter type="xml"/>  
619    
620        <batchtest todir="${build.j1.dir}">        <classpath>
621          <fileset dir="${j1.src.dir}">          <pathelement location="${junit.jar}"/>
622            <include name="**/*Test.java"/>          <pathelement location="${build.jdk7.tck.classes.dir}"/>
623          </fileset>        </classpath>
624        </batchtest>  
625          <formatter type="brief"/>
626    
627          <test name="JSR166TestCase" haltonfailure="no">
628          </test>
629    
630      </junit>      </junit>
631      </target>
632    
     <available property="junit.report.format"  
                   value="frames"  
               classname="org.apache.xalan.lib.Redirect"/>  
     <property name="junit.report.format" value="noframes"/>  
633    
634      <junitreport todir="${build.j1.dir}">    <target name="jdk7docs"
635        <fileset dir="${build.j1.dir}">            description="Builds javadocs with custom tags to build folder">
         <include name="TEST-*.xml"/>  
       </fileset>  
       <report styledir="${stylesheet.dir}"  
                 format="${junit.report.format}"  
                  todir="${build.j1.dir}"  
       />  
     </junitreport>  
636    
637      <fail message="Test Cases Failed" if="junit.failed"/>      <delete dir="${build.jdk7.docs.dir}"/>
638        <mkdir dir="${build.jdk7.docs.dir}"/>
639    
640        <javadoc destdir="${build.jdk7.docs.dir}"
641                 packagenames="none"
642                 link="${jdkapi7docs.url}"
643                 overview="${jdk7src.dir}/intro.html"
644                 sourcepath="${jdk7src.dir}"
645                 bootclasspath="${bootclasspath6}"
646                 classpath=""
647                 source="1.6"
648                 executable="${javadoc7}"
649                 additionalparam="-XDignore.symbol.file=true" >
650          <fileset dir="${jdk7src.dir}" defaultexcludes="yes">
651            <include name="**/*.java"/>
652          </fileset>
653        </javadoc>
654    
655    </target>    </target>
656    
657    
658      <target name="jdk7dist"
659              depends="jdk7dist-clean, jdk7dist-jar, jdk7dist-docs"
660              description="Puts all distributable products in single hierarchy"/>
661    
   <!-- C++ and JNI definitions and demos -->  
662    
   <target name="configure-cpp">  
663    
664      <!-- Define tasks and types -->    <target name="jdk7clean"
665              description="Removes all build products">
666    
667      <path id="cpptasks.path">      <delete dir="${build.jdk7.dir}"/>
       <pathelement location="${lib.dir}/cpptasks.jar"/>  
     </path>  
     <taskdef resource="cpptasks.tasks" classpathref="cpptasks.path"/>  
     <typedef resource="cpptasks.types" classpathref="cpptasks.path"/>  
668    
669      <!-- Set platform property for JNI includes -->    </target>
670    
671      <condition property="platform" value="linux">  
672        <os name="Linux"/>  
673      </condition>    <target name="jdk7dist-clean"
674      <condition property="platform" value="win32">            description="Removes all build and distribution products">
       <os family="windows"/>  
     </condition>  
     <condition property="platform" value="solaris">  
       <os name="SunOS"/>  
     </condition>  
675    
676    </target>    </target>
677    
678      <target name="jdk7dist-docs"
679              description="Builds javadocs without custom tags to dist folder">
680    
681    <target name="cppdemo" depends="configure-cpp">      <delete dir="${dist.jdk7.docs.dir}"/>
682        <mkdir dir="${dist.jdk7.docs.dir}"/>
683    
684      <mkdir dir="${build.dir}"/>      <javadoc destdir="${dist.jdk7.docs.dir}"
685                 packagenames="none"
686                 link="${jdkapi7docs.url}"
687                 overview="${jdk7src.dir}/intro.html"
688                 sourcepath="${jdk7src.dir}"
689                 classpath=""
690                 executable="${javadoc7}"
691                 bootclasspath="${bootclasspath6}"
692                 source="1.6">
693          <arg value="-XDignore.symbol.file=true"/>
694          <fileset dir="${jdk7src.dir}" defaultexcludes="yes">
695            <include name="**/*.java"/>
696          </fileset>
697        </javadoc>
698    
699      </target>
700    
701      <cc multithreaded="true"    <target name="jdk7dist-jar"
702                   name="g++"            depends="jdk7clean, jdk7compile">
                objdir="${build.dir}"  
               outfile="${build.dir}/CppDemo">  
       <fileset dir="${test.src.dir}" includes="CppDemo.cpp"/>  
       <libset libs="stdc++"/>  
     </cc>  
703    
704      <exec executable="${build.dir}/CppDemo">      <copy file="${jdk7product.jar}" todir="${dist.dir}"/>
       <arg line="count in word frequency of word in command line count"/>  
     </exec>  
705    
706    </target>    </target>
707    
708      <!-- jsr166x -->
709    
   <target name="jnidemo" depends="init, configure-compiler, configure-cpp">  
710    
711      <mkdir dir="${build.testcases.dir}"/>    <target name="jsr166xcompile"
712              depends="init, configure-compiler"
713              description="Compiles jsr166x sources">
714    
715      <javac srcdir="${test.src.dir}"      <mkdir dir="${build.jsr166x.dir}"/>
716            destdir="${build.testcases.dir}"  
717        <javac srcdir="${jsr166xsrc.dir}"
718              destdir="${build.jsr166x.dir}"
719              debug="${build.debug}"              debug="${build.debug}"
720         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
721        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
722             source="${build.sourcelevel}"             source="${build.sourcelevel}"
723               fork="true">               fork="true">
724        <compilerarg value="${bootclasspath.args}"/>  
725          <include name="**/*.java"/>
726        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
727        <classpath refid="test.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
728        <include name="JniDemo.java"/>  
729      </javac>      </javac>
730    
731      <javah destdir="${build.testcases.dir}"    </target>
732        classpathref="test.classpath">  
733        <class name="JniDemo"/>  
734      </javah>  
735      <target name="jsr166xjar"
736      <cc multithreaded="true"            depends="jsr166xcompile"
737                   name="g++"            description="Builds library jar from compiled sources">
738                 objdir="${build.dir}"  
739                outfile="${build.dir}/JniDemo"      <mkdir dir="${build.jsr166xlib.dir}"/>
740                outtype="shared">  
741        <jar destfile="${jsr166xproduct.jar}">
742        <compiler>        <fileset dir="${build.jsr166x.dir}"/>
743          <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>  
744    
745    </target>    </target>
746    
747    
748    
749    <!-- Backward compatibility, work in progress (some files not checked in) -->    <target name="jsr166xdocs"
750              description="Builds javadocs with custom tags to build folder">
751    
752        <delete dir="${build.jsr166xjavadocs.dir}"/>
753        <mkdir dir="${build.jsr166xjavadocs.dir}"/>
754    
755        <javadoc destdir="${build.jsr166xjavadocs.dir}"
756                 packagenames="jsr166x"
757                 link="${jdkapidocs.url}"
758                 source="${build.sourcelevel}"
759                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
760                 additionalparam="-XDignore.symbol.file=true" />
761    
762      </target>
763    
764    
765      <target name="jsr166xdist"
766              depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"
767              description="Puts all distributable products in single hierarchy"/>
768    
769    
770    
771    <property name="pretiger.src.dir"     location="${build.dir}/pretiger/src"/>    <target name="jsr166xclean"
772    <property name="build.pretiger.dir"   location="${build.dir}/pretiger/classes"/>            description="Removes all build products">
773    <property name="pretiger.jar"         location="${build.lib.dir}/jsr166-pretiger.jar"/>  
774    <property name="pretiger.sourcelevel" value="1.4"/>      <delete dir="${build.jsr166x.dir}"/>
775        <delete dir="${build.jsr166xlib.dir}"/>
776    
777      </target>
778    
779    
780    
781      <target name="jsr166xdist-clean"
782              description="Removes all build and distribution products">
783    
784      </target>
785    
786    
787    
788      <target name="jsr166xdist-docs"
789              description="Builds javadocs without custom tags to dist folder">
790    
791        <delete dir="${dist.jsr166xjavadocs.dir}"/>
792        <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
793    
794        <javadoc destdir="${dist.jsr166xjavadocs.dir}"
795                 packagenames="jsr166x"
796                 link="${jdkapidocs.url}"
797                 source="${build.sourcelevel}"
798                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
799                 additionalparam="-XDignore.symbol.file=true" />
800    
801    <target name="defang"    </target>
        depends="init"  
    description="Generates pre-Tiger compatible source">  
802    
803      <delete dir="${pretiger.src.dir}"/>    <target name="jsr166xdist-jar"
804      <mkdir dir="${pretiger.src.dir}"/>            depends="jsr166xclean, jsr166xjar">
805    
806      <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>  
807    
808    </target>    </target>
809    
810    <target name="compile-pretiger"    <!-- jsr166y -->
811            depends="init, configure-compiler, defang"  
           description="Compiles pre-Tiger sources to build folder">  
812    
813      <mkdir dir="${build.pretiger.dir}"/>    <target name="jsr166ycompile"
814              depends="init, configure-compiler"
815              description="Compiles jsr166y sources">
816    
817      <javac srcdir="${pretiger.src.dir}"      <mkdir dir="${build.jsr166y.dir}"/>
818            destdir="${build.pretiger.dir}"  
819        <javac srcdir="${jsr166ysrc.dir}"
820              destdir="${build.jsr166y.dir}"
821              debug="${build.debug}"              debug="${build.debug}"
822         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
823        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
824             source="${pretiger.sourcelevel}"             source="${build.sourcelevel}"
825               fork="true">               fork="true">
826    
827          <include name="**/*.java"/>
828        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
829        <exclude name="**/Thread.java"/>        <compilerarg value="-XDignore.symbol.file=true"/>
830          <compilerarg value="${bootclasspath.args}"/>
831    
832    <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
833    
834      </javac>      </javac>
835    
836    </target>    </target>
837    
   <target name="pretiger" depends="compile-pretiger">  
838    
     <mkdir dir="${build.lib.dir}"/>  
839    
840      <jar destfile="${pretiger.jar}">    <target name="jsr166yjar"
841        <fileset dir="${build.pretiger.dir}">            depends="jsr166ycompile"
842        </fileset>            description="Builds library jar from compiled sources">
843    
844        <mkdir dir="${build.jsr166ylib.dir}"/>
845    
846        <jar destfile="${jsr166yproduct.jar}" index="true">
847          <fileset dir="${build.jsr166y.dir}"/>
848      </jar>      </jar>
849    
850    </target>    </target>
851    
   <!-- jsr166x -->  
852    
853    
854    <target name="jsr166xcompile"    <target name="jsr166ydocs"
855            depends="init, configure-compiler"            description="Builds javadocs with custom tags to build folder">
           description="Compiles jsr166x sources">  
856    
857      <mkdir dir="${build.jsr166x.dir}"/>      <delete dir="${build.jsr166yjavadocs.dir}"/>
858        <mkdir dir="${build.jsr166yjavadocs.dir}"/>
859    
860      <javac srcdir="${jsr166xsrc.dir}"      <javadoc destdir="${build.jsr166yjavadocs.dir}"
861            destdir="${build.jsr166x.dir}"               packagenames="jsr166y"
862                 link="${jdkapidocs.url}"
863                 source="${build.sourcelevel}"
864                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
865                 additionalparam="-XDignore.symbol.file=true" />
866    
867      </target>
868    
869    
870      <target name="jsr166ydist"
871              depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"
872              description="Puts all distributable products in single hierarchy"/>
873    
874    
875    
876      <target name="jsr166yclean"
877              description="Removes all build products">
878    
879        <delete dir="${build.jsr166y.dir}"/>
880        <delete dir="${build.jsr166ylib.dir}"/>
881    
882      </target>
883    
884    
885    
886      <target name="jsr166ydist-clean"
887              description="Removes all build and distribution products">
888    
889      </target>
890    
891      <target name="jsr166ydist-docs"
892              description="Builds javadocs without custom tags to dist folder">
893    
894        <delete dir="${dist.jsr166yjavadocs.dir}"/>
895        <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
896    
897        <javadoc destdir="${dist.jsr166yjavadocs.dir}"
898                 packagenames="jsr166y"
899                 link="${jdkapidocs.url}"
900                 source="${build.sourcelevel}"
901                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
902                 additionalparam="-XDignore.symbol.file=true" />
903    
904      </target>
905    
906      <target name="jsr166ydist-jar"
907              depends="jsr166yclean, jsr166yjar">
908    
909        <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>
910    
911      </target>
912    
913    
914      <!-- extra166y -->
915    
916    
917      <target name="extra166ycompile"
918              depends="init, configure-compiler, jsr166ycompile"
919              description="Compiles extra166y sources">
920    
921        <mkdir dir="${build.extra166y.dir}"/>
922    
923        <javac srcdir="${extra166ysrc.dir}"
924              destdir="${build.extra166y.dir}"
925              debug="${build.debug}"              debug="${build.debug}"
926                classpath="${jsr166yproduct.jar}"
927         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
928        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
929             source="${build.sourcelevel}"             source="${build.sourcelevel}"
# Line 970  Line 931 
931    
932        <include name="**/*.java"/>        <include name="**/*.java"/>
933        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
934          <compilerarg value="-XDignore.symbol.file=true"/>
935          <compilerarg value="${bootclasspath.args}"/>
936    
937    <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
938    
939      </javac>      </javac>
940    
# Line 977  Line 942 
942    
943    
944    
945    <target name="jsr166xjar"    <target name="extra166yjar"
946            depends="jsr166xcompile"            depends="extra166ycompile"
947            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
948    
949      <mkdir dir="${build.jsr166xlib.dir}"/>      <mkdir dir="${build.extra166ylib.dir}"/>
950    
951      <jar destfile="${jsr166xproduct.jar}">      <jar destfile="${extra166yproduct.jar}" index="true">
952        <fileset dir="${build.jsr166x.dir}"/>        <fileset dir="${build.extra166y.dir}"/>
953      </jar>      </jar>
954    
955    </target>    </target>
956    
957    
958    
959    <target name="jsr166xdocs"    <target name="extra166ydocs"
960            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs with custom tags to build folder">
961    
962      <delete dir="${build.jsr166xjavadocs.dir}"/>      <delete dir="${build.extra166yjavadocs.dir}"/>
963      <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/"  
     >  
       <packageset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="jsr166x"/>  
       </packageset>  
   
964    
965      </javadoc>      <javadoc destdir="${build.extra166yjavadocs.dir}"
966                 packagenames="extra166y"
967                 link="${jdkapidocs.url}"
968                 source="${build.sourcelevel}"
969                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
970                 additionalparam="-XDignore.symbol.file=true" />
971    
972    </target>    </target>
973    
974    
975    <target name="jsr166xdist"    <target name="extra166ydist"
976            depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"            depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"
977            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
978    
979    
980    
981    <target name="jsr166xclean"    <target name="extra166yclean"
982            description="Removes all build products">            description="Removes all build products">
983    
984      <delete dir="${build.jsr166x.dir}"/>      <delete dir="${build.extra166y.dir}"/>
985      <delete dir="${build.jsr166xlib.dir}"/>      <delete dir="${build.extra166ylib.dir}"/>
986    
987    </target>    </target>
988    
989    
990    
991    <target name="jsr166xdist-clean"    <target name="extra166ydist-clean"
992            description="Removes all build and distribution products">            description="Removes all build and distribution products">
993    
994    </target>    </target>
995    
996      <target name="extra166ydist-docs"
997              description="Builds javadocs without custom tags to dist folder">
998    
999        <delete dir="${dist.extra166yjavadocs.dir}"/>
1000        <mkdir dir="${dist.extra166yjavadocs.dir}"/>
1001    
1002    <target name="jsr166xdist-docs"      <javadoc destdir="${dist.extra166yjavadocs.dir}"
1003            description="Builds javadocs without custom tags to dist folder">               packagenames="extra166y"
1004                 link="${jdkapidocs.url}"
1005                 source="${build.sourcelevel}"
1006                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
1007                 additionalparam="-XDignore.symbol.file=true" />
1008    
1009      <delete dir="${dist.jsr166xjavadocs.dir}"/>    </target>
     <mkdir dir="${dist.jsr166xjavadocs.dir}"/>  
1010    
1011      <javadoc destdir="${dist.jsr166xjavadocs.dir}"    <target name="extra166ydist-jar"
1012                  link="http://java.sun.com/j2se/1.5.0/docs/api/"            depends="extra166yclean, extra166yjar">
1013                source="${build.sourcelevel}">  
1014        <copy file="${extra166yproduct.jar}" todir="${dist.dir}"/>
1015    
1016      </target>
1017    
1018      <!-- jsr166e -->
1019    
1020      <target name="jsr166ecompile"
1021              depends="configure-compiler"
1022              description="Compiles jsr166e sources">
1023    
1024        <packageset dir="${topsrc.dir}" defaultexcludes="yes">      <mkdir dir="${build.jsr166e.dir}"/>
       <include name="jsr166x"/>  
       </packageset>  
1025    
1026        <javac srcdir="${topsrc.dir}"
1027               destdir="${build.jsr166e.dir}"
1028               debug="${build.debug}"
1029               debuglevel="${build.debuglevel}"
1030               deprecation="${build.deprecation}"
1031               source="1.7"
1032               classpath=""
1033               includeAntRuntime="false"
1034               includeJavaRuntime="false"
1035               executable="${javac7}"
1036               fork="true">
1037    
1038          <include name="jsr166e/**/*.java"/>
1039          <compilerarg line="${build.args}"/>
1040          <compilerarg value="-XDignore.symbol.file=true"/>
1041          <compilerarg value="-Xlint:all"/>
1042    
1043        </javac>
1044    
1045      </target>
1046    
1047    
1048    
1049      <target name="jsr166ejar"
1050              depends="jsr166ecompile"
1051              description="Builds library jar from compiled sources">
1052    
1053        <mkdir dir="${build.jsr166elib.dir}"/>
1054    
1055        <jar destfile="${jsr166eproduct.jar}" index="true">
1056          <fileset dir="${build.jsr166e.dir}"/>
1057        </jar>
1058    
1059      </target>
1060    
1061    
1062    
1063      <target name="jsr166edocs"
1064              description="Builds javadocs with custom tags to build folder">
1065    
1066        <delete dir="${build.jsr166ejavadocs.dir}"/>
1067        <mkdir dir="${build.jsr166ejavadocs.dir}"/>
1068    
1069        <javadoc destdir="${build.jsr166ejavadocs.dir}"
1070                 packagenames="jsr166e,jsr166e.extra"
1071                 link="${jdkapi7docs.url}"
1072                 source="1.7"
1073                 sourcepath="${topsrc.dir}:${jdk7src.dir}:${jdksrc.dir}"
1074                 executable="${javadoc7}"
1075                 additionalparam="-XDignore.symbol.file=true" >
1076          <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1077            <include name="jsr166e/**/*.java"/>
1078          </fileset>
1079      </javadoc>      </javadoc>
1080    
1081    </target>    </target>
1082    
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
1083    
1084      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>    <target name="jsr166edist"
1085              depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"
1086              description="Puts all distributable products in single hierarchy"/>
1087    
1088    
1089    
1090      <target name="jsr166eclean"
1091              description="Removes all build products">
1092    
1093        <delete dir="${build.jsr166e.dir}"/>
1094        <delete dir="${build.jsr166elib.dir}"/>
1095    
1096      </target>
1097    
1098    
1099    
1100      <target name="jsr166edist-clean"
1101              description="Removes all build and distribution products">
1102    
1103      </target>
1104    
1105      <target name="jsr166edist-docs"
1106              description="Builds javadocs without custom tags to dist folder">
1107    
1108        <delete dir="${dist.jsr166ejavadocs.dir}"/>
1109        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1110    
1111        <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1112                 packagenames="jsr166e,jsr166e.extra"
1113                 link="${jdkapidocs.url}"
1114                 source="1.7"
1115                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
1116                 additionalparam="-XDignore.symbol.file=true" />
1117    
1118      </target>
1119    
1120      <target name="jsr166edist-jar"
1121              depends="jsr166eclean, jsr166ejar">
1122    
1123        <copy file="${jsr166eproduct.jar}" todir="${dist.dir}"/>
1124    
1125    </target>    </target>
1126    

Legend:
Removed from v.1.70  
changed lines
  Added in v.1.98

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8