Re: [PATCHES] Ant configuration - Mailing list pgsql-jdbc

From Peter Eisentraut
Subject Re: [PATCHES] Ant configuration
Date
Msg-id Pine.LNX.4.30.0110191839300.640-100000@peter.localdomain
Whole thread Raw
In response to Re: [PATCHES] Ant configuration  ("Dave Cramer" <Dave@micro-automation.net>)
Responses Re: [PATCHES] Ant configuration  (Gunnar Rønning <gunnar@polygnosis.com>)
Re: [PATCHES] Ant configuration  ("Dave Cramer" <Dave@micro-automation.net>)
List pgsql-jdbc
Dave Cramer writes:

> The one issue I have with a non ant based build system is that it makes
> it difficult to build the driver on a windows machine.

That is a valid concern that we're going to have to think about
before we move to another method.

> What problems does ant present?

* Ant needs to be installed.  Of course this is not that much of a
problem because you can simply install it.  However, in automated build
environments this might not be so easy, so people are just going to opt to
leave out the JDBC driver.

* Ant doesn't provide an exit status; you have to watch the build to see
if it works.  This is unacceptable.

* Ant is buggy.  We've had numerous reports of people having trouble
with it for no apparent reason.  I can also confirm from my own experience
that numerous things don't seem to work the way they should work.

* In numerous attempts I have failed to convince Ant to place the built
files in a tree different from the source tree.  This really makes it a
pain to build for multiple architectures (in Java, architecture =
different jdk).

* Ant doesn't support gcj last I checked.  This is a real tragedy because
gcj is the only free(tm) Java compiler available that seems to have a real
future.  Ant doesn't support Kaffe very well, btw.

* The Ant language is not nearly as powerful as the stuff you can do in
Makefiles.

* Ant is, well, different.  I have personally spent a lot of effort to
make all parts of PostgreSQL build the same way.  Every new language has
to reinvent configuration and build management:  Perl MakeMaker -- total
junk, Python distutils -- no thanks, Tcl -- well, at least they had the
right idea.  Ant -- one more thing to go wrong.  Currently, everything you
want to switch and change about the build of PostgreSQL you communicate to
the configure script.  How do you change the Java compiler?  Good question
-- not even the Ant manual can answer that because it depends on your
particular distribution.

The problem is that Ant is a completely new and different tool that we
have to deal with, but it doesn't actually solve a problem that hasn't
been solved already.

--
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter


pgsql-jdbc by date:

Previous
From: Gunnar Rønning
Date:
Subject: Re: [PATCHES] Ant configuration
Next
From: Peter Eisentraut
Date:
Subject: Re: Whatever ... JDBC build patch