[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.17, Fri Dec 13 07:09:11 2002 UTC revision 1.26, Tue May 27 16:21:52 2003 UTC
# Line 1  Line 1 
1  <project name="jsr166" default="jar">  <project name="jsr166" default="usage">
2    
3    <description>    <description>
   
4      Build file for JSR-166      Build file for JSR-166
5    
6      Note that junit.jar must be in ${ant.home}/lib for the      JUnit 1.8 must be in ${ant.home}/lib for the test target to work.
     test target to work. [FIXME: This should be automatically  
     enforced by this build file by failing with a message if  
     junit.jar is not in the right place.]  
   
7    </description>    </description>
8    
9    
10      <target name="usage" description="Prints this message">
11        <echo>
12    ant [target], where target is one of:
13    
14     usage       (default) Prints this message
15     compile     Compiles all sources to build folder
16     jar         Builds library jar from compiled sources
17     test        Runs all tests (requires JUnit 1.8 in ${ant.home}/lib)
18     docs        Builds javadocs with custom tags to build folder
19     dist-docs   Builds javadocs without custom tags to dist folder
20     dist        Puts all distributable products in single hierarchy
21    
22     clean       Removes all build products
23     dist-clean  Removes all build and distribution products
24    
25     checkstyle  Reports on style errors in Java source (verbose, mostly chaff)
26     doccheck    Reports on javadoc style errors (not working yet)
27        </echo>
28      </target>
29    
30      <property file="user.properties"/>
31      <property name="testcase" value="*"/>
32    
33    <!-- Compilation options -->    <!-- Compilation options -->
34    <property name="build.sourcelevel"    value="1.5"/>    <property name="build.sourcelevel"    value="1.5"/>
35      <property name="build.docsourcelevel" value="1.4"/>
36    <property name="build.debug"          value="true"/>    <property name="build.debug"          value="true"/>
37    <property name="build.debuglevel"     value="source,lines,vars"/>    <property name="build.debuglevel"     value="source,lines,vars"/>
38    <property name="build.deprecation"    value="false"/>    <property name="build.deprecation"    value="false"/>
# Line 33  Line 53 
53    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>
54    
55    <!-- Source locations -->    <!-- Source locations -->
56    <property name="src.dir"              location="${basedir}"/>    <property name="src.dir"              location="${basedir}/src/main"/>
57    <property name="test.src.dir"         location="${basedir}/etc/testcases"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
58    <property name="ant.src.dir"          location="${basedir}/etc/ant"/>    <property name="ant.src.dir"          location="${basedir}/etc/ant"/>
59    <property name="stylesheet.dir"       location="${basedir}/etc/xsl"/>    <property name="stylesheet.dir"       location="${basedir}/etc/xsl"/>
60    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
# Line 50  Line 70 
70    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>
71    <property name="rt.jar"               location="${java.home}/lib/rt.jar"/>    <property name="rt.jar"               location="${java.home}/lib/rt.jar"/>
72    
73    <property name="javac.args"           value='-J-Xbootclasspath/p:${javac.jar}'/>    <property name="javac.args"           value='-J-Xbootclasspath/p:$[src.dir]:${javac.jar}'/>
74    
75    <path id="javac.bootclasspath">    <path id="javac.bootclasspath">
76        <pathelement location="${src.dir}"/>
77      <pathelement location="${collect.jar}"/>      <pathelement location="${collect.jar}"/>
78      <pathelement location="${rt.jar}"/>      <pathelement location="${rt.jar}"/>
79    </path>    </path>
# Line 78  Line 99 
99        <bootclasspath refid="javac.bootclasspath"/>        <bootclasspath refid="javac.bootclasspath"/>
100        <compilerarg line="${javac.args} ${build.warnings.option}"/>        <compilerarg line="${javac.args} ${build.warnings.option}"/>
101    
       <!-- need this because srcdir is basedir! -->  
       <include name="java/**/*.java"/>  
   
102      </javac>      </javac>
103    </target>    </target>
104    
# Line 94  Line 112 
112    </target>    </target>
113    
114    
115    <target name="test" depends="init, report-tests"    <target name="test" depends="init, check-junit, report-tests"
116            description="Runs all tests"/>            description="Runs all tests (requires JUnit 1.8 in ${ant.home}/lib)"/>
117    
118    
119    <target name="checkstyle" depends="filter-src"    <target name="checkstyle" depends="filter-src"
120            description="Reports on style errors in Java source">            description="Reports on style errors in Java source (verbose, mostly chaff)">
121      <taskdef resource="checkstyletask.properties"      <taskdef resource="checkstyletask.properties"
122              classpath="${lib.dir}/checkstyle-all-2.4.jar"/>              classpath="${lib.dir}/checkstyle-all-2.4.jar"/>
123    
# Line 111  Line 129 
129    
130    
131    <target name="doccheck" depends="filter-src"    <target name="doccheck" depends="filter-src"
132            description="Reports on javadoc style errors">            description="Reports on javadoc style errors (not working yet)">
133      <delete dir="${build.doccheck.dir}"/>      <delete dir="${build.doccheck.dir}"/>
134      <mkdir dir="${build.doccheck.dir}"/>      <mkdir dir="${build.doccheck.dir}"/>
135      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"
136           docletpath="${lib.dir}/doccheck.jar"           docletpath="${lib.dir}/doccheck.jar"
137              destdir="${build.doccheck.dir}">              destdir="${build.doccheck.dir}">
138        <packageset dir="${build.filter.src.dir}">        <packageset dir="${build.filter.src.dir}"/>
         <include name="java/**"/>  
       </packageset>  
139      </javadoc>      </javadoc>
140    </target>    </target>
141    
# Line 131  Line 147 
147      <javadoc destdir="${build.javadocs.dir}"      <javadoc destdir="${build.javadocs.dir}"
148                  link="http://java.sun.com/j2se/1.4.1/docs/api"                  link="http://java.sun.com/j2se/1.4.1/docs/api"
149              overview="${src.dir}/intro.html"              overview="${src.dir}/intro.html"
150                source="${build.sourcelevel}">                source="${build.docsourcelevel}">
151    
152        <tag name="revised" description="Last revised:"/>        <tag name="revised" description="Last revised:"/>
153        <tag name="spec" description="Specified by:"/>        <tag name="spec" description="Specified by:"/>
154        <tag name="editor" description="Last edited by:"/>        <tag name="editor" description="Last edited by:"/>
155        <tag name="fixme" description="FIX ME:"/>        <tag name="fixme" description="FIX ME:"/>
156        <packageset dir="${build.filter.src.dir}">        <packageset dir="${build.filter.src.dir}"/>
         <include name="java/**"/>  
       </packageset>  
157    
158      </javadoc>      </javadoc>
159    </target>    </target>
160    
161    
162      <!--
163       # javac -s doesn't reliably generate compilable code. It generates
164       # bridge methods (marked as "synthetic") that can have identical
165       # signatures to existing methods except for the return value.
166       -->
167    <target name="strip" depends="init">    <target name="strip" depends="init">
168      <mkdir dir="${build.stripped.dir}"/>      <mkdir dir="${build.stripped.dir}"/>
169      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
# Line 158  Line 177 
177        <bootclasspath refid="javac.bootclasspath"/>        <bootclasspath refid="javac.bootclasspath"/>
178        <compilerarg line="${javac.args} ${build.warnings.option} -s"/>        <compilerarg line="${javac.args} ${build.warnings.option} -s"/>
179    
       <!-- need this because srcdir is basedir! -->  
       <include name="java/**/*.java"/>  
   
180      </javac>      </javac>
181    </target>    </target>
182    
# Line 186  Line 202 
202    <!-- Anthill targets -->    <!-- Anthill targets -->
203    
204    <!-- Should really run the tests instead of just the jar target -->    <!-- Should really run the tests instead of just the jar target -->
205    <target name="anthill-build" depends="jar, docs, dist-docs"    <target name="anthill-build" depends="jar, docs, dist-docs"/>
           description="Build the jar and both the external and internal docs"/>  
206    
207    <target name="anthill-publish">    <target name="anthill-publish">
208      <copy todir="${deployDir}/docs/private">      <copy todir="${deployDir}/docs/private">
# Line 198  Line 213 
213      </copy>      </copy>
214      <copy tofile="${deployDir}/index.html"      <copy tofile="${deployDir}/index.html"
215            file="${basedir}/etc/anthill-index.html"/>            file="${basedir}/etc/anthill-index.html"/>
216        <copy todir="${deployDir}/notes">
217          <fileset dir="${basedir}/etc/notes"/>
218        </copy>
219    </target>    </target>
220    
221    
# Line 232  Line 250 
250      <javadoc destdir="${dist.javadocs.dir}"      <javadoc destdir="${dist.javadocs.dir}"
251                  link="http://java.sun.com/j2se/1.4.1/docs/api"                  link="http://java.sun.com/j2se/1.4.1/docs/api"
252              overview="${src.dir}/intro.html"              overview="${src.dir}/intro.html"
253                source="${build.sourcelevel}">                source="${build.docsourcelevel}">
254    
255        <packageset dir="${build.filter.src.dir}">        <packageset dir="${build.filter.src.dir}"/>
         <include name="java/**"/>  
       </packageset>  
256    
257      </javadoc>      </javadoc>
258    </target>    </target>
# Line 255  Line 271 
271      <mkdir dir="${build.filter.src.dir}"/>      <mkdir dir="${build.filter.src.dir}"/>
272      <copy todir="${build.filter.src.dir}">      <copy todir="${build.filter.src.dir}">
273        <fileset dir="${src.dir}">        <fileset dir="${src.dir}">
274          <include name="java/**/*.java"/>          <include name="**/*.java"/>
275        </fileset>        </fileset>
276        <filterchain>        <filterchain>
277          <filterreader classname="jsr166.ant.filters.ReplaceFilter"          <filterreader classname="jsr166.ant.filters.ReplaceFilter"
# Line 305  Line 321 
321        <bootclasspath refid="javac.bootclasspath"/>        <bootclasspath refid="javac.bootclasspath"/>
322        <compilerarg line="${javac.args} ${build.warnings.option}"/>        <compilerarg line="${javac.args} ${build.warnings.option}"/>
323        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
       <include name="**/*Test.java"/>  
324    
325      </javac>      </javac>
326    </target>    </target>
# Line 320  Line 335 
335                      dir="${build.reports.dir}"                      dir="${build.reports.dir}"
336                     fork="true">                     fork="true">
337    
338        <jvmarg value="-Xbootclasspath/p:${product.jar}"/>        <!--
339           ! This nastiness is so JUnit can test classes we are inserting
340        <classpath>         ! into the java.* packages.
341          <!-- <path refid="test.classpath"/> -->         -->
342          <pathelement location="${build.testcases.dir}"/>        <jvmarg value="-Xbootclasspath/p:${product.jar};${build.testcases.dir};${junit.jar}"/>
       </classpath>  
343    
344        <formatter type="xml"/>        <formatter type="xml"/>
345    
346        <batchtest todir="${build.reports.dir}">        <batchtest todir="${build.reports.dir}">
347          <fileset dir="${test.src.dir}">          <fileset dir="${test.src.dir}">
348            <include name="**/*Test.java"/>            <include name="**/${testcase}Test.java"/>
349          </fileset>          </fileset>
350        </batchtest>        </batchtest>
351    
# Line 362  Line 376 
376    </target>    </target>
377    
378    
379      <target name="check-junit">
380        <!-- FIXME: this test isn't specific enough -->
381        <available property="junit.available"
382                   classname="junit.framework.TestCase"/>
383        <fail message="Need JUnit 3.8 to run tests" unless="junit.available"/>
384      </target>
385    
386    
387  </project>  </project>

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.26

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8