diff --git a/src/interfaces/jdbc/build.xml b/src/interfaces/jdbc/build.xml index 4865a9a78fcae14a6af6ad9dd0d81b14a209aeaa..ed86f7d5afdb4f1682bf469624c7593401f45f45 100644 --- a/src/interfaces/jdbc/build.xml +++ b/src/interfaces/jdbc/build.xml @@ -1,207 +1,234 @@ -<?xml version="1.0"?> -<!-- - - build file to allow ant (http://jakarta.apache.org/ant/) to be used - to build the PostgreSQL JDBC Driver - - $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/build.xml,v 1.18 2001/09/23 04:11:14 momjian Exp $ - ---> - -<!DOCTYPE project [ - <!ENTITY jarfiles "postgresql.jar,postgresql-examples.jar"> -]> - -<project name="postgresqlJDBC" default="all" basedir="."> - - <!-- set global properties for this build --> - <property name="srcdir" value="." /> - <property name="jardir" value="jars" /> - <property name="builddir" value="build" /> - <property name="package" value="org/postgresql" /> - - - <!-- - This is a simpler method than utils.CheckVersion - It defaults to jdbc1, but builds jdbc2 if the java.lang.Byte class is - in the CLASSPATH (ie JDK1.2 or later), and then enterprise if the - javax.sql.DataSource class is present. - - Important: This must have the following order: jdbc1, jdbc2, enterprise - --> - <target name="check_versions"> - <available property="jdk1.2+" classname="java.lang.ThreadLocal" /> - <available property="jdk1.2e+" classname="javax.sql.DataSource" /> - <available property="junit" classname="junit.framework.Test" /> - </target> - - - <!-- default target --> - <target name="all"> - <antcall target="jar" /> - </target> - - - <!-- create the jar file --> - <target name="jar" depends="compile,examples"> - <jar jarfile="${jardir}/postgresql.jar" whenempty="fail"> - <fileset dir="${builddir}"> - <include name="${package}/**/*.class" /> - <exclude name="${package}/test/**" /> - </fileset> - - <fileset dir="${srcdir}"> - <include name="${package}/*.properties" /> - </fileset> - </jar> - - <jar jarfile="${jardir}/postgresql-examples.jar" whenempty="fail"> - <fileset dir="${builddir}"> - <include name="example/**/*.class" /> - </fileset> - - <fileset dir="${srcdir}"> - <include name="example/*.properties" /> - </fileset> - </jar> - </target> - - - <!-- This is the core of the driver. It is common for all three versions. --> - <target name="compile" depends="prepare,check_versions,driver"> - <javac srcdir="${srcdir}" destdir="${builddir}"> - <include name="${package}/**" /> - - <exclude name="${package}/jdbc1/**" if="jdk1.2+" /> - <exclude name="${package}/jdbc2/**" unless="jdk1.2+" /> - - <exclude name="${package}/largeobject/PGblob.java" unless="jdk1.2+" /> - <exclude name="${package}/largeobject/PGclob.java" unless="jdk1.2+" /> - - <exclude name="${package}/PostgresqlDataSource.java" unless="jdk1.2e+" /> - <exclude name="${package}/xa/**" unless="jdk1.2e+" /> - - <exclude name="${package}/test/**" unless="junit" /> - </javac> - </target> - - - <!-- - This generates Driver.java from Driver.java.in - It's required for importing the driver version properties - --> - <target name="driver" depends="prepare,check_versions"> - <!-- determine the edition text --> - <property name="edition" value="JDBC1" /> - <available property="edition" value="JDBC2" classname="java.lang.ThreadLocal" /> - <available property="edition" value="JDBC2" classname="java.lang.StrictMath" /> - <available property="edition" value="JDBC2 Enterprise" classname="javax.sql.DataSource" /> - - <!-- determine the connection class --> - <property name="connectclass" value="org.postgresql.jdbc1.Connection" /> - <available property="connectclass" value="org.postgresql.jdbc2.Connection" classname="java.lang.ThreadLocal" /> - - <!-- Some defaults --> - <filter token="MAJORVERSION" value="${major}" /> - <filter token="MINORVERSION" value="${minor}" /> - <filter token="VERSION" value="PostgreSQL ${fullversion} ${edition}" /> - <filter token="JDBCCONNECTCLASS" value="${connectclass}" /> - <filter token="DEF_PGPORT" value="${def_pgport}" /> - - <!-- Put a check for the current version here --> - - <!-- now copy and filter the file --> - <copy file="${package}/Driver.java.in" - tofile="${package}/Driver.java" - filtering="yes" /> - - <echo message="Configured build for the ${edition} edition driver" /> - </target> - - - <!-- Prepares the build directory --> - <target name="prepare"> - <mkdir dir="${builddir}" /> - <mkdir dir="${jardir}" /> - </target> - - - <!-- This builds the examples --> - <target name="examples" depends="compile"> - <javac srcdir="${srcdir}" destdir="${builddir}"> - <include name="example/**" /> - <exclude name="example/corba/**"/> - <exclude name="example/blobtest.java" unless="jdk1.2+"/> - </javac> - </target> - - - <!-- Builds the corba example --> - <target name="corba" if="jdk1.2+"> - <exec dir="${srcdir}/example/corba" executable="idl2java"> - <arg value="stock.idl" /> - </exec> - - <javac srcdir="${srcdir}" destdir="${builddir}"> - <include name="example/corba/**" /> - </javac> - </target> - - - - <!-- Install the jar files --> - <target name="install" depends="all" if="install.directory"> - <copy todir="${install.directory}" overwrite="true"> - <fileset dir="${jardir}" includes="&jarfiles;" /> - </copy> - </target> - - - <!-- Uninstall the jar file --> - <target name="uninstall" if="install.directory"> - <delete> - <fileset dir="${install.directory}" includes="&jarfiles;" /> - </delete> - </target> - - - - <!-- This target removes any class files from the build directory --> - <target name="clean"> - <delete quiet="true" dir="${builddir}" /> - <delete quiet="true" dir="${jardir}" /> - <delete quiet="true" file="${package}/Driver.java" /> - </target> - - - - <!-- This compiles and executes the JUnit tests --> - - <!-- defaults for the tests - override these if required --> - <property name="database" value="jdbc:postgresql:test" /> - <property name="username" value="test" /> - <!-- Password must be something. Doesn't matter if trust is used! --> - <property name="password" value="password" /> - <!-- junit.ui is one of textui, awtui, or swingui --> - <property name="junit.ui" value="textui" /> - - - <target name="test" depends="jar" if="junit"> - <javac srcdir="${srcdir}" destdir="${builddir}"> - <include name="${package}/test/jdbc2/**" if="jdk1.2+" /> - <include name="${package}/test/java2ee/**" if="jdk1.2e+" /> - </javac> - - <java fork="yes" classname="junit.${junit.ui}.TestRunner" taskname="junit" failonerror="true"> - <arg value="org.postgresql.test.JDBC2Tests" /> - <sysproperty key="database" value="${database}" /> - <sysproperty key="username" value="${username}" /> - <sysproperty key="password" value="${password}" /> - <classpath> - <pathelement location="${builddir}" /> - <pathelement path="${java.class.path}" /> - </classpath> - </java> - </target> - -</project> +<?xml version="1.0"?> +<!-- + + build file to allow ant (http://jakarta.apache.org/ant/) to be used + to build the PostgreSQL JDBC Driver + + $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/build.xml,v 1.19 2002/02/22 02:07:30 davec Exp $ + +--> + +<!DOCTYPE project [ + <!ENTITY jarfiles "postgresql.jar,postgresql-examples.jar"> +]> + +<project name="postgresqlJDBC" default="all" basedir="."> + + <!-- set global properties for this build --> + <property name="srcdir" value="." /> + <property name="jardir" value="jars" /> + <property name="builddir" value="build" /> + <property name="package" value="org/postgresql" /> + <property name="debug" value="yes" /> + + <!-- + This is a simpler method than utils.CheckVersion + It defaults to jdbc1, but builds jdbc2 if the java.lang.Byte class is + in the CLASSPATH (ie JDK1.2 or later), and then enterprise if the + javax.sql.DataSource class is present. + + Important: This must have the following order: jdbc1, jdbc2, enterprise + --> + <target name="check_versions"> + <condition property="jdbc1"> + <equals arg1="${ant.java.version}" arg2="1.1"/> + </condition> + <condition property="jdbc2"> + <or> + <equals arg1="${ant.java.version}" arg2="1.2"/> + <equals arg1="${ant.java.version}" arg2="1.3"/> + </or> + </condition> + <condition property="jdbc3"> + <equals arg1="${ant.java.version}" arg2="1.4"/> + </condition> + <condition property="datasource"> + <and> + <equals arg1="${jdbc2}" arg2="true" /> + <available classname="javax.sql.DataSource"/> + </and> + </condition> + <available property="junit" classname="junit.framework.Test" /> + </target> + + + <!-- default target --> + <target name="all"> + <antcall target="jar" /> + </target> + + + <!-- create the jar file --> + <target name="jar" depends="compile,examples"> + <jar jarfile="${jardir}/postgresql.jar" whenempty="fail"> + <fileset dir="${builddir}"> + <include name="${package}/**/*.class" /> + <exclude name="${package}/test/**" /> + </fileset> + + <fileset dir="${srcdir}"> + <include name="${package}/*.properties" /> + </fileset> + </jar> + + <jar jarfile="${jardir}/postgresql-examples.jar" whenempty="fail"> + <fileset dir="${builddir}"> + <include name="example/**/*.class" /> + </fileset> + + <fileset dir="${srcdir}"> + <include name="example/*.properties" /> + </fileset> + </jar> + </target> + + + <!-- This is the core of the driver. It is common for all three versions. --> + <target name="compile" depends="prepare,check_versions,driver"> + <javac srcdir="${srcdir}" destdir="${builddir}" debug="${debug}"> + <include name="${package}/**" /> + + <exclude name="${package}/jdbc1/**" unless="jdbc1"/> + <exclude name="${package}/jdbc2/**" unless="jdbc2"/> + + <exclude name="${package}/largeobject/PGblob.java" unless="jdbc2" /> + <exclude name="${package}/largeobject/PGclob.java" unless="jdbc2" /> + + <exclude name="${package}/PostgresqlDataSource.java" unless="datasource" /> + <exclude name="${package}/xa/**" unless="datasource" /> + + <exclude name="${package}/test/**" unless="junit" /> + </javac> + </target> + + + <!-- + This generates Driver.java from Driver.java.in + It's required for importing the driver version properties + --> + <target name="driver" depends="prepare,check_versions"> + <!-- determine the edition text --> + <property name="edition" value="JDBC1" /> + <condition property="edition" value="JDBC2"> + <or> + <equals arg1="${jdbc2}" arg2="true"/> + <equals arg1="${jdbc3}" arg2="true"/> <!-- fake it for now --> + + </or> + </condition> + + <condition property="edition" value="JDBC2 Enterprise"> + <and> + <available classname="javax.sql.DataSource" /> + <equals arg1="${jdbc2}" arg2="true"/> + </and> + </condition> + + <!-- determine the connection class --> + <property name="connectclass" value="org.postgresql.jdbc1.Connection" /> + <available property="connectclass" value="org.postgresql.jdbc2.Connection" classname="java.lang.ThreadLocal" /> + + <!-- Some defaults --> + <filter token="MAJORVERSION" value="${major}" /> + <filter token="MINORVERSION" value="${minor}" /> + <filter token="VERSION" value="PostgreSQL ${fullversion} ${edition}" /> + <filter token="JDBCCONNECTCLASS" value="${connectclass}" /> + <filter token="DEF_PGPORT" value="${def_pgport}" /> + + <!-- Put a check for the current version here --> + + <!-- now copy and filter the file --> + <copy file="${package}/Driver.java.in" + tofile="${package}/Driver.java" + filtering="yes" /> + + <echo message="Configured build for the ${edition} edition driver" /> + </target> + + + <!-- Prepares the build directory --> + <target name="prepare"> + <mkdir dir="${builddir}" /> + <mkdir dir="${jardir}" /> + </target> + + + <!-- This builds the examples --> + <target name="examples" depends="compile"> + <javac srcdir="${srcdir}" destdir="${builddir}"> + <include name="example/**" /> + <exclude name="example/corba/**"/> + <exclude name="example/blobtest.java" unless="jdk1.2+"/> + </javac> + </target> + + + <!-- Builds the corba example --> + <target name="corba" if="jdk1.2+"> + <exec dir="${srcdir}/example/corba" executable="idl2java"> + <arg value="stock.idl" /> + </exec> + + <javac srcdir="${srcdir}" destdir="${builddir}"> + <include name="example/corba/**" /> + </javac> + </target> + + + + <!-- Install the jar files --> + <target name="install" depends="all" if="install.directory"> + <copy todir="${install.directory}" overwrite="true"> + <fileset dir="${jardir}" includes="&jarfiles;" /> + </copy> + </target> + + + <!-- Uninstall the jar file --> + <target name="uninstall" if="install.directory"> + <delete> + <fileset dir="${install.directory}" includes="&jarfiles;" /> + </delete> + </target> + + + + <!-- This target removes any class files from the build directory --> + <target name="clean"> + <delete quiet="true" dir="${builddir}" /> + <delete quiet="true" dir="${jardir}" /> + <delete quiet="true" file="${package}/Driver.java" /> + </target> + + + + <!-- This compiles and executes the JUnit tests --> + + <!-- defaults for the tests - override these if required --> + <property name="database" value="jdbc:postgresql:test" /> + <property name="username" value="test" /> + <!-- Password must be something. Doesn't matter if trust is used! --> + <property name="password" value="password" /> + <!-- junit.ui is one of textui, awtui, or swingui --> + <property name="junit.ui" value="textui" /> + + + <target name="test" depends="jar" if="junit"> + <javac srcdir="${srcdir}" destdir="${builddir}"> + <include name="${package}/test/jdbc2/**" if="jdk1.2+" /> + <include name="${package}/test/java2ee/**" if="jdk1.2e+" /> + </javac> + + <java fork="yes" classname="junit.${junit.ui}.TestRunner" taskname="junit" failonerror="true"> + <arg value="org.postgresql.test.JDBC2Tests" /> + <sysproperty key="database" value="${database}" /> + <sysproperty key="username" value="${username}" /> + <sysproperty key="password" value="${password}" /> + <classpath> + <pathelement location="${builddir}" /> + <pathelement path="${java.class.path}" /> + </classpath> + </java> + </target> + +</project>