diff --git a/src/interfaces/jdbc/CHANGELOG b/src/interfaces/jdbc/CHANGELOG
index 976efe17348d91a2671df50175d4e674af8c735b..6afd3c6f251887a4e98e3f668c45ba09583d2bb1 100644
--- a/src/interfaces/jdbc/CHANGELOG
+++ b/src/interfaces/jdbc/CHANGELOG
@@ -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
 
diff --git a/src/interfaces/jdbc/build.xml b/src/interfaces/jdbc/build.xml
index b60f2bdcf7d24e7d5261f5833e2d3f1462c9df54..1e15b3852020f472ac8b71cd0cea3cea06ba7119 100644
--- a/src/interfaces/jdbc/build.xml
+++ b/src/interfaces/jdbc/build.xml
@@ -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
@@ -27,25 +28,63 @@
     <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>
diff --git a/src/interfaces/jdbc/org/postgresql/Driver.java.in b/src/interfaces/jdbc/org/postgresql/Driver.java.in
index 40e2a94956ae3e5856f3d86c963448628925c105..552d188109a4314c37913db809754975c7532117 100644
--- a/src/interfaces/jdbc/org/postgresql/Driver.java.in
+++ b/src/interfaces/jdbc/org/postgresql/Driver.java.in
@@ -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@";
     }
     
   /**
diff --git a/src/interfaces/jdbc/utils/buildDriver b/src/interfaces/jdbc/utils/buildDriver
index 097ce6e04ad54e5a03e5b87ed43affda40dd824c..8cca1d9c36d1a0085af4c00d9f9c20429acf5dcb 100755
--- a/src/interfaces/jdbc/utils/buildDriver
+++ b/src/interfaces/jdbc/utils/buildDriver
@@ -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
 #---------------------------------------------------------------------------