Thread: Ant installation (and other) issues!

Ant installation (and other) issues!

From
Per-Olof Norén
Date:
Hi all,
I have been listening to the discussions about Ant and the build system.
I think that the discussion is missing a point, which I will try to make here :-)
 
1. Standard
The Ant build system is making its way to be a "de facto" standard for building java applications as
it is built for the purpose.
 
2. Integration
In the apache cocoon project, the ant build system jar is shipped along with the distribution and
does not require a separate installation of Ant on the target system.  The Ant shell script is customized
so that the JAVA_HOME environment is the only parameter to set.
 In the case of postgreSQL driver this could be done by invoking the "pgcustom" ant build from the gnu configure/make
when configuring with the "--with-java" parameter.
 
3. Platforms
I´m sure everyone agrees that providing a working java compiler should be out of scope for the build system.
Since the ant jar is shipped along, with its own build scripts (.bat and .sh) the build of the driver need not to differ
for the platform used.
 
4. Other things not particulary related to the build
The build script should, IMHO, NOT replace good implementation and structured design of the driver packages.
 
 
A little note on the server and the driver as a substitute for Oracle.
Everytime a get a chance, I spread the word of this wonderful database and people wonder "why not MySQL?"
I tell them to look a the benchmarking test made by different users, to look at the SQL 9x compliance and
to realize the size of the devel community for pgsql and the jdbc driver.
As the postgis project evolves with its spatially enabling extension to the driver,  the driver´s  compliance
to the API compared to commercial  dmses will be IMHO one of the success factors for providing a rock solid
open source alternative. I Can´t help it, I Just love this Server AND Driver.
 
Thanx for listening :-)
 
Per-Olof Norén
Stockholm
 

Re: Ant installation (and other) issues!

From
Peter Eisentraut
Date:
Per-Olof Norén writes:

> The Ant build system is making its way to be a "de facto" standard for building java applications as
> it is built for the purpose.

Make as been the standard for building any application for about 30 years.
GNU-style configure has been the standard for configuration management for
about 10 years.  Windows NT and Visual Basic have been the standard for
enterprise computing for 5 years.  Thank you very much. ;-)

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


OT Re: Ant installation (and other) issues!

From
Ned Wolpert
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On 21-Oct-2001 Peter Eisentraut wrote:
> Per-Olof Nor�n writes:
>> The Ant build system is making its way to be a "de facto" standard for
>> building java applications as it is built for the purpose.
>
> Make as been the standard for building any application for about 30 years.
> GNU-style configure has been the standard for configuration management for
> about 10 years.  Windows NT and Visual Basic have been the standard for
> enterprise computing for 5 years.  Thank you very much. ;-)

And I thought Java was the standard for enterprise computering long before
Visual Basic. :-)  [Corba? What's Corba?  CICS anyone?]

I guess standards are what I use, and everyone else is violating them. ;-)

[Sorry, couldn't resist...]


Virtually,
Ned Wolpert <ned.wolpert@knowledgenet.com>

D08C2F45:  28E7 56CB 58AC C622 5A51  3C42 8B2B 2739 D08C 2F45
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE71Hn1iysnOdCML0URAtdAAJ9Zikvs/jCqqG6IG1I9ltdBukiIlACeJRtz
QHCZWyBV04b/F7KabTA0Htc=
=S1Xx
-----END PGP SIGNATURE-----

Re: Ant installation (and other) issues!

From
Barry Lind
Date:

Per-Olof Norén wrote:

> Hi all,
>
> I have been listening to the discussions about Ant and the build system.
>
> I think that the discussion is missing a point, which I will try to make
> here :-)
>
>
>
> 1. Standard
>
> The Ant build system is making its way to be a "de facto" standard for
> building java applications as
>
> it is built for the purpose.
>


This may be the heart of the problem.  Some people see Ant as
problematic because it isn't the standard build tool used for Postgres.
  Others see make as problematic because it isn't a standard for
building java applications (although I know of as many java apps built
with make as with Ant personally).  But the jdbc driver for postgres is
both a postgres component and in java.

thanks,
--Barry



Re: Ant installation (and other) issues!

From
Bruce Momjian
Date:
> Per-Olof Nor?n writes:
>
> > The Ant build system is making its way to be a "de facto" standard for building java applications as
> > it is built for the purpose.
>
> Make as been the standard for building any application for about 30 years.
> GNU-style configure has been the standard for configuration management for
> about 10 years.  Windows NT and Visual Basic have been the standard for
> enterprise computing for 5 years.  Thank you very much. ;-)

A more important point is that we are not a java-only codebase.  If we
were, I could see a stronger argument for Ant.  As it is now, we have to
weigh using a Java-standard Ant vs. a PostgreSQL/C-standard makefile
solution.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: Ant installation (and other) issues!

From
Gunnar Rønning
Date:
* Peter Eisentraut <peter_e@gmx.net> wrote:
|
| Per-Olof Norén writes:
|
| > The Ant build system is making its way to be a "de facto" standard for building java applications as
| > it is built for the purpose.
|
| Make as been the standard for building any application for about 30 years.
| GNU-style configure has been the standard for configuration management for
| about 10 years.  Windows NT and Visual Basic have been the standard for
| enterprise computing for 5 years.  Thank you very much. ;-)

I can't your point or the joke, please enlighten me ;-)

make is AFAIK the most common build program, but that doesn't mean
that the tool is ideal everywhere. Progress is possible you know, evolutionary
or revolutionary. GNU Make has been evolutionary, Ant is revolutionary.

configure management is certainly a lot more than configure. I would
argue that CVS is the most important configuration management tool, but the
issue is of course broader.

But anyway this off topic, what need to have is a build process that works
nicely and I think including the ant binaries(around 500k) would be the
best solution here.

--
Gunnar Rønning - gunnar@polygnosis.com
Senior Consultant, Polygnosis AS, http://www.polygnosis.com/

Re: Ant installation (and other) issues!

From
Marko Kreen
Date:
On Sat, Oct 20, 2001 at 03:54:12PM +0200, Per-Olof Norén wrote:
> Hi all,
> I have been listening to the discussions about Ant and the build system.
> I think that the discussion is missing a point, which I will try to make here :-)

[ points for using Ant ]

I would describe current JDBC build topic in 4 points:

* What the JDBC developers find themselves comfortable with when
  developing the driver.  This seems to be Ant-based build
  process.

* What the PostgreSQL core developers find themselves
  comfortable with.  This means keeping the overall PostgreSQL
  build process complexity down and making the general
  './configure;make;make install' as smooth as possible.
  As the rest of the PostgreSQL uses make, it would be simpler
  for them to use make for Java too.

* Special case: general UN*X system, Java but no Ant.  How
  probable this is?  User probably wants to compile all of
  PostgreSQL distribution.  One solution is to include Ant
  .jars in PostgreSQL source.

* Special case: non-Unix system, Unix tools are hard to use,
  Ant is easier.  How probable this is?  User is hacking only
  JDBC.

I sent a patch earlier which solves the above problems by
using both Ant and make to compile JDBC: when driver is
compiled with rest of the PostgreSQL, the build is make-only,
but it also makes Ant-only build possible by preparing
ant.cfg file with configure variables.

But this has new problem: now two build systems must be
maintained.  Whether this is acceptable depends on how complex
they are and how often they must be modified.  I tried to
keep the make variant as simple as possible: no dependencies
need to be tracked specially, only few special files are
mentioned explicitly.

On what direction to take the final word must be said by JDBC
developers, as they are most affected by it.

--
marko


Re: Ant installation (and other) issues!

From
Tom Lane
Date:
Gunnar =?iso-8859-1?q?R=F8nning?= <gunnar@polygnosis.com> writes:
> But anyway this off topic, what need to have is a build process that works
> nicely and I think including the ant binaries(around 500k) would be the
> best solution here.

500k of binaries?  You just lost the argument.  That's not an acceptable
amount of overhead to add to the Postgres distribution.

            regards, tom lane

Re: Ant installation (and other) issues!

From
Ned Wolpert
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On 22-Oct-2001 Bruce Momjian wrote:
> A more important point is that we are not a java-only codebase.  If we
> were, I could see a stronger argument for Ant.  As it is now, we have to
> weigh using a Java-standard Ant vs. a PostgreSQL/C-standard makefile
> solution.

Yes, which goes back to my original question.  Would someone want to build the
JDBC driver without building the rest of postgresql?  If this is the case, then
we need to make sure that we provide the tools needed build the JDBC driver in
this type of environment.  If this is not the case, then it doesn't/shouldn't
matter, since the build is directly linked to postgresql.

Let me ask people this question: Do we support building of the JDBC driver
externally to building postgresql?  Or, do we 'ship' or otherwise make available
the various JDBC driver in pre-build jar/binaries?

Up to this point, people have basically been expected to get the latest JDBC
driver from CVS and re-build it.  If this is expected to continue, I recomend
making the JDBC driver easy to build outside of the postgresql project.
However, if the releases will start to contain all the fixes from 7.2 and
beyond, then it doesn't matter to non-postgresql developers as much.  (It may
still matter, but its less of a big deal.)

(Personally, I love Ant as a development tool.  But the quality of Ant isn't
the issue here, its ease of development.  Multiple build-tools can create
confusion. If 'from now on', we don't expect individuals to build the JDBC
driver on their own, but use binaries, than simplfying the build procedure by
only using make should be fine.)


Virtually,
Ned Wolpert <ned.wolpert@knowledgenet.com>

D08C2F45:  28E7 56CB 58AC C622 5A51  3C42 8B2B 2739 D08C 2F45
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE71KimiysnOdCML0URAmjZAJ9n4FjIXYrdN8rCvciEOSwag8QJZACfZhwO
OYeJZf/BynzKO18trG5y9yM=
=sDRr
-----END PGP SIGNATURE-----

Re: Ant installation (and other) issues!

From
Bruce Momjian
Date:
> Gunnar =?iso-8859-1?q?R=F8nning?= <gunnar@polygnosis.com> writes:
> > But anyway this off topic, what need to have is a build process that works
> > nicely and I think including the ant binaries(around 500k) would be the
> > best solution here.
>
> 500k of binaries?  You just lost the argument.  That's not an acceptable
> amount of overhead to add to the Postgres distribution.

It is actually the libraries:

#$ l /u/ant/lib/
total 650
-rw-r--r--  1 root  wheel     151 Oct  9 23:16 README
-rw-r--r--  1 root  wheel  416389 Oct  9 23:16 ant.jar
-rw-r--r--  1 root  wheel  196399 Oct  9 23:16 crimson.jar
-rw-r--r--  1 root  wheel   33323 Oct  9 23:16 jaxp.jar

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: Ant installation (and other) issues!

From
Gunnar Rønning
Date:
* Tom Lane <tgl@sss.pgh.pa.us> wrote:
|
| Gunnar =?iso-8859-1?q?R=F8nning?= <gunnar@polygnosis.com> writes:
| > But anyway this off topic, what need to have is a build process that works
| > nicely and I think including the ant binaries(around 500k) would be the
| > best solution here.
|
| 500k of binaries?  You just lost the argument.  That's not an acceptable
| amount of overhead to add to the Postgres distribution.

Maybe another reason to look into less monolithic approaches. Both in terms
of project distribution and release cycles, I still think a decoupling the
JDBC interface from the main distribution is a good idea ;-)


--
Gunnar Rønning - gunnar@polygnosis.com
Senior Consultant, Polygnosis AS, http://www.polygnosis.com/

Re: Ant installation (and other) issues!

From
Per-Olof Norén
Date:
Seems like the debate has flared again.

----- Original Message -----
From: "Tom Lane" <tgl@sss.pgh.pa.us>
To: "Gunnar Rønning" <gunnar@polygnosis.com>
Cc: "Peter Eisentraut" <peter_e@gmx.net>; "Per-Olof Norén" <pelle@alma.nu>;
<pgsql-jdbc@postgresql.org>
Sent: Tuesday, October 23, 2001 1:22 AM
Subject: Re: [JDBC] Ant installation (and other) issues!


> Gunnar =?iso-8859-1?q?R=F8nning?= <gunnar@polygnosis.com> writes:
> > But anyway this off topic, what need to have is a build process that
works
> > nicely and I think including the ant binaries(around 500k) would be the
> > best solution here.
>
> 500k of binaries?  You just lost the argument.  That's not an acceptable
> amount of overhead to add to the Postgres distribution.

I don´t see why the size of ant will be a problem. Could you please explain
to me?



Re: Ant installation (and other) issues!

From
"Michael Ansley (UK)"
Date:

Why is this such a big issue?  Shipping the Ant binary would be like shipping the make binary, which seems silly to me.  However, I would far prefer to use Ant to build the JDBC driver.  So, is it not possible to simply maintain a Makefile.in, and a build.xml, and then people can specify --with-java-ant or --with-java-make on the configure command line?  And if you specify --with-java without specifying a build tool, then it uses make.  And the build.xml should be for the current production version of Ant, unless otherwise agreed by the developers for some or other good reason.

At the end of the day, there are some versions of make which just won't build Postgres, because of some or other proprietary stuff, or because they are buggy, or whatever.  Same goes for Ant.  If you want to use Ant, you either use the latest production release, or you're on your own.

What's the big deal?  I'm sure there is at least one person in each 'camp' who is willing to maintain the Makefile.in or build.xml respectively.  Isn't there?

MikeA

-----Original Message-----
From: Per-Olof Norén
To: Gunnar Rønning; Tom Lane
Cc: pgsql-jdbc@postgresql.org
Sent: 10-23-01 9:38 AM
Subject: Re: [JDBC] Ant installation (and other) issues!

Seems like the debate has flared again.

----- Original Message -----
From: "Tom Lane" <tgl@sss.pgh.pa.us>
To: "Gunnar Rønning" <gunnar@polygnosis.com>
Cc: "Peter Eisentraut" <peter_e@gmx.net>; "Per-Olof Norén"
<pelle@alma.nu>;
<pgsql-jdbc@postgresql.org>
Sent: Tuesday, October 23, 2001 1:22 AM
Subject: Re: [JDBC] Ant installation (and other) issues!

> Gunnar Rønning <gunnar@polygnosis.com> writes:
> > But anyway this off topic, what need to have is a build process that
works
> > nicely and I think including the ant binaries(around 500k) would be
the
> > best solution here.
>
> 500k of binaries?  You just lost the argument.  That's not an
acceptable
> amount of overhead to add to the Postgres distribution.

I don´t see why the size of ant will be a problem. Could you please
explain
to me?

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

This e-mail and any attachments are confidential and may also be privileged and/or copyright
material of Intec Telecom Systems PLC (or its affiliated companies). If you are not an
intended or authorised recipient of this e-mail or have received it in error, please delete
it immediately and notify the sender by e-mail. In such a case, reading, reproducing,
printing or further dissemination of this e-mail is strictly prohibited and may be unlawful.
Intec Telecom Systems PLC. does not represent or warrant that an attachment hereto is free
from computer viruses or other defects. The opinions expressed in this e-mail and any
attachments may be those of the author and are not necessarily those of Intec Telecom
Systems PLC.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

Re: Ant installation (and other) issues!

From
Rene Pijlman
Date:
On Mon, 22 Oct 2001 19:22:19 -0400, Tom Lane wrote:
>500k of binaries?  You just lost the argument.  That's not an acceptable
>amount of overhead to add to the Postgres distribution.

Why? 500K can easily fit on a floppy, and that's technology from
the 1980's.

Regards,
René Pijlman <rene@lab.applinet.nl>

Re: Ant installation (and other) issues!

From
Barry Lind
Date:
Because many developers of postgres work over dialup modems at speeds of
32k.  500KB over a 32Kb line is a problem.  Especially if you aren't
even planning on using jdbc, you still pay the price when doing a CVS
checkout.

--Barry


Rene Pijlman wrote:

> On Mon, 22 Oct 2001 19:22:19 -0400, Tom Lane wrote:
>
>>500k of binaries?  You just lost the argument.  That's not an acceptable
>>amount of overhead to add to the Postgres distribution.
>>
>
> Why? 500K can easily fit on a floppy, and that's technology from
> the 1980's.
>
> Regards,
> René Pijlman <rene@lab.applinet.nl>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>
>