OSDN Git Service

Finished build.xml and updated Driver.java.in and buildDriver to match how Makefile...
authorPeter Mount <peter@retep.org.uk>
Wed, 20 Dec 2000 16:22:49 +0000 (16:22 +0000)
committerPeter Mount <peter@retep.org.uk>
Wed, 20 Dec 2000 16:22:49 +0000 (16:22 +0000)
src/interfaces/jdbc/CHANGELOG
src/interfaces/jdbc/build.xml
src/interfaces/jdbc/org/postgresql/Driver.java.in
src/interfaces/jdbc/utils/buildDriver

index 976efe1..6afd3c6 100644 (file)
@@ -1,3 +1,7 @@
+Wed Dec 20 16:19:00 GMT 2000 peter@retep.org.uk
+       - Finished build.xml and updated Driver.java.in and buildDriver to
+         match how Makefile and ANT operate.
+
 Tue Dec 19 17:30:00 GMT 2000 peter@retep.org.uk
        - Finally created ant build.xml file
 
index b60f2bd..1e15b38 100644 (file)
@@ -3,17 +3,18 @@
   build file to allow ant (http://jakarta.apache.org/ant/) to be used
   to build the PostgreSQL JDBC Driver.
 
-  $Id: build.xml,v 1.1 2000/12/19 17:33:39 peter Exp $
+  $Id: build.xml,v 1.2 2000/12/20 16:22:48 peter Exp $
 
 -->
 
 <project name="postgresqlJDBC" default="jar" basedir=".">
   
-  
   <!-- set global properties for this build -->
   <property name="src"     value="." />
   <property name="dest"    value="build" />
   <property name="package" value="org/postgresql" />
+  <property name="major" value="7" />
+  <property name="minor" value="1" />
   
   <!--
     This is a simpler method than utils.CheckVersion
     <available property="jdk1.2+" classname="java.lang.ThreadLocal" />
     <available property="jdk1.3+" classname="java.lang.StrictMath" />
     <available property="jdk1.2e+" classname="javax.sql.DataSource" />
+  </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 ${major}.${minor} ${edition}" />
+    <filter token="JDBCCONNECTCLASS" value="${connectclass}" />
+        
+    <!-- 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." />
     
-    <mkdir dir="${dest}" />
   </target>
   
+  <!-- This target removes any class files from the build directory -->
   <target name="clean">
     <delete dir="${dest}" />
+    <delete file="${package}/Driver.java" />
+  </target>
+  
+  <!-- Prepares the build directory -->
+  <target name="prepare">
+    <mkdir dir="${dest}" />
   </target>
   
   <!-- This is the core of the driver. It is common for all three versions -->
-  <target name="compile" depends="check_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/PGblob.java" unless="jdk1.2+" />
       <exclude name="${package}/PostgresqlDataSource.java" unless="jdk1.2e+" />
       <exclude name="${package}/xa/**" unless="jdk1.2e+" />
     </javac>
-    <copy todir="${dest}">
+    <copy todir="${dest}" overwrite="true" filtering="on">
       <fileset dir="${src}">
         <include name="**/*.properties" />
       </fileset>
index 40e2a94..552d188 100644 (file)
@@ -114,7 +114,7 @@ public class Driver implements java.sql.Driver
       return null;
     
     try {
-       org.postgresql.Connection con = (org.postgresql.Connection)(Class.forName("%JDBCCONNECTCLASS%").newInstance());
+       org.postgresql.Connection con = (org.postgresql.Connection)(Class.forName("@JDBCCONNECTCLASS@").newInstance());
        con.openConnection (host(), port(), props, database(), url, this);
        return (java.sql.Connection)con;
     } catch(ClassNotFoundException ex) {
@@ -192,7 +192,7 @@ public class Driver implements java.sql.Driver
    */
   public int getMajorVersion()
   {
-    return %MAJORVERSION%;
+    return @MAJORVERSION@;
   }
   
   /**
@@ -202,7 +202,7 @@ public class Driver implements java.sql.Driver
    */
   public int getMinorVersion()
   {
-    return %MINORVERSION%;
+    return @MINORVERSION@;
   }
   
     /**
@@ -210,7 +210,7 @@ public class Driver implements java.sql.Driver
      */
     public static String getVersion()
     {
-       return "%VERSION%";
+       return "@VERSION@";
     }
     
   /**
index 097ce6e..8cca1d9 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: buildDriver,v 1.1 2000/10/12 08:55:28 peter Exp $
+# $Id: buildDriver,v 1.2 2000/12/20 16:22:49 peter Exp $
 #
 # This script generates the org/postgresql/Driver.java file from the template
 # org/postgresql/Driver.java.in
@@ -38,10 +38,10 @@ MINORVERSION=`echo $VERSION | cut -f2 -d'.' | cut -c1`
 #---------------------------------------------------------------------------
 # Now finally build the driver
 sed \
-       -e "s/%JDBCCONNECTCLASS%/$CLASS/g" \
-       -e "s/%VERSION%/$VERSION $EDITION/g" \
-       -e "s/%MAJORVERSION%/$MAJORVERSION/g" \
-       -e "s/%MINORVERSION%/$MINORVERSION/g" \
+       -e "s/@JDBCCONNECTCLASS@/$CLASS/g" \
+       -e "s/@VERSION@/$VERSION $EDITION/g" \
+       -e "s/@MAJORVERSION@/$MAJORVERSION/g" \
+       -e "s/@MINORVERSION@/$MINORVERSION/g" \
        <${SOURCE}.in \
        >$SOURCE
 #---------------------------------------------------------------------------