You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by di...@apache.org on 2003/10/04 20:10:27 UTC
cvs commit: jakarta-commons/pool build.xml
dirkv 2003/10/04 11:10:27
Modified: pool build.xml
Log:
update ant build
Revision Changes Path
1.20 +63 -329 jakarta-commons/pool/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-commons/pool/build.xml,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- build.xml 31 Oct 2002 21:00:25 -0000 1.19
+++ build.xml 4 Oct 2003 18:10:27 -0000 1.20
@@ -1,32 +1,6 @@
<!-- $Id$ -->
<project name="commons-pool" default="test" basedir=".">
- <!-- patternset describing files to be copied from the doc directory -->
- <patternset id="patternset-doc"/>
-
- <!-- patternset describing test classes -->
- <patternset id="patternset-test-classes">
- <include name="**/Test*.class"/>
- </patternset>
-
- <!-- patternset describing non test classes -->
- <patternset id="patternset-non-test-classes">
- <include name="**/*.class"/>
- <exclude name="**/Test*.class"/>
- </patternset>
-
- <!-- patternset describing non test source files (*.java, *html, etc.) -->
- <patternset id="patternset-javadocable-sources">
- <include name="**/*"/>
- <exclude name="**/Test*.java"/>
- </patternset>
-
- <!-- Anakia props -->
- <property name="docs.src" value="./xdocs"/>
- <property name="docs.dest" value="./docs"/>
-
- <!-- ######################################################### -->
-
<target name="init">
<tstamp/>
@@ -51,138 +25,49 @@
<property name="classpath" value="${cp}:${commons-collections.jar}:${junit.jar}"/>
<property name="name" value="commons-pool"/>
- <property name="Name" value="Commons-Pool"/>
- <property name="Name-Long" value="Jakarta Commons Object Pooling Package"/>
-
- <!-- The current version number of this component -->
- <property name="component.version" value="2.0-dev"/>
+ <property name="title" value="Jakarta Commons Object Pooling Package"/>
+ <property name="version" value="Nightly-${DSTAMP}${TSTAMP}"/>
+ <property name="package" value="org.apache.commons.pool.*"/>
+
+ <property name="src.dir" value="${basedir}/src"/>
+ <property name="src.java.dir" value="${src.dir}/java"/>
+ <property name="src.test.dir" value="${src.dir}/test"/>
+ <property name="build.dir" value="${basedir}/build"/>
+ <property name="build.classes.dir" value="${build.dir}/classes"/>
+ <property name="build.test-classes.dir" value="${build.dir}/test-classes"/>
+ <property name="dist.dir" value="${basedir}/dist"/>
+ <property name="dist.jar" value="${dist.dir}/${name}.jar"/>
<property name="test.entry" value="org.apache.commons.pool.TestAll"/>
<property name="test.failonerror" value="true" />
<property name="test.runner" value="junit.textui.TestRunner" />
-
- <property name="workdir" value="${java.io.tmpdir}/buildtemp_${DSTAMP}${TSTAMP}"/>
- <property name="source" value="${basedir}"/>
- <property name="source.src" value="${basedir}/src"/>
- <property name="source.src.java" value="${source.src}/java"/>
- <property name="source.src.test" value="${source.src}/test"/>
- <property name="source.doc" value="${basedir}/doc"/>
- <property name="dest" value="${basedir}/dist"/>
- <property name="dest.classes" value="${dest}/classes"/>
- <property name="dest.doc" value="${dest}/docs"/>
- <property name="dest.doc.api" value="${dest.doc}/api"/>
- <property name="dest.jardir" value="${dest}"/>
- <property name="dest.jardir.jar" value="${dest.jardir}/${name}.jar"/>
-
- <property name="bin.name" value="${name}-${component.version}"/>
- <property name="dest.bin.tar" value="${dest}/${bin.name}.tar"/>
- <property name="dest.bin.tar.gz" value="${dest}/${bin.name}.tar.gz"/>
- <property name="dest.bin.zip" value="${dest}/${bin.name}.zip"/>
-
- <property name="src.name" value="${bin.name}-src"/>
- <property name="dest.src.tar" value="${dest}/${src.name}.tar"/>
- <property name="dest.src.tar.gz" value="${dest}/${src.name}.tar.gz"/>
- <property name="dest.src.zip" value="${dest}/${src.name}.zip"/>
-
- <patternset id="patternset-exclude-distros">
- <exclude name="**/${bin.name}.tar.gz"/>
- <exclude name="**/${bin.name}.zip"/>
- <exclude name="**/${src.name}.tar.gz"/>
- <exclude name="**/${src.name}.zip"/>
- </patternset>
+
+ <property name="javadoc.dir" value="${dist.dir}/docs/api"/>
+ <property name="javadoc.bottom" value="<small>Copyright &copy; 2001-2003 Apache Software Foundation. Documenation generated ${TODAY}</small>."/>
+ <property name="javadoc.overview" value="${src.java.dir}/org/apache/commons/pool/overview.html" />
<property name="javac.optimize" value="false"/>
<property name="javac.debug" value="true"/>
<property name="javac.deprecation" value="true"/>
-
- <!-- set the cvs.root property in the build.properties file -->
- <property name="cvs.tag" value="POOL_1_0"/>
-
- <available property="available-doc" file="${source.doc}"/> <!-- does this module have docs? -->
- <available property="available-src-java" file="${source.src.java}"/> <!-- does this module have java src? -->
- <available property="available-src-test" file="${source.src.test}"/> <!-- does this module have test src? -->
-
- </target>
-
- <!-- ######################################################### -->
-
- <target name="copy-javadoc-source" depends="init" if="available-src-java">
- <mkdir dir="${javadoc-source-dir}"/>
- <copy todir="${javadoc-source-dir}" filtering="no">
- <fileset dir="${source.src.java}">
- <patternset refid="patternset-javadocable-sources"/>
- </fileset>
- </copy>
- </target>
-
- <target name="copy-doc" depends="init" if="available-doc">
- <mkdir dir="${doc-source-dir}/${name}"/>
- <copy todir="${doc-source-dir}/${name}" filtering="no">
- <fileset dir="${source.doc}">
- <patternset refid="patternset-doc"/>
- </fileset>
- </copy>
</target>
<!-- ######################################################### -->
<target name="clean" depends="init" description="removes generated files">
- <delete dir="${dest}"/>
- </target>
-
- <target name="clean-doc" depends="init,clean-javadoc">
- <delete dir="${dest.doc}"/>
- </target>
-
- <target name="clean-javadoc" depends="init">
- <delete dir="${dest.doc.api}"/>
- </target>
-
- <target name="clean-build" depends="init">
- <delete dir="${dest.classes}"/>
- </target>
-
- <target name="clean-dist" depends="init">
- <delete file="${dest.jardir.jar}"/>
- </target>
-
- <!-- ######################################################### -->
-
- <target name="doc" depends="init,doc-top,doc-copy,doc-javadoc" description="generates javadocs and other documentation">
- </target>
-
- <target name="doc-top" depends="init">
- <mkdir dir="${dest}"/>
- <copy todir="${dest}" file="${basedir}/LICENSE.txt"/>
- <copy todir="${dest}" file="${basedir}/README.txt"/>
+ <delete dir="${build.dir}"/>
+ <delete dir="${dist.dir}"/>
</target>
- <target name="doc-copy" depends="init" if="available-doc">
- <mkdir dir="${dest.doc}"/>
- <copy todir="${dest.doc}">
- <fileset dir="${source.doc}">
- <patternset refid="patternset-doc"/>
- </fileset>
- </copy>
- </target>
-
- <target name="doc-javadoc" depends="init" if="available-src-java">
- <!-- copy all the non-test sources out to the work directory and javadoc that -->
- <mkdir dir="${workdir}"/>
- <copy todir="${workdir}">
- <fileset dir="${source.src.java}">
- <patternset refid="patternset-javadocable-sources"/>
- </fileset>
- </copy>
- <mkdir dir="${dest.doc.api}"/>
+ <target name="javadoc" depends="init" description="generates javadocs">
+ <mkdir dir="${javadoc.dir}"/>
<javadoc packagenames="org.*"
- sourcepath="${workdir}"
+ sourcepath="${src.java.dir}"
classpath="${classpath}"
- destdir="${dest.doc.api}"
- windowtitle="${Name-Long}"
- doctitle="${Name-Long}"
- bottom="<small>Copyright &copy; 2001-2002 Apache Software Foundation. Documenation generated ${TODAY}</small>."
- overview="${workdir}/org/apache/commons/pool/overview.html"
+ destdir="${javadoc.dir}"
+ windowtitle="${title}"
+ doctitle="${title}"
+ bottom="${javadoc.bottom}"
+ overview="${javadoc.overview}"
public="true"
version="true"
author="true"
@@ -196,221 +81,70 @@
serialwarn="false">
<link href="http://java.sun.com/products/jdk/1.3/docs/api"/>
</javadoc>
- <delete dir="${workdir}"/>
</target>
<!-- ######################################################### -->
- <target name="build" depends="init,build-java" description="compiles source files"/>
-
- <target name="build-java" depends="init" if="available-src-java">
- <mkdir dir="${dest.classes}"/>
- <javac destdir="${dest.classes}"
- srcdir="${source.src.java}"
+ <target name="compile" depends="init" description="compiles source files">
+ <mkdir dir="${build.classes.dir}"/>
+ <javac destdir="${build.classes.dir}"
+ srcdir="${src.java.dir}"
classpath="${classpath}"
debug="${javac.debug}"
deprecation="${javac.deprecation}"
optimize="${javac.optimize}"/>
</target>
- <target name="build-test" depends="init,build-java" if="available-src-test">
- <mkdir dir="${dest.classes}"/>
- <javac destdir="${dest.classes}"
- srcdir="${source.src.test}"
- classpath="${classpath}"
+ <target name="compile-test" depends="compile">
+ <mkdir dir="${build.test-classes.dir}"/>
+ <javac destdir="${build.test-classes.dir}"
+ srcdir="${src.test.dir}"
debug="${javac.debug}"
deprecation="${javac.deprecation}"
- optimize="${javac.optimize}"/>
+ optimize="${javac.optimize}">
+ <classpath>
+ <pathelement location="${build.classes.dir}" />
+ <pathelement location="${build.test-classes.dir}" />
+ <pathelement path="${classpath}" />
+ </classpath>
+ </javac>
</target>
- <!-- ######################################################### -->
-
- <target name="test" depends="build-test" if="test.entry" description="runs (junit) unit tests">
+ <target name="test" depends="compile-test" description="runs (junit) unit tests">
<echo message="Because we need to sleep to test the eviction threads, this takes a little while (around 35 seconds)..."/>
<java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
<arg value="${test.entry}"/>
<classpath>
- <pathelement location="${dest.classes}" />
+ <pathelement location="${build.classes.dir}" />
+ <pathelement location="${build.test-classes.dir}" />
<pathelement path="${classpath}" />
- <pathelement path="${java.class.path}" />
</classpath>
</java>
</target>
- <!-- ######################################################### -->
-
- <target name="dist" depends="dist-jar,doc,dist-tar,dist-zip" description="builds binary distribution"/>
+ <target name="build-jar" depends="compile">
+ <mkdir dir="${dist.dir}"/>
+ <jar jarfile="${dist.jar}">
+ <fileset dir="${build.dir}"/>
+ <metainf dir="${basedir}" includes="LICENSE.txt"/>
+ <manifest>
+ <attribute name="Built-By" value="${user.name}"/>
+ <attribute name="Package" value="${package}"/>
+ <attribute name="Extension-Name" value="${name}"/>
+ <attribute name="Specification-Vendor" value="Apache Software Foundation"/>
+ <attribute name="Specification-Title" value="${title}"/>
+ <attribute name="Implementation-Version" value="${version}"/>
+ <attribute name="Implementation-Vendor" value="Apache Software Foundation"/>
- <target name="dist-jar" depends="build">
- <mkdir dir="${dest.jardir}"/>
- <mkdir dir="${workdir}"/>
- <copy todir="${workdir}">
- <fileset dir="${dest.classes}">
- <patternset refid="patternset-non-test-classes"/>
- </fileset>
- </copy>
-
- <mkdir dir="${workdir}/META-INF"/>
- <copy todir="${workdir}/META-INF" file="./LICENSE.txt"/>
-
- <jar jarfile="${dest.jardir.jar}" manifest="${source.src}/conf/MANIFEST.MF">
- <fileset dir="${workdir}"/>
+ </manifest>
</jar>
- <delete dir="${workdir}"/>
- <delete dir="${dest.classes}"/>
-
</target>
-
- <target name="dist-tar" depends="dist-jar,doc">
- <mkdir dir="${workdir}/${bin.name}"/>
- <copy todir="${workdir}/${bin.name}">
- <fileset dir="${dest}">
- <patternset refid="patternset-exclude-distros"/>
- </fileset>
- </copy>
-
- <!-- create tar.gz -->
- <tar longfile="gnu" tarfile="${dest.bin.tar}">
- <tarfileset dir="${workdir}"/>
- </tar>
-
- <gzip zipfile="${dest.bin.tar.gz}"
- src="${dest.bin.tar}">
- </gzip>
- <delete file="${dest.bin.tar}" />
-
- <delete dir="${workdir}"/>
-
- </target>
-
- <target name="dist-zip" depends="dist-jar,doc">
-
- <mkdir dir="${workdir}/${bin.name}"/>
- <copy todir="${workdir}/${bin.name}">
- <fileset dir="${dest}">
- <patternset refid="patternset-exclude-distros"/>
- </fileset>
- </copy>
-
- <!-- create a zip file -->
- <zip zipfile="${dest.bin.zip}" >
- <zipfileset dir="${workdir}" />
- </zip>
-
- <delete dir="${workdir}"/>
-
+ <target name="build" depends="clean,build-jar,javadoc">
+ <copy todir="${dist.dir}" file="${basedir}/LICENSE.txt"/>
+ <copy todir="${dist.dir}" file="${basedir}/README.txt"/>
</target>
- <!-- ######################################################### -->
-
- <target name="dist-src" depends="init">
-
- <!-- not executed in default dist, because it is configuration-rich
- and requires an active network connection -->
-
- <mkdir dir="${workdir}"/>
- <mkdir dir="${dest.jardir}"/>
-
- <cvs dest="${workdir}" cvsRoot="${cvs.root}"
- package="jakarta-commons" tag="${cvs.tag}"/>
- <move toDir="${workdir}/${src.name}">
- <fileset dir="${workdir}/jakarta-commons/pool"/>
- </move>
- <delete dir="${workdir}/jakarta-commons"/>
- <copy file="${basedir}/LICENSE.txt" toDir="${workdir}/${src.name}"/>
-
- <!-- create tar.gz -->
- <tar longfile="gnu" tarfile="${dest.src.tar}">
- <tarfileset dir="${workdir}"/>
- </tar>
-
- <gzip zipfile="${dest.src.tar.gz}"
- src="${dest.src.tar}">
- </gzip>
- <delete file="${dest.src.tar}" />
-
- <!-- create a zip file -->
- <zip zipfile="${dest.src.zip}" >
- <zipfileset dir="${workdir}" />
- </zip>
-
- <delete dir="${workdir}"/>
+ <target name="dist" depends="build" description="gump target"/>
- </target>
-
- <!-- ######################################################### -->
-
- <target name="xdoc.fetch-stylesheet" unless="localstylesheet">
- <echo>
- ####################################################################
- #
- # Fetching the latest stylesheet from jakarta-site2
- #
- # NOTE : As this build target is meant for developers, this requires
- # a properly setup CVS. But you are encouraged to use this to
- # experiment with Anakia - if the fetch fails, it may be because
- # you haven't yet logged into CVS. The way to do it, assuming you
- # have a resonable CVS client setup is
- #
- # $ cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic login
- # password: anoncvs
- #
- # and that should solve it.
- #
- # See http://jakarta.apache.org/site/cvsindex.html for more
- # information, or http://www.cvshome.org/
- #
- # Ant really is the bee's knees. http://jakarta.apache.org/ant/
- #
- ######################################################################
- </echo>
- <cvspass cvsroot=":pserver:anoncvs@cvs.apache.org:/home/cvspublic"
- password="anoncvs"
- />
- <cvs cvsRoot=":pserver:anoncvs@cvs.apache.org:/home/cvspublic"
- command="checkout -p jakarta-site2/xdocs/stylesheets/site.vsl"
- output="${docs.src}/stylesheets/site.vsl"
- />
- </target>
-
- <target name="xdoc" depends="init,xdoc.fetch-stylesheet"
- description="Generates HTML documentation from XML source">
- <mkdir dir="${dist.home}"/>
- <mkdir dir="${dist.home}/docs"/>
- <taskdef name="anakia" classname="org.apache.velocity.anakia.AnakiaTask">
- <classpath location="${velocity.jar}"/>
- <classpath location="${jdom.jar}"/>
- <classpath location="${xerces.jar}"/>
- <classpath location="${commons-collections.jar}"/>
- </taskdef>
-
- <echo>
- #######################################################
- #
- # Now using Anakia to transform our XML documentation
- # to HTML.
- #
- #######################################################
- </echo>
-
- <anakia basedir="${docs.src}" destdir="${docs.dest}/"
- extension=".html" style="./site.vsl"
- projectFile="stylesheets/project.xml"
- excludes="**/stylesheets/** empty.xml"
- includes="**/*.xml"
- lastModifiedCheck="true"
- templatePath="xdocs/stylesheets">
- </anakia>
-
- <copy todir="${docs.dest}/images" filtering="no">
- <fileset dir="${docs.src}/images">
- <include name="**/*.gif"/>
- <include name="**/*.jpeg"/>
- <include name="**/*.jpg"/>
- </fileset>
- </copy>
- </target>
-
-
</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org