| <!-- $Id: build.xml,v 1.5 2002/01/15 01:20:52 rwaldhoff Exp $ --> |
| <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/> |
| |
| <!-- read properties from the build.properties, if any --> |
| <property name="component-propfile" value="${basedir}/build.properties"/> |
| <property file="${component-propfile}"/> |
| |
| <!-- read properties from the commons build.properties, if any --> |
| <property name="commons-propfile" value="${basedir}/../build.properties"/> |
| <property file="${commons-propfile}"/> |
| |
| <!-- read properties from the ${user.home}/propfile, if any --> |
| <property name="user-propfile" value="${user.home}/build.properties"/> |
| <property file="${user-propfile}"/> |
| |
| <property name="commons-collections.jar" value="${basedir}/../collections/dist/commons-collections.jar"/> |
| |
| <!-- command line classpath, if any --> |
| <property name="cp" value=""/> |
| |
| <!-- now combine the classpaths --> |
| <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"/> |
| |
| <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"/> |
| |
| <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="../LICENSE"/> |
| </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}"/> |
| <javadoc packagenames="org.*" |
| sourcepath="${workdir}" |
| classpath="${classpath}" |
| destdir="${dest.doc.api}" |
| windowtitle="${Name-Long}" |
| doctitle="${Name-Long}" |
| bottom="<small>Copyright &copy; 2001 Apache Software Foundation. Documenation generated ${TODAY}</small>." |
| public="true" |
| version="true" |
| author="true" |
| splitindex="false" |
| nodeprecated="true" |
| nodeprecatedlist="true" |
| notree="true" |
| noindex="false" |
| nohelp="true" |
| nonavbar="false" |
| serialwarn="false"> |
| </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}" |
| classpath="${classpath}" |
| debug="false" |
| deprecation="true" |
| optimize="true"/> |
| </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}" |
| debug="false" |
| deprecation="true" |
| optimize="true"/> |
| </target> |
| |
| <!-- ######################################################### --> |
| |
| <target name="test" depends="build-test" if="test.entry" description="runs (junit) unit tests"> |
| <!-- |
| <junit printsummary="yes" fork="on" haltonfailure="yes"> |
| <formatter type="plain" usefile="false"/> |
| <test name="${test.entry}"/> |
| <classpath> |
| <pathelement location="${dest.classes}" /> |
| <pathelement path="${classpath}" /> |
| <pathelement path="${java.class.path}" /> |
| </classpath> |
| </junit> |
| --> |
| |
| <java classname="${test.runner}" fork="yes" failonerror="${test.failonerror}"> |
| <arg value="${test.entry}"/> |
| <classpath> |
| <pathelement location="${dest.classes}" /> |
| <pathelement path="${classpath}" /> |
| <pathelement path="${java.class.path}" /> |
| </classpath> |
| </java> |
| </target> |
| |
| <!-- ######################################################### --> |
| |
| <target name="dist" depends="dist-jar,doc" description="builds binary distribution"/> |
| |
| <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> |
| <jar jarfile="${dest.jardir.jar}"> |
| <fileset dir="${workdir}"/> |
| </jar> |
| <delete dir="${workdir}"/> |
| </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> |
| |
| <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="xdoc.fetch-stylesheet" |
| description="Generates HTML documentation from XML source"> |
| <taskdef name="anakia" classname="org.apache.velocity.anakia.AnakiaTask"> |
| <classpath location="${velocity.jar}"/> |
| <classpath location="${jdom.jar}"/> |
| <classpath location="${xerces.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> |