blob: 9b4d7c8a778a7288add4dc3f999cc412c0aa2440 [file] [log] [blame]
<!-- $Id: build.xml,v 1.13 2002/08/13 00:44:54 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"/>
<!-- Temporarily exclude "jdbc2pool" subdirectory -->
<exclude name="**/jdbc2pool/*.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}:${junit.jar}:${jndi.jar}:${commons-lang.jar}"/>
<property name="name" value="commons-dbcp"/>
<property name="Name" value="Commons-DBCP"/>
<property name="Name-Long" value="Jakarta Commons Database Connection Pool"/>
<!-- The current version number of this component -->
<property name="component.package" value="org.apache.commons.dbcp"/>
<property name="component.version" value="1.0"/>
<filter token="package" value="${component.package}"/>
<filter token="version" value="${component.version}"/>
<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.conf" value="${source.src}/conf"/>
<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.src" value="${dest}/src"/>
<property name="dest.classes" value="${dest}/classes"/>
<property name="dest.conf" value="${dest}/conf"/>
<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-conf" file="${source.src.conf}"/> <!-- does this module have conf src? -->
<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"/>
<available property="jdbc3.present" classname="java.sql.Savepoint"/>
</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-conf" depends="init" if="available-src-conf">
<mkdir dir="${dest.conf}"/>
<copy todir="${dest.conf}" filtering="yes">
<fileset dir="${source.src.conf}"/>
</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="&lt;small&gt;Copyright &amp;copy; 2001 Apache Software Foundation. Documenation generated ${TODAY}&lt;/small&gt;."
protected="true"
version="true"
author="true"
overview="${source.src.java}/org/apache/commons/dbcp/package.html"
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="copy-src" depends="init">
<mkdir dir="${dest.src}"/>
<!-- the source code directory -->
<copy todir="${dest.src}" filtering="yes">
<fileset dir="${source.src.java}" defaultexcludes="no">
<include name="**/*.java"/>
<include name="**/*.xml"/>
<include name="**/*.properties"/>
<include name="**/package.html"/>
<!-- Temporarily omit "jdbc2pool" package -->
<exclude name="**/jdbc2pool/*.java"/>
</fileset>
</copy>
</target>
<target name="prepare-jdbc3" if="jdbc3.present">
<echo message="Uncommenting jdbc3 additional methods."/>
<replace dir="${dest.src}" token="/* JDBC_3_ANT_KEY" value=""/>
<replace dir="${dest.src}" token="JDBC_3_ANT_KEY */" value=""/>
</target>
<target name="build-java" depends="copy-src,prepare-jdbc3" if="available-src-java">
<mkdir dir="${dest.classes}"/>
<javac destdir="${dest.classes}"
srcdir="${dest.src}"
classpath="${classpath}"
debug="true"
deprecation="true"
optimize="true">
<exclude name="org/apache/commons/dbcp/BasicDataSourceFactory.java"
unless="jndi.present"/>
<exclude name="org/apache/commons/dbcp/jdbc2pool/**"
unless="jndi.present"/>
<exclude name="org/apache/commons/dbcp/cpdsadapter/**"
unless="jndi.present"/>
</javac>
</target>
<target name="build-test" depends="init,build-java" if="available-src-test">
<mkdir dir="${dest.src}"/>
<!-- the source code directory -->
<copy todir="${dest.src}" filtering="yes">
<fileset dir="${source.src.test}" defaultexcludes="no">
<include name="**/*.java"/>
</fileset>
</copy>
<antcall target="prepare-jdbc3"/>
<mkdir dir="${dest.classes}"/>
<javac destdir="${dest.classes}"
srcdir="${dest.src}"
classpath="${classpath}"
debug="true"
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="copy-conf,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}" manifest="${dest.conf}/MANIFEST.MF">
<fileset dir="${workdir}"/>
</jar>
<delete dir="${workdir}"/>
</target>
<!-- ######################################################### -->
</project>