| <!-- |
| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| --> |
| |
| <!-- |
| Compiles DBCP unit tests and attempts to run them using the compiled dbcp jar |
| specified in the "commons-dbcp.jar" property. Set this property in build.properties |
| along with commons-pool.jar and execute the "test" target to run the tests. |
| |
| If the jdk level is <= 1.5, JDBC 4 methods will be commented out in the test |
| code before compilation of the tests. |
| --> |
| |
| <project name="commons-dbcp" default="test" basedir="."> |
| |
| <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 ${user.home}/propfile, if any --> |
| <property name="user-propfile" value="${user.home}/build.properties"/> |
| <property file="${user-propfile}"/> |
| |
| <property name="commons-pool.jar" value="${basedir}/../pool/dist/commons-pool.jar"/> |
| <property name="commons-dbcp.jar" value="${basedir}/../../commons-dbcp-1.3-SNAPSHOT.jar"/> |
| |
| <!-- now combine the classpaths --> |
| <property name="classpath" |
| value="${cp}:${commons-pool.jar}:${commons-dbcp.jar}:${jdbc20ext.jar}:${junit.jar}: |
| ${naming-common.jar}:${naming-java.jar}:${commons-logging.jar}: |
| ${xerces.jar}:${xml-apis.jar}:${jta-spec.jar}:${jta-impl.jar}: |
| ${backport-util-concurrent.jar}:${ejb-spec.jar}"/> |
| |
| <property name="build.dir" value="${basedir}/build"/> |
| <property name="build.test-classes.dir" value="${build.dir}/test-classes"/> |
| |
| <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="javac.optimize" value="false"/> |
| <property name="javac.debug" value="true"/> |
| <property name="javac.deprecation" value="false"/> |
| |
| <available property="jndi.present" classname="javax.naming.Context"/> |
| <available property="jdbc4.present" classname="java.sql.Wrapper"/> |
| </target> |
| |
| <target name="check_jar"> |
| <available file="${file}" property="found"/> |
| <antcall target="check_message"/> |
| </target> |
| |
| <target name="check_message" unless="found"> |
| <!-- echo could be replaced with fail if required --> |
| <echo message="Could not find ${file}"/> |
| </target> |
| |
| <!-- Check that all the dependencies exist --> |
| <target name="check_depends" depends="init"> |
| <echo>Checking dependencies</echo> |
| <antcall target="check_jar"> |
| <param name="file" value="${commons-pool.jar}"/> |
| </antcall> |
| <antcall target="check_jar"> |
| <param name="file" value="${junit.jar}"/> |
| </antcall> |
| <antcall target="check_jar"> |
| <param name="file" value="${naming-common.jar}"/> |
| </antcall> |
| <antcall target="check_jar"> |
| <param name="file" value="${naming-java.jar}"/> |
| </antcall> |
| <antcall target="check_jar"> |
| <param name="file" value="${commons-logging.jar}"/> |
| </antcall> |
| <antcall target="check_jar"> |
| <param name="file" value="${xerces.jar}"/> |
| </antcall> |
| <antcall target="check_jar"> |
| <param name="file" value="${jta-spec.jar}"/> |
| </antcall> |
| <antcall target="check_jar"> |
| <param name="file" value="${jta-impl.jar}"/> |
| </antcall> |
| <antcall target="check_jar"> |
| <param name="file" value="${backport-util-concurrent.jar}"/> |
| </antcall> |
| <antcall target="check_jar"> |
| <param name="file" value="${ejb-spec.jar}"/> |
| </antcall> |
| </target> |
| |
| <!-- ######################################################### --> |
| |
| <target name="clean" depends="init" description="removes generated files"> |
| <delete dir="${build.dir}"/> |
| <delete dir="${dist.dir}"/> |
| </target> |
| |
| <target name="prepare-nojdbc4" depends="init" unless="jdbc4.present"> |
| <echo message="Commenting out the jdbc4 additional methods since JDBC 4 was not detected."/> |
| <property name="src.dir" value="${build.dir}/src"/> |
| <property name="src.java.dir" value="${src.dir}/java"/> |
| <property name="src.test.dir" value="${src.dir}/test"/> |
| <property name="javac.source" value="1.4" /> |
| |
| <mkdir dir="${src.dir}"/> |
| <copy todir="${src.dir}" filtering="yes"> |
| <fileset dir="${basedir}/src" defaultexcludes="no"> |
| <include name="**/*.java"/> |
| <include name="**/*.xml"/> |
| <include name="**/*.properties"/> |
| <include name="**/*.jocl"/> |
| <include name="**/package.html"/> |
| </fileset> |
| </copy> |
| <replace dir="${src.dir}" token="/* JDBC_4_ANT_KEY_BEGIN */" value="/*"/> |
| <replace dir="${src.dir}" token="/* JDBC_4_ANT_KEY_END */" value="*/"/> |
| </target> |
| |
| <target name="prepare-jdbc4" depends="init" if="jdbc4.present"> |
| <echo message="JDBC 4 was detected."/> |
| <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="javac.source" value="1.5" /> |
| </target> |
| |
| <target name="prepare" depends="init,prepare-nojdbc4,prepare-jdbc4"/> |
| |
| <!-- ######################################################### --> |
| |
| <target name="compile-test" depends="check_depends,prepare" description="compiles test files"> |
| <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}" |
| source="${javac.source}"> |
| <classpath> |
| <pathelement location="${build.test-classes.dir}" /> |
| <pathelement path="${classpath}" /> |
| </classpath> |
| </javac> |
| <copy todir="${build.test-classes.dir}" file="${src.test.dir}/testpool.jocl"/> |
| </target> |
| |
| <target name="test" depends="compile-test" description="runs (junit) unit tests"> |
| <echo message="${classpath}"/> |
| <junit printsummary="true" showoutput="true" fork="yes" haltonfailure="${test.failonerror}"> |
| <classpath> |
| <pathelement location="${build.test-classes.dir}" /> |
| <pathelement path="${classpath}" /> |
| </classpath> |
| <test name="${test.entry}"/> |
| <formatter type="plain"/> |
| </junit> |
| </target> |
| |
| </project> |