build patch

From: Mike Beachy <beachy(at)marketboy(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: build patch
Date: 2002-12-10 13:27:06
Message-ID: 20021210082705.B17594@marketdude.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc


While hacking about on the code, I've made another couple of tweaks to the
build files. They make it possible to use ant exclusively after running a
configure and a 'make build.properties'. The changes don't affect use of
make if you still want to use it.

Change summary:

To build.xml, I added a specification to retrieve properties from
build.properties, a new target called check_driver that makes sure
Driver.java gets regenerated if build.properties or Driver.java.in is newer
than it is, and a new 'clean_all' target that nukes the build.properties
file in addition to the things in the clean target.

To Makefile, I added a new target, build.properties, which creates a
file with the variables lifted from Makefile.global. I dropped the
command line definitions of these variables and made build.properties a
dependency of the targets that needed them.

Patch follows.

Mike

Index: build.xml
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/interfaces/jdbc/build.xml,v
retrieving revision 1.30
diff -c -r1.30 build.xml
*** build.xml 2002/10/20 00:10:55 1.30
--- build.xml 2002/12/10 13:23:49
***************
*** 23,28 ****
--- 23,30 ----
<property name="package" value="org/postgresql" />
<property name="debug" value="on" />

+ <property file="build.properties"/>
+
<!--
This is a simpler method than utils.CheckVersion
It defaults to jdbc1, but builds jdbc2 if the java.lang.Byte class is
***************
*** 115,126 ****
</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 -->
<condition property="edition" value="JDBC1">
<equals arg1="${jdbc1}" arg2="true"/>
--- 117,137 ----
</javac>
</target>

+ <target name="check_driver">
+ <uptodate targetfile="${package}/Driver.java" property="driver.uptodate">
+ <srcfiles dir=".">
+ <include name="${package}/Driver.java.in"/>
+ <include name="build.properties"/>
+ </srcfiles>
+ </uptodate>
+ </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,check_driver"
! unless="driver.uptodate">
<!-- determine the edition text -->
<condition property="edition" value="JDBC1">
<equals arg1="${jdbc1}" arg2="true"/>
***************
*** 158,163 ****
--- 169,177 ----

<fail unless="major" message="'major' undefined. Please follow the directions in README."/>
<fail unless="minor" message="'minor' undefined. Please follow the directions in README."/>
+ <fail unless="fullversion" message="'fullversion' undefined. Please follow the directions in README."/>
+ <fail unless="def_pgport" message="'def_pgport' undefined. Please follow the directions in README."/>
+ <fail unless="enable_debug" message="'enable_debug' undefined. Please follow the directions in README."/>

<!-- Put a check for the current version here -->

***************
*** 231,236 ****
--- 245,253 ----
<delete quiet="true" file="${package}/Driver.java" />
</target>

+ <target name="clean_all" depends="clean">
+ <delete quiet="true" file="build.properties" />
+ </target>


<!-- This compiles and executes the JUnit tests -->
Index: Makefile
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/interfaces/jdbc/Makefile,v
retrieving revision 1.36
diff -c -r1.36 Makefile
*** Makefile 2002/10/20 02:55:50 1.36
--- Makefile 2002/12/10 13:23:49
***************
*** 15,32 ****
majorversion := $(shell echo $(VERSION) | sed 's/^\([0-9][0-9]*\)\..*$$/\1/')
minorversion := $(shell echo $(VERSION) | sed 's/^[0-9][0-9]*\.\([0-9][0-9]*\).*$$/\1/')

! properties := -Dmajor=$(majorversion) -Dminor=$(minorversion) \
! -Dfullversion=$(VERSION) \
! -Ddef_pgport=$(DEF_PGPORT) \
! -Denable_debug=$(enable_debug)
!
! all:
! $(ANT) -buildfile $(srcdir)/build.xml all \
! $(properties)

! install: installdirs
$(ANT) -buildfile $(srcdir)/build.xml install \
! -Dinstall.directory=$(javadir) $(properties)

installdirs:
$(mkinstalldirs) $(javadir)
--- 15,34 ----
majorversion := $(shell echo $(VERSION) | sed 's/^\([0-9][0-9]*\)\..*$$/\1/')
minorversion := $(shell echo $(VERSION) | sed 's/^[0-9][0-9]*\.\([0-9][0-9]*\).*$$/\1/')

! build.properties: $(top_builddir)/src/Makefile.global
! echo "# This file was created by 'make build.properties'." > build.properties
! echo major=$(majorversion) >> build.properties
! echo minor=$(minorversion) >> build.properties
! echo fullversion=$(VERSION) >> build.properties
! echo def_pgport=$(DEF_PGPORT) >> build.properties
! echo enable_debug=$(enable_debug) >> build.properties

! all: build.properties
! $(ANT) -buildfile $(srcdir)/build.xml all
!
! install: installdirs build.properties
$(ANT) -buildfile $(srcdir)/build.xml install \
! -Dinstall.directory=$(javadir)

installdirs:
$(mkinstalldirs) $(javadir)
***************
*** 36,42 ****
-Dinstall.directory=$(javadir)

clean distclean maintainer-clean:
! $(ANT) -buildfile $(srcdir)/build.xml clean

! check: all
! $(ANT) -buildfile $(srcdir)/build.xml test $(properties)
--- 38,44 ----
-Dinstall.directory=$(javadir)

clean distclean maintainer-clean:
! $(ANT) -buildfile $(srcdir)/build.xml clean_all

! check: build.properties
! $(ANT) -buildfile $(srcdir)/build.xml test

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Gerlits Andrs 2002-12-10 14:04:59 updatable (J2EE) resultsets
Previous Message Dave Cramer 2002-12-10 01:00:28 Re: PooledConnectionImpl problem