Add uninstall target to Java build.

Respect default port setting in JDBC driver.
Pick up version number from Makefile.global.
Change installation directory to share/java/.
Document.
This commit is contained in:
Peter Eisentraut 2001-03-11 11:07:01 +00:00
parent 9c2c9fcdfb
commit 671be61916
6 changed files with 94 additions and 61 deletions

View File

@ -12,7 +12,7 @@
detect the presence of both the JDK and ANT, and if both are found
to build the jdbc driver and utils with the rest of postgresql.
$Id: build.xml,v 1.2 2001/03/05 09:38:54 peter Exp $
$Id: build.xml,v 1.3 2001/03/11 11:06:59 petere Exp $
-->
@ -69,6 +69,12 @@ e.g.
</antcall>
</target>
<target name="uninstall" if="install.directory">
<antcall target="call">
<param name="target" value="uninstall" />
</antcall>
</target>
<!--
This actually calls the other two build.xml files.
To use it, use the <antcall> tag, and pass the destination target

View File

@ -2,7 +2,7 @@
build file to build the donated retep tools packages
$Id: build.xml,v 1.3 2001/03/05 09:15:35 peter Exp $
$Id: build.xml,v 1.4 2001/03/11 11:06:59 petere Exp $
-->
@ -56,5 +56,12 @@
</copy>
</target>
</project>
<target name="uninstall" if="install.directory">
<delete>
<fileset dir="${install.directory}">
<include name="**/*.jar" />
</fileset>
</delete>
</target>
</project>

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.19 2001/02/24 12:40:27 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.20 2001/03/11 11:06:59 petere Exp $
-->
<chapter id="jdbc">
@ -53,55 +53,49 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.19 2001/02/24 12:40:27
<para>
Starting with <productname>PostgreSQL</productname> version 7.1,
the preferred way to build the <acronym>JDBC</acronym> driver is
using <productname>Ant</productname>, a special tool for building
the <acronym>JDBC</acronym> driver is built using
<application>Ant</application>, a special tool for building
Java-based packages. You should download
<productname>Ant</productname> from the <ulink
url="http://jakarta.apache.org/ant/index.html"><productname>Ant</productname>
web site</ulink> and install it before proceeding.
<application>Ant</application> from the <ulink
url="http://jakarta.apache.org/ant/index.html"><application>Ant</application>
web site</ulink> and install it before proceeding. Precompiled
<application>Ant</application> distributions are typically set up
to read a file <filename>.antrc</filename> in the current user's
home directory for configuration. For example, to use a different
<acronym>JDK</acronym> than the default, this may work:
<programlisting>
JAVA_HOME=/usr/local/sun-jdk1.3
JAVACMD=$JAVA_HOME/bin/java
</programlisting>
</para>
<para>
The build the driver, issue the command
The build the driver, add the <option>--with-java</option> option to your
<filename>configure</filename> command line, e.g.,
<screen>
<prompt>$</prompt> <userinput>ant</userinput>
<prompt>$</prompt> <userinput>./configure --prefix=<replaceable>xxx</replaceable> --with-java ...</userinput>
</screen>
in the top level directory of the
<productname>PostgreSQL</productname> source distribution.
</para>
<para>
To install the driver, enter the command
<screen>
<prompt>$</prompt> <userinput>ant -Dinstall.directory=<replaceable>mydir</replaceable> install</userinput>
</screen>
Replace <replaceable>mydir</replaceable> with a directory name of
your choice; the directory will be created if necessary. The
<productname>PostgreSQL</productname> <acronym>JDBC</acronym>
driver consists of a <filename>postgresql.jar</filename> file that
will be copied to that directory.
</para>
<para>
Alternatively, you can use the old <command>make</command>-based
interface. The driver's source is located in the <filename
class="directory">src/interfaces/jdbc</filename> directory of the
source tree. To compile, simply change directory to that
directory, and type:
<screen>
<prompt>$</prompt> <userinput>gmake</userinput>
</screen>
(Remember to use <acronym>GNU</acronym> make.) Upon completion,
you will find the archive <filename>postgresql.jar</filename> in
the current directory. This is the <acronym>JDBC</acronym> driver,
which you can copy to an appropriate directory in your system.
This will build and install the driver along with the rest of the
<productname>PostgreSQL</productname> package when you issue the
<literal>gmake</literal> and <literal>gmake install</literal>
commands. If you only want to build the driver and not the rest
of <productname>PostgreSQL</productname>, change into the
directory <filename
class="directory">src/interfaces/jdbc</filename> and issue the
respective <literal>make</literal> command there. Refer to the
<productname>PostgreSQL</productname> installation instructions
for more information about the configuration and build process.
</para>
<note>
<para>
You must not use <command>javac</command> directly, as the
driver uses some dynamic loading techniques for performance
reasons, and <command>javac</command> cannot cope.
Do not try to build by calling <command>javac</command> directly,
as the driver uses some dynamic loading techniques for
performance reasons, and <command>javac</command> cannot cope.
Do not try to run <command>ant</command> directly either, because
some configuration information is communicated through the
makefiles. Running <command>ant</command> directly without
providing these parameters will result in a broken driver.
</para>
</note>
</sect2>
@ -114,7 +108,12 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.19 2001/02/24 12:40:27
<filename>postgresql.jar</filename> needs to be included in the
class path, either by putting it in the <envar>CLASSPATH</envar>
environment variable, or by using flags on the
<command>java</command> command line.
<command>java</command> command line. By default, the jar archive
is installed in the directory <filename
class="directory">/usr/local/pgsql/share/java</filename>. You may
have it in a different directory if you used the
<option>--prefix</option> option when you ran
<filename>configure</filename>.
</para>
<informalexample>
@ -128,7 +127,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/Attic/jdbc.sgml,v 1.19 2001/02/24 12:40:27
<filename>/usr/local/jdk1.1.6</filename>. To run the
application, I would use:
<programlisting>
export CLASSPATH=/usr/local/lib/finder.jar<co id="co.jdbc-finder">:/usr/local/lib/postgresql.jar:.
export CLASSPATH=/usr/local/lib/finder.jar<co id="co.jdbc-finder">:/usr/local/pgsql/share/java/postgresql.jar:.
java uk.org.retep.finder.Main
</programlisting>
<calloutlist>

View File

@ -4,7 +4,7 @@
#
# Copyright (c) 1994, Regents of the University of California
#
# $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/Makefile,v 1.27 2001/03/05 09:39:53 peter Exp $
# $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/Makefile,v 1.28 2001/03/11 11:07:00 petere Exp $
#
#-------------------------------------------------------------------------
@ -12,17 +12,28 @@ subdir = src/interfaces/jdbc
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
all distprep:
@$(ANT) -buildfile $(top_builddir)/build.xml
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/')
install:
@$(ANT) -Dinstall.directory=$(DESTDIR)$(libdir)/java \
-buildfile $(top_builddir)/build.xml \
install
properties := -Dmajor=$(majorversion) -Dminor=$(minorversion) \
-Dfullversion=$(VERSION) \
-Ddef_pgport=$(DEF_PGPORT)
installdirs uninstall dep depend:
@echo Nothing for JDBC
all:
$(ANT) -buildfile $(top_srcdir)/build.xml $(properties)
install: installdirs
$(ANT) -Dinstall.directory=$(DESTDIR)$(datadir)/java \
-buildfile $(top_srcdir)/build.xml \
install $(properties)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(datadir)/java
uninstall:
$(ANT) -Dinstall.directory=$(DESTDIR)$(datadir)/java \
-buildfile $(top_srcdir)/build.xml \
uninstall
clean distclean maintainer-clean:
@$(ANT) -buildfile $(top_builddir)/build.xml clean
$(ANT) -buildfile $(top_srcdir)/build.xml clean

View File

@ -3,7 +3,7 @@
build file to allow ant (http://jakarta.apache.org/ant/) to be used
to build the PostgreSQL JDBC Driver.
$Id: build.xml,v 1.7 2001/03/05 09:40:01 peter Exp $
$Id: build.xml,v 1.8 2001/03/11 11:07:00 petere Exp $
-->
@ -14,8 +14,6 @@
<property name="jars" value="jars" />
<property name="dest" value="build" />
<property name="package" value="org/postgresql" />
<property name="major" value="7" />
<property name="minor" value="1" />
<!--
defaults for the tests - overide these if required
@ -68,8 +66,9 @@
<!-- Some defaults -->
<filter token="MAJORVERSION" value="${major}" />
<filter token="MINORVERSION" value="${minor}" />
<filter token="VERSION" value="PostgreSQL ${major}.${minor} ${edition}" />
<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 -->
@ -153,6 +152,17 @@
</copy>
</target>
<!--
Uninstall the jar file.
-->
<target name="uninstall" if="install.directory">
<delete>
<fileset dir="${install.directory}">
<include name="**/*.jar" />
</fileset>
</delete>
</target>
<!--
This compiles and executes the JUnit tests
-->

View File

@ -351,7 +351,7 @@ public class Driver implements java.sql.Driver
*/
public int port()
{
return Integer.parseInt(props.getProperty("PGPORT","5432"));
return Integer.parseInt(props.getProperty("PGPORT","@DEF_PGPORT@"));
}
/**