|
From: Steve F. <sm...@us...> - 2002-02-23 17:00:32
|
Update of /cvsroot/mockobjects/mockobjects-java
In directory usw-pr-cvs1:/tmp/cvs-serv10801
Modified Files:
Tag: j2ee_versioning
build.xml
Log Message:
More work on build script
Index: build.xml
===================================================================
RCS file: /cvsroot/mockobjects/mockobjects-java/build.xml,v
retrieving revision 1.17.2.1
retrieving revision 1.17.2.2
diff -u -r1.17.2.1 -r1.17.2.2
--- build.xml 23 Feb 2002 00:53:52 -0000 1.17.2.1
+++ build.xml 23 Feb 2002 17:00:28 -0000 1.17.2.2
@@ -44,7 +44,7 @@
<property file="${user.home}/build.properties" />
<property file="build.properties" />
- <target name="project.properties">
+ <target name="project-properties">
<property name="project.fullname" value="Mock Objects"/>
<property name="project.version" value="0.02"/>
<property name="project.name" value="mockobjects"/>
@@ -56,7 +56,7 @@
<property name="deprecation" value="off"/>
</target>
- <target name="source.locations">
+ <target name="source-locations">
<property name="src.dir" value="src"/>
<property name="src.core.dir" value="${src.dir}/core"/>
<property name="src.j2ee.dir" value="${src.dir}/j2ee"/>
@@ -68,7 +68,7 @@
<property name="lib.dir" value="lib"/>
</target>
- <target name="build.locations">
+ <target name="build-locations">
<!-- Destination locations for the build (relative to the basedir as
specified in the basedir attribute of the project tag) -->
<property name="out.dir" value="out"/>
@@ -83,32 +83,36 @@
<property name="out.xdoc.site.dir" value="${out.dir}/xdoc/site"/>
</target>
- <target name="deliverable.names"
- depends="project.properties">
+ <target name="deliverable-names"
+ depends="project-properties">
<property name="dist.dir" value="dist"/>
- <property name="jar.name" value="${project.name}"/>
+ <property name="jar.base.name" value="mocks"/>
<property name="sources.zip.name" value="${project.name}-src"/>
<!-- The project web site in a zip file (without the Javadoc but
with a link pointing to javadoc : <htdocs>/javadoc/index.html -->
- <property name="website.zip.name" value="${project.name}-website"/>
+ <property name="site.name" value="${project.name}-website"/>
<property name="javadoc.name" value="${project.name}-javadoc"/>
<property name="project.zip.name" value="${project.name}-${project.version}"/>
</target>
- <target name="useful.file.patterns">
+ <target name="useful-file-patterns">
<!-- All conf files (including test files) -->
<patternset id="nonjava.src.files">
<include name="**/*.txt"/>
<include name="**/*.xml"/>
<include name="**/*.properties"/>
</patternset>
+
+ <patternset id="java.src.files">
+ <include name="**/*.java"/>
+ </patternset>
</target>
- <target name="check.availabilities"
- depends="source.locations">
+ <target name="check-availabilities"
+ depends="source-locations">
<path id="lib.classpath">
<fileset dir="${lib.dir}">
@@ -120,22 +124,22 @@
<available property="jdk.version" value="1.3" classname="java.lang.StrictMath" />
<available property="jdk.version" value="1.4" classname="java.lang.CharSequence" />
- <available property="j2ee" classpathref="lib.classpath" classname="javax.servlet.Servlet" />
<available property="j2ee.version" value="1.2"
classpathref="lib.classpath" classname="javax.servlet.Servlet" />
<available property="j2ee.version" value="1.3"
classpathref="lib.classpath" classname="javax.servlet.Filter" />
- <patternset id="all.java.files">
- <include name="core/**/*.java"/>
- <include name="j2ee/common/**/*.java" if="j2ee"/>
- <include name="j2ee/${j2ee.version}/**/*.java" if="j2ee"/>
- </patternset>
+ <!-- sorry about this. It seems to be the easiest way to set a marker to describe
+ which j2ee the .jar supports. Later versions of Ant include an 'isset'
+ condition, which should do the trick -->
+ <property name="jar.j2ee.name" value="" />
+ <available property="jar.j2ee.name" value="_j2ee${j2ee.version}"
+ classpathref="lib.classpath" classname="javax.servlet.Servlet" />
</target>
- <!-- Initialize the build. Must be called by all targets -->
- <target name="call.me.first"
- depends="project.properties, useful.file.patterns, check.availabilities">
+ <target name="call-me-first"
+ depends="project-properties, useful-file-patterns, check-availabilities">
+ <!-- Initialize the build. Must be called by all targets -->
<tstamp/>
@@ -155,25 +159,68 @@
<filter token="today" value="${TODAY}"/>
</target>
- <target name="clear.old.class.files"
- depends="build.locations">
- <delete dir="${out.classes.dir}" quiet="true" />
- <mkdir dir="${out.classes.dir}"/>
+ <target name="_flush-dir">
+ <!-- requires flush.dir -->
+ <delete dir="${flush.dir}" quiet="yes" />
+ <mkdir dir="${flush.dir}" />
+ </target>
+
+ <target name="_copy-from-j2ee"
+ if="j2ee.version">
+ <!-- requires copy.todir, src.patternset.id -->
+
+ <copy todir="${copy.todir}"
+ filtering="true"
+ includeEmptyDirs="false" >
+ <fileset dir="${src.dir}/j2ee/common">
+ <patternset refid="${src.patternset.id}" />
+ </fileset>
+ <fileset dir="${src.dir}/j2ee/${j2ee.version}">
+ <patternset refid="${src.patternset.id}" />
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="_copy-from-src"
+ depends="useful-file-patterns, _copy-from-j2ee" >
+ <!-- requires copy.todir, src.patternset.id -->
+
+ <copy todir="${copy.todir}"
+ filtering="true"
+ includeEmptyDirs="false" >
+ <fileset dir="${src.dir}/core">
+ <patternset refid="${src.patternset.id}"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="clear-class-files"
+ depends="build-locations">
+ <antcall target="_flush-dir">
+ <param name="flush.dir" value="${out.classes.dir}" />
+ </antcall>
+ </target>
+
+ <target name="copy-java-files"
+ depends="source-locations, build-locations, check-availabilities">
+ <antcall target="_copy-from-src">
+ <param name="copy.todir" value="${out.src.dir}" />
+ <param name="src.patternset.id" value="java.src.files" />
+ </antcall>
</target>
<target name="compile"
- depends="call.me.first, clear.old.class.files"
+ depends="call-me-first, copy-java-files"
description="Compile all the java files for included libraries" >
+ <mkdir dir="${out.classes.dir}" />
+
<javac destdir="${out.classes.dir}"
debug="${debug}"
deprecation="${deprecation}"
verbose="true"
optimize="${optimize}"
- srcdir="${src.dir}">
-
- <patternset refid="all.java.files" />
-
+ srcdir="${out.src.dir}">
<classpath>
<path refid="lib.classpath"/>
<pathelement path="${java.class.path}"/>
@@ -181,33 +228,41 @@
</javac>
</target>
- <target name="copy.nonjava.j2ee.files"
- depends="check.availabilities, call.me.first"
- if="j2ee">
- <copy todir="${out.classes.dir}">
- <fileset dir="${src.dir}/j2ee/common">
- <patternset refid="nonjava.src.files" />
- </fileset>
- <fileset dir="${src.dir}/j2ee/${j2ee.version}">
- <patternset refid="nonjava.src.files" />
- </fileset>
- </copy>
+ <target name="test"
+ depends="call-me-first, compile"
+ description="run the junit tests">
+
+ <junit fork="yes" haltonfailure="yes">
+ <classpath>
+ <path refid="lib.classpath"/>
+ <pathelement location="${out.classes.dir}"/>
+ <pathelement path="${java.class.path}"/>
+ </classpath>
+
+ <formatter type="plain" usefile="false"/>
+
+ <batchtest>
+ <fileset dir="${out.classes.dir}">
+ <include name="**/*Test.class"/>
+ <include name="**/AllTests.class"/>
+ </fileset>
+ </batchtest>
+ </junit>
</target>
- <target name="copy.nonjava.files"
- depends="check.availabilities, call.me.first, copy.nonjava.j2ee.files" >
- <copy todir="${out.classes.dir}"
- includeEmptyDirs="false" >
- <fileset dir="${src.dir}/core">
- <patternset refid="nonjava.src.files"/>
- </fileset>
- </copy>
+ <target name="copy-nonjava-files"
+ depends="source-locations, build-locations, check-availabilities, call-me-first">
+ <antcall target="_copy-from-src">
+ <param name="copy.todir" value="${out.classes.dir}" />
+ <param name="src.patternset.id" value="nonjava.src.files" />
+ </antcall>
</target>
- <target name="prepare.jar"
- depends="compile, copy.nonjava.files">
- <delete dir="${out.conf.dir}" quiet="yes" />
- <mkdir dir="${out.conf.dir}"/>
+ <target name="prepare-jar"
+ depends="copy-nonjava-files">
+ <antcall target="_flush-dir">
+ <param name="flush.dir" value="${out.conf.dir}" />
+ </antcall>
<!-- Copy the manifest in order to replace the version token filter -->
<copy todir="${out.conf.dir}" filtering="on">
@@ -217,37 +272,36 @@
</copy>
</target>
+ <target name="make-jar-name"
+ depends="deliverable-names, check-availabilities">
+ <property name="jar.name"
+ value="${jar.base.name}${project.version}_jdk${jdk.version}${jar.j2ee.name}" />
+ </target>
+
<target name="jar"
- depends="deliverable.names, prepare.jar"
+ depends="compile, test, prepare-jar, make-jar-name"
description="Generate a mockobjects jar">
+ <property name="jar.file.name" value="${out.dir}/${jar.name}.jar" />
- <jar jarfile="${out.dir}/${jar.name}.jar"
+ <echo message="jar file: ${jar.file.name}" />
+
+ <jar jarfile="${jar.file.name}"
manifest="${out.conf.dir}/manifest">
<fileset dir="${out.classes.dir}"/>
</jar>
</target>
- <!--
- ========================================================================
- Generate the javadoc
- ========================================================================
- -->
- <!-- Preparation target for the javadoc target -->
- <target name="prepare-javadoc" >
-
- <mkdir dir="${out.javadoc.dir}"/>
-
- <uptodate property="javadoc.notrequired"
- targetfile="${out.javadoc.dir}/packages.html">
-
- <srcfiles dir="${out.src.dir}" includes="**/*.java"/>
- </uptodate>
-
+ <target name="prepare-javadoc"
+ depends="build-locations, copy-java-files" >
+ <antcall target="_flush-dir">
+ <param name="flush.dir" value="${out.javadoc.dir}" />
+ </antcall>
</target>
- <!-- Generate the javadoc for the current Servlet API -->
- <target name="javadoc" depends="prepare-javadoc"
- unless="javadoc.notrequired">
+ <target name="javadoc"
+ depends="call-me-first, deliverable-names, prepare-javadoc"
+ unless="javadoc.notrequired"
+ description="Generate the javadoc for the current version" >
<javadoc
sourcepath="${out.src.dir}"
@@ -265,47 +319,52 @@
<path refid="lib.classpath"/>
<pathelement path="${java.class.path}"/>
</classpath>
-
</javadoc>
+ </target>
+ <target name="zip-javadoc-for-website"
+ depends="javadoc" >
<!-- Create a gzip file of the javadoc. This is for putting to the
project web site. It needs to be unzipped in the root document
- of the web site. This needs to be done for each Servlet API
- javadoc. This file is not intended to be redistributed as part
+ of the web site. This file is not intended to be redistributed as part
of the end-user redistributable. It is simply to help create the
web site -->
-
<tar tarfile="${out.dir}/${javadoc.name}.tar"
basedir="${out.javadoc.dir}"/>
<gzip zipfile="${out.dir}/${javadoc.name}.tar.gz"
src="${out.dir}/${javadoc.name}.tar"/>
<delete file="${out.dir}/${javadoc.name}.tar"/>
-
</target>
- <!--
- ========================================================================
- Generate the full documentation, i.e. web site + javadoc
- ========================================================================
- -->
- <target name="prepare-doc" depends="javadoc">
-
- <mkdir dir="${out.xdoc.doc.dir}"/>
- <mkdir dir="${out.doc.dir}"/>
- <mkdir dir="${out.doc.dir}/images"/>
+ <target name="_prepare-xdoc">
+ <!-- requires prepare.xdoc.dir, book.xml.file -->
+ <mkdir dir="${prepare.xdoc.dir}"/>
<!-- Copy doc-book.xml to book.xml for defining the local
- documentation web site and replacing token filters (year) -->
- <copy file="${xdoc.dir}/doc-book.xml"
- tofile="${out.xdoc.doc.dir}/book.xml" filtering="on"/>
+ documentation web site and replacing token filters (year) -->
+ <copy file="${xdoc.dir}/${book.xml.file}"
+ filtering="on"
+ tofile="${prepare.xdoc.dir}/book.xml"/>
<!-- Copy all remaining files from ${xdoc.dir} to
${out.xdoc.doc.dir} -->
- <copy todir="${out.xdoc.doc.dir}" filtering="on">
+ <copy todir="${prepare.xdoc.dir}" filtering="on">
<fileset dir="${xdoc.dir}">
<exclude name="*-book.xml"/>
</fileset>
</copy>
+ </target>
+
+ <target name="prepare-doc"
+ depends="javadoc">
+
+ <mkdir dir="${out.doc.dir}"/>
+ <mkdir dir="${out.doc.dir}/images"/>
+
+ <antcall target="_prepare-xdoc" >
+ <param name="prepare.xdoc.dir" value="${out.xdoc.doc.dir}" />
+ <param name="book.xml.file" value="doc-book.xml" />
+ </antcall>
<!-- Copy the images -->
<copy todir="${out.doc.dir}/images">
@@ -329,12 +388,11 @@
</target>
- <!-- Generate the documentation -->
- <target name="doc" depends="prepare-doc"
- unless="stylebook.doc.notrequired"
- description="generate the documentation">
+ <target name="doc"
+ depends="prepare-doc"
+ unless="stylebook.doc.notrequired"
+ description="Generate the documentation website">
- <!-- Generate the documentation web site -->
<stylebook book="${out.xdoc.doc.dir}/book.xml"
skinDirectory="${skin.dir}/jakarta.apache.org"
targetDirectory="${out.doc.dir}">
@@ -342,9 +400,7 @@
<classpath>
<pathelement path="${java.class.path}"/>
</classpath>
-
</stylebook>
-
</target>
<!--
@@ -352,24 +408,16 @@
Generate the web site
========================================================================
-->
- <target name="prepare-site" depends="call.me.first">
+ <target name="prepare-site"
+ depends="build-locations, deliverable-names, call-me-first">
- <mkdir dir="${out.xdoc.site.dir}"/>
<mkdir dir="${out.site.dir}"/>
<mkdir dir="${out.site.dir}/images"/>
- <!-- Copy site-book.xml to book.xml for defining the web site content
- and replacing token filters (year) -->
- <copy file="${xdoc.dir}/site-book.xml"
- tofile="${out.xdoc.site.dir}/book.xml" filtering="on"/>
-
- <!-- Copy all remaining files from ${xdoc.dir} to
- ${out.xdoc.site.dir} -->
- <copy todir="${out.xdoc.site.dir}" filtering="on">
- <fileset dir="${xdoc.dir}">
- <exclude name="*-book.xml"/>
- </fileset>
- </copy>
+ <antcall target="_prepare-xdoc" >
+ <param name="prepare.xdoc.dir" value="${out.xdoc.site.dir}" />
+ <param name="book.xml.file" value="site-book.xml" />
+ </antcall>
<!-- Copy the images -->
<copy todir="${out.site.dir}/images">
@@ -403,9 +451,10 @@
</target>
<!-- Generate the web site -->
- <target name="site" depends="prepare-site"
- unless="stylebook.site.notrequired"
- description="generate the web site">
+ <target name="site"
+ depends="build-locations, deliverable-names, prepare-site, zip-javadoc-for-website"
+ unless="stylebook.site.notrequired"
+ description="Generate the web site">
<stylebook book="${out.xdoc.site.dir}/book.xml"
skinDirectory="${skin.dir}/jakarta.apache.org"
@@ -425,42 +474,9 @@
</target>
- <!--
- ========================================================================
- Run the unit tests
- ========================================================================
- -->
- <target name="test" depends="compile"
- description="run the unit tests">
-
- <junit fork="yes" haltonfailure="yes">
-
- <classpath>
- <path refid="lib.classpath"/>
- <pathelement location="${out.classes.dir}"/>
- <pathelement path="${java.class.path}"/>
- </classpath>
-
- <formatter type="plain" usefile="false"/>
-
- <batchtest>
- <fileset dir="${out.classes.dir}">
- <include name="**/*Test.class"/>
- <include name="**/test/AllTests.class"/>
- </fileset>
- </batchtest>
-
- </junit>
-
- </target>
-
- <!--
- ========================================================================
- Remove all build generated files
- ========================================================================
- -->
- <target name="clean" depends="call.me.first"
- description="clean up all generated files">
+ <target name="clean"
+ depends="call-me-first"
+ description="clean up all generated files">
<delete>
<fileset dir=".">
@@ -475,25 +491,22 @@
<!-- Remove the out directory -->
<delete dir="${out.dir}"/>
-
</target>
- <!--
- ========================================================================
- Create the distributables
- ========================================================================
- -->
- <target name="prepare-dist" depends="jar,doc">
+ <target name="prepare-dist"
+ depends="jar,doc">
<mkdir dir="${dist.dir}"/>
</target>
- <target name="ZipJavaSources" >
- <zip zipfile="${out.dir}/${src.name}.zip"
+ <target name="zip-java-sources"
+ depends="build-locations, deliverable-names">
+ <zip zipfile="${out.dir}/${sources.zip.name}.zip"
basedir="${out.src.dir}" />
</target>
- <target name="dist" depends="prepare-dist, ZipJavaSources"
- description="generate the distributables">
+ <target name="dist"
+ depends="call-me-first, make-jar-name, prepare-dist, zip-java-sources"
+ description="Generate the distributables">
<zip zipfile="${dist.dir}/${dist.name}.zip">
<zipfileset dir="${out.dir}" prefix="lib">
@@ -512,7 +525,7 @@
Do it all
========================================================================
-->
- <target name="all" depends="clean,jar,doc,test,site,dist"
+ <target name="all" depends="clean, test, jar, doc, site, dist"
description="do it all (clean, jar, doc, test, site)">
</target>
@@ -526,8 +539,10 @@
========================================================================
-->
- <target name="deploy-site" depends="clean,site" if="username"
- description="deploy the web site to SourceForge (see target for details)">
+ <target name="deploy-site"
+ depends="clean, site"
+ if="username"
+ description="Deploy the web site to SourceForge (see target for details)">
<property name="deploy.homepage" value="/home/groups/m/mo/mockobjects/htdocs"/>
<property name="deploy.host" value="mockobjects.sourceforge.net"/>
@@ -537,7 +552,8 @@
<arg value="${username}@${deploy.host}:${deploy.homepage}"/>
</exec>
- <exec dir="." executable="ssh">
+ <exec dir="."
+ executable="ssh">
<arg line="-l ${username} ${deploy.host} 'cd ${deploy.homepage};gunzip ${site.name}.tar.gz;tar xvf ${site.name}.tar;rm ${site.name}.tar'"/>
</exec>
@@ -549,7 +565,7 @@
JRefactory jar need to be place in ${ANT_HOME}/lib.
========================================================================
-->
- <target name="format" depends="call.me.first"
+ <target name="format" depends="call-me-first"
description="reformats all java code">
<taskdef name="pretty" classname="org.acm.seguin.ant.Pretty"/>
|