diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/interfaces/jdbc/Makefile | 28 | ||||
-rw-r--r-- | src/interfaces/jdbc/build.xml | 187 |
2 files changed, 119 insertions, 96 deletions
diff --git a/src/interfaces/jdbc/Makefile b/src/interfaces/jdbc/Makefile index c40de4e0bc0..311645a6c65 100644 --- a/src/interfaces/jdbc/Makefile +++ b/src/interfaces/jdbc/Makefile @@ -1,10 +1,10 @@ #------------------------------------------------------------------------- # -# Makefile for src/interfaces +# Makefile for JDBC driver # -# Copyright (c) 1994, Regents of the University of California +# Copyright (c) 2001, PostgreSQL Global Development Group # -# $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/Makefile,v 1.32 2001/06/07 20:24:54 momjian Exp $ +# $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/Makefile,v 1.33 2001/07/06 23:07:20 petere Exp $ # #------------------------------------------------------------------------- @@ -20,22 +20,22 @@ properties := -Dmajor=$(majorversion) -Dminor=$(minorversion) \ -Ddef_pgport=$(DEF_PGPORT) all: - $(ANT) -buildfile $(top_srcdir)/build.xml $(properties) + $(ANT) -buildfile $(srcdir)/build.xml all \ + $(properties) install: installdirs - $(ANT) -Dinstall.directory=$(javadir) \ - -buildfile $(top_srcdir)/build.xml \ - install $(properties) + $(ANT) -buildfile $(srcdir)/build.xml install \ + -Dinstall.directory=$(javadir) $(properties) installdirs: - $(mkinstalldirs) $(DESTDIR)$(datadir)/java + $(mkinstalldirs) $(javadir) uninstall: - $(ANT) -Dinstall.directory=$(DESTDIR)$(datadir)/java \ - -buildfile $(top_srcdir)/build.xml \ - uninstall + $(ANT) -buildfile $(srcdir)/build.xml uninstall \ + -Dinstall.directory=$(javadir) clean distclean maintainer-clean: - $(ANT) -buildfile $(top_srcdir)/build.xml clean - # ANT 1.3 has a bug that prevents directory deletion - rm -rf build jars + $(ANT) -buildfile $(srcdir)/build.xml clean + +check: + $(ANT) -buildfile $(srcdir)/build.xml test diff --git a/src/interfaces/jdbc/build.xml b/src/interfaces/jdbc/build.xml index 9d70e2cbb8a..114d05813b0 100644 --- a/src/interfaces/jdbc/build.xml +++ b/src/interfaces/jdbc/build.xml @@ -1,31 +1,25 @@ +<?xml version="1.0"?> <!-- build file to allow ant (http://jakarta.apache.org/ant/) to be used - to build the PostgreSQL JDBC Driver. + to build the PostgreSQL JDBC Driver - $Id: build.xml,v 1.16 2001/07/04 15:07:54 momjian Exp $ + $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/build.xml,v 1.17 2001/07/06 23:07:20 petere Exp $ --> -<project name="postgresqlJDBC" default="jar" basedir="."> +<!DOCTYPE project [ + <!ENTITY jarfiles "postgresql.jar,postgresql-examples.jar"> +]> + +<project name="postgresqlJDBC" default="all" basedir="."> <!-- set global properties for this build --> - <property name="src" value="." /> - <property name="jars" value="jars" /> - <property name="dest" value="build" /> + <property name="srcdir" value="." /> + <property name="jardir" value="jars" /> + <property name="builddir" value="build" /> <property name="package" value="org/postgresql" /> - <!-- - defaults for the tests - overide these if required - junit.ui is one of textui, awtui or swingui - - password must be something. Doesnt matter if trust is used! - --> - <property name="database" value="jdbc:postgresql:test" /> - <property name="username" value="test" /> - <property name="password" value="password" /> - <property name="tablename" value="jdbctest" /> - <property name="junit.ui" value="textui" /> <!-- This is a simpler method than utils.CheckVersion @@ -41,12 +35,62 @@ <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" /> @@ -71,115 +115,94 @@ tofile="${package}/Driver.java" filtering="yes" /> - <echo message="Configured build for the ${edition} edition driver." /> - + <echo message="Configured build for the ${edition} edition driver" /> </target> - <!-- This target removes any class files from the build directory --> - <target name="clean"> - <!-- - This should be just 'delete', but ant 1.3 fails. - This code doesn't delete the directories. bjm 2001-05-25 - --> - <delete> - <fileset dir="${dest}" /> - <fileset dir="${jars}" /> - </delete> - <delete file="${package}/Driver.java" /> - </target> <!-- Prepares the build directory --> <target name="prepare"> - <mkdir dir="${dest}" /> - <mkdir dir="${jars}" /> + <mkdir dir="${builddir}" /> + <mkdir dir="${jardir}" /> </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="${src}" destdir="${dest}"> - <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> - <copy todir="${dest}" overwrite="true" filtering="on"> - <fileset dir="${src}"> - <include name="${package}/**/*.properties" /> - <exclude name="${dest}/**" /> - </fileset> - </copy> - </target> <!-- This builds the examples --> <target name="examples" depends="compile"> - <javac srcdir="${src}" destdir="${dest}"> + <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="${src}/example/corba" executable="idl2java"> + <exec dir="${srcdir}/example/corba" executable="idl2java"> <arg value="stock.idl" /> </exec> - <javac srcdir="${src}" destdir="${dest}"> + + <javac srcdir="${srcdir}" destdir="${builddir}"> <include name="example/corba/**" /> </javac> </target> - <!-- This builds the jar file containing the driver --> - <target name="jar" depends="compile,examples"> - <jar jarfile="${jars}/postgresql.jar" basedir="${dest}" includes="${package}/**/*.class,${package}/*.properties" excludes="${package}/test/**"/> - <jar jarfile="${jars}/postgresql-examples.jar" basedir="${dest}" includes="example/**/*.class,example/*.properties" /> - </target> - <!-- - This installs the jar file. It's called by the build.xml file in the - root directory of the source (where configure is). Refer to that file - on how to use it. - --> - <target name="install" depends="jar" if="install.directory"> - <copy todir="${install.directory}" overwrite="true" filtering="off"> - <fileset dir="${jars}"> - <include name="**/*.jar" /> - </fileset> + + <!-- 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. - --> + + <!-- Uninstall the jar file --> <target name="uninstall" if="install.directory"> <delete> - <fileset dir="${install.directory}"> - <include name="**/*.jar" /> - </fileset> + <fileset dir="${install.directory}" includes="&jarfiles;" /> </delete> </target> - <!-- - This compiles and executes the JUnit tests - --> + + + <!-- 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" /> + <property name="tablename" value="jdbctest" /> + <!-- junit.ui is one of textui, awtui, or swingui --> + <property name="junit.ui" value="textui" /> + + <target name="test" depends="jar" if="junit"> - <javac srcdir="${src}" destdir="${dest}"> + <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="${dest}" /> + <pathelement location="${builddir}" /> <pathelement path="${java.class.path}" /> </classpath> </java> </target> + </project> |