| <!-- $Id: build.xml,v 1.5 2002/01/16 00:19:36 craigmcc Exp $ --> |
| <project name="jakarta-commons-dbcp" 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> |
| |
| <!-- ######################################################### --> |
| |
| <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}"/> |
| |
| <!-- command line classpath, if any --> |
| <property name="cp" value=""/> |
| |
| <!-- now combine the classpaths --> |
| <property name="classpath" value="${cp}:${commons-pool.jar}:${commons-collections.jar}:${jdbc20ext.jar}:${sax2.jar}:${junit.jar}"/> |
| |
| <property name="name" value="commons-dbcp"/> |
| <property name="Name" value="Commons-DBCP"/> |
| <property name="Name-Long" value="Jakarta Commons Database Connection Pool"/> |
| |
| <property name="test.entry" value="org.apache.commons.dbcp.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? --> |
| <available property="jndi.present" classname="javax.naming.Context"/> |
| |
| </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"> |
| <exclude name="org/apache/commons/dbcp/BasicDataSourceFactory" |
| unless="jndi.present"/> |
| </javac> |
| </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> |
| |
| <!-- ######################################################### --> |
| |
| </project> |