From: Steve F. <sm...@us...> - 2002-01-09 17:58:58
|
Update of /cvsroot/mockobjects/mockobjects-java In directory usw-pr-cvs1:/tmp/cvs-serv15585 Modified Files: Tag: restructured_for_versions_and_libraries build.xml build.properties.sample Log Message: Started restructuring for multiple library versions Index: build.xml =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/build.xml,v retrieving revision 1.16 retrieving revision 1.16.2.1 diff -u -r1.16 -r1.16.2.1 --- build.xml 2002/01/09 15:08:00 1.16 +++ build.xml 2002/01/09 17:58:55 1.16.2.1 @@ -36,12 +36,11 @@ --> <project name="mockobjects" default="jar" basedir="."> - <!-- Give user a chance to override without editing this file - (and without typing -D each time it compiles it) --> + <!-- Local customizations --> <property file="${user.home}/build.properties" /> <property file="build.properties" /> - <!-- Generic project properties --> + <!-- Project description --> <property name="project.fullname" value="Mock Objects"/> <property name="project.version" value="0.02"/> <property name="project.name" value="mockobjects"/> @@ -53,29 +52,20 @@ <property name="deprecation" value="off"/> <property name="package.prefix" value="com/mockobjects/"/> - <!-- - ======================================================================== - Set the properties related to the source tree - ======================================================================== - --> - <!-- Source locations for the build --> + <!-- Source properties --> <property name="src.dir" value="src"/> <property name="src.core.dir" value="${src.dir}/core"/> <property name="src.examples.dir" value="${src.dir}/examples"/> <property name="src.extensions.dir" value="${src.dir}/extensions"/> + <property name="src.j2ee.dir" value="${src.dir}/j2ee"/> <property name="conf.dir" value="conf"/> <property name="doc.dir" value="doc"/> <property name="xdoc.dir" value="${doc.dir}/xdocs"/> <property name="skin.dir" value="${doc.dir}/skins"/> <property name="lib.dir" value="lib"/> - <!-- - ======================================================================== - Set the properties related to the build area - ======================================================================== - --> - <!-- Destination locations for the build (relative to the basedir as - specified in the basedir attribute of the project tag) --> + <!-- Build output properties --> + <!-- (relative to the basedir attribute of the project) --> <property name="out.dir" value="out"/> <property name="out.doc.dir" value="${out.dir}/doc"/> <property name="out.javadoc.dir" value="${out.doc.dir}/javadoc"/> @@ -85,22 +75,17 @@ <property name="out.src.core.dir" value="${out.src.dir}/core"/> <property name="out.src.examples.dir" value="${out.src.dir}/examples"/> <property name="out.src.extensions.dir" value="${out.src.dir}/extensions"/> + <property name="out.src.j2ee.dir" value="${out.src.dir}/j2ee"/> <property name="out.conf.dir" value="${out.dir}/conf"/> <property name="out.xdoc.doc.dir" value="${out.dir}/xdoc/doc"/> <property name="out.xdoc.site.dir" value="${out.dir}/xdoc/site"/> - <!-- - ======================================================================== - Default values for properties not defined in build.properties - ======================================================================== - --> + <!-- Defaults for properties not defined in build.properties --> <property name="dist.dir" value="dist"/> - <!-- - ======================================================================== - Short names of deliverables - ======================================================================== - --> + <!-- ============================================================ + Short names of deliverables + --> <!-- The project jar --> <property name="jar.name" value="${project.name}"/> @@ -118,12 +103,11 @@ <!-- The project zip which contains the jar + doc + samples --> <property name="dist.name" value="${project.name}-${project.version}"/> - <!-- - ======================================================================== + <!-- ============================================================ Useful file patterns for targets - ======================================================================== - --> - <!-- All source files of the projet. These source files will be copied + --> + + <!-- All source files of the project. These source files will be copied to the destination source directory in the prepare task --> <patternset id="all.src.files"> @@ -151,12 +135,11 @@ </patternset> - <!-- - ======================================================================== - Check to see what libraries are available in order to decide what - mock implementation will be built - ======================================================================== - --> + <!-- ============================================================ + Decide which mock implementations to build depending on which + libraries are available. + --> + <path id="lib.classpath"> <fileset dir="${lib.dir}"> <include name="*.jar"/> @@ -164,27 +147,19 @@ </path> <target name="check.availabilities"> - - <available property="servlet.present" - classname="javax.servlet.Servlet" - classpathref="lib.classpath"/> - - <available property="jms.present" - classname="javax.jms.Message" - classpathref="lib.classpath"/> - + <available file="${j2ee12.jar.file}" property="j2ee12.jar.present"/> + <available file="${j2ee13.jar.file}" property="j2ee13.jar.present"/> </target> - <!-- - ======================================================================== + <!-- ============================================================ Initialize the build. Must be called by all targets - ======================================================================== - --> + --> + <target name="init" depends="check.availabilities"> <tstamp/> - <echo message="--------- ${project.fullname} ${project.version} ---------"/> + <echo message="-- ${project.fullname} ${project.version} --"/> <echo message=""/> <echo message="java.class.path = ${java.class.path}"/> @@ -198,48 +173,52 @@ <filter token="version" value="${project.version}"/> <filter token="year" value="${year}"/> <filter token="today" value="${TODAY}"/> - </target> - - <!-- - ======================================================================== - Prepare the output directory by copying the source files into it - ======================================================================== - --> - <target name="prepare" depends="init"> + <!-- ============================================================ + Prepare the output directory by copying the source files into it. + Apply filters to replace the tokens for the version + --> + + <target name="prepare-java-core" depends="init"> + <delete dir="${out.src.dir}" + quiet="yes" /> <mkdir dir="${out.src.dir}"/> - <!-- Copy all source files to destination dir. Apply the filters in - order to replace the tokens for the version --> <copy todir="${out.src.dir}" filtering="on"> <fileset dir="${src.core.dir}"> <patternset refid="all.src.files"/> </fileset> - <!--fileset dir="${src.extensions.dir}"> + </copy> + </target> + + <target name="prepare-java-j2ee12" + depends="prepare-java-core" + if="j2ee12.jar.present" > + <copy todir="${out.src.dir}" filtering="on"> + <fileset dir="${src.j2ee.dir}"> <patternset refid="all.src.files"/> </fileset> - <fileset dir="${src.examples.dir}"> - <patternset refid="all.src.files"/> - </fileset--> </copy> - + <property name="j2ee.jar.location" value="${j2ee12.jar.file}" /> </target> - <!-- - ======================================================================== - Compiles the source directory - ======================================================================== - --> - <!-- Preparation target for the compile target --> - <target name="prepare-compile" depends="prepare"> + <target name="prepare-java" + depends="prepare-java-core, prepare-java-j2ee12" /> + <!-- ============================================================ + Compile the source directory + --> + <!-- Preparation target for the compile target --> + <target name="prepare-compile" depends="prepare-java"> + <delete dir="${out.classes.dir}" + quiet="yes" /> <mkdir dir="${out.classes.dir}"/> - </target> - <!-- Run the java compilation --> - <target name="compile" depends="prepare-compile"> + <target name="compile" + depends="prepare-compile" + description="Prepare and compile the java classes"> <javac srcdir="${out.src.dir}" destdir="${out.classes.dir}" @@ -247,23 +226,9 @@ deprecation="${deprecation}" optimize="${optimize}"> - <!-- Exclude all files that are not .java source files --> - - <!-- All doc files --> - <exclude name="**/package.html"/> - <exclude name="**/overview.html"/> - - <!-- All conf files (including test files) --> - <exclude name="**/*.txt"/> - <exclude name="**/*.xml"/> - <exclude name="**/*.properties"/> - - <!-- Exclude all java files for which no library is present --> - <exclude name="${package.prefix}/servlet/**" unless="servlet.present"/> - <exclude name="${package.prefix}/jms/**" unless="jms.present"/> - <classpath> <path refid="lib.classpath"/> + <pathelement path="${j2ee.jar.location}" /> <pathelement path="${java.class.path}"/> </classpath> @@ -274,21 +239,22 @@ <fileset dir="${src.core.dir}"> <patternset refid="all.nonjava.files"/> </fileset> +<!-- <fileset dir="${src.examples.dir}"> <patternset refid="all.nonjava.files"/> </fileset> <fileset dir="${src.extensions.dir}"> <patternset refid="all.nonjava.files"/> </fileset> + --> </copy> </target> - <!-- - ======================================================================== + <!-- ============================================================ Create the runtime jar file - ======================================================================== - --> + --> + <!-- Preparation target for the jar target --> <target name="prepare-jar" depends="compile"> @@ -309,20 +275,17 @@ <jar jarfile="${out.dir}/${jar.name}.jar" 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" depends="prepare"> + <target name="prepare-javadoc" depends="prepare-java"> <mkdir dir="${out.javadoc.dir}"/> @@ -334,9 +297,10 @@ </target> - <!-- Generate the javadoc for the current Servlet API --> - <target name="javadoc" depends="prepare-javadoc" - unless="javadoc.notrequired"> + <target name="javadoc" + depends="prepare-javadoc" + unless="javadoc.notrequired" + description="Generate the javadoc for the mockobjects" > <javadoc sourcepath="${out.src.dir}" @@ -372,10 +336,8 @@ </target> - <!-- - ======================================================================== + <!-- ============================================================ Generate the full documentation, i.e. web site + javadoc - ======================================================================== --> <target name="prepare-doc" depends="javadoc"> @@ -418,10 +380,9 @@ </target> - <!-- Generate the documentation --> <target name="doc" depends="prepare-doc" unless="stylebook.doc.notrequired" - description="generate the documentation"> + description="Generate the documentation"> <!-- Generate the documentation web site --> <stylebook book="${out.xdoc.doc.dir}/book.xml" @@ -436,11 +397,10 @@ </target> - <!-- - ======================================================================== + <!-- ============================================================ Generate the web site - ======================================================================== --> + <target name="prepare-site" depends="init"> <mkdir dir="${out.xdoc.site.dir}"/> @@ -514,11 +474,10 @@ </target> - <!-- - ======================================================================== + <!-- ============================================================ Run the unit tests - ======================================================================== --> + <target name="test" depends="compile" description="run the unit tests"> @@ -543,40 +502,39 @@ </target> - <!-- - ======================================================================== + <!-- ============================================================ Remove all build generated files - ======================================================================== --> - <target name="clean" depends="init" - description="clean up all generated files"> + + <target name="clean" + depends="init" + description="Clean up all generated files"> - <delete> + <delete quiet="yes"> <fileset dir="."> <include name="**/*.bak"/> </fileset> </delete> <!-- Deletes all files ending with '~' --> - <delete> + <delete quiet="yes"> <fileset dir="." includes="**/*~" defaultexcludes="no"/> </delete> <!-- Remove the out directory --> - <delete dir="${out.dir}"/> - + <delete dir="${out.dir}" + quiet="yes"/> </target> - <!-- - ======================================================================== + <!-- ============================================================ Create the distributables - ======================================================================== --> + <target name="prepare-dist" depends="jar,doc"> <mkdir dir="${dist.dir}"/> </target> - <target name="ZipJavaSources" depends="prepare"> + <target name="ZipJavaSources" depends="prepare-java"> <zip zipfile="${out.dir}/${src.name}.zip" basedir="${out.src.dir}" /> </target> @@ -596,24 +554,20 @@ </target> - <!-- - ======================================================================== + <!-- ============================================================ Do it all - ======================================================================== --> <target name="all" depends="clean,jar,doc,test,site,dist" description="do it all (clean, jar, doc, test, site)"> </target> - <!-- - ======================================================================== + <!-- ============================================================ Deploy the web site to SourceForge, using the 'scp' and 'ssh' commands. The variable "username" need to be passed to Ant when calling this target and represent your username on SourceForge. Ex: ant -Dusername=vmassol deploy-site - ======================================================================== --> <target name="deploy-site" depends="clean,site" if="username" description="deploy the web site to SourceForge (see target for details)"> @@ -632,11 +586,9 @@ </target> - <!-- - ======================================================================== + <!-- ============================================================ Formats the source code using JRefactory Pretty Printer. The JRefactory jar need to be place in ${ANT_HOME}/lib. - ======================================================================== --> <target name="format" depends="init" description="reformats all java code"> @@ -653,3 +605,4 @@ </target> </project> + Index: build.properties.sample =================================================================== RCS file: /cvsroot/mockobjects/mockobjects-java/build.properties.sample,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -u -r1.4 -r1.4.2.1 --- build.properties.sample 2001/11/05 00:12:13 1.4 +++ build.properties.sample 2002/01/09 17:58:55 1.4.2.1 @@ -9,3 +9,9 @@ # You can also change your libraries directory. If none is specified here, it # will default to 'lib' #lib.dir = lib + +# J2EE libraries. +# Set up an entry here for each version of the J2EE libraries +# you would like to build. +# j2ee12.jar.file=D:/Java/j2sdkee1.2.1/lib/j2ee.jar +# j2ee13.jar.file=D:\Java\j2sdkee1.3\lib\j2ee.jar |