On Wed, 7 Feb 2001, Tim Vernum wrote:
>OK, I don't want to start a war here, but I think that have mis-information on
>ant-user makes ant look bad.
I don't either, I am just tring to explain Ant's advantages.
>
>> 1. very easy to write and understand the build.xml file,
>> unlike the Makefiles.
>
>That is entirely subjective.
>Simple makefiles are easy to understand.
>Complex makefiles are necessarily complex, as are complex build.xml files.
>I use both, and I don't see the win here for ant.
>
>I would say that most java developers can pick up a build.xml file and "get it",
> while they would have difficulty (at first) understanding the equivalent makefile,
> but I also see a place for build engineers, so I don't see that aiming your build
> process to meet the needs of your least experienced developers is a good thing.
I think depending on a build-engineer for building a project
is very bad. Every developer on the project should be able
to change the build file, this will eliminate a lot of work
for the so called build engineer, and really, we don't need
a build engineer if we are using Ant.
>
>> 2. Ant is super fast. On an average, it is atleast 10 times
>> faster than make
>> files. See this article for why it is sooo fast:
>> http://www.lutris.com/journal/January2001/articles/antEnhydra.html
>> (You need to register with the Lutris Enhydra journal at
>> http://www.lutris.com/products/journal_registration.html)
>
>I'm still waiting for Lutris to mail me my username/password, so I can't
> judge this article, but the conclusion doesn't meet with my experience.
>GNUmake is faster on my celeron than ant is on my PIII.
You will have to definitely agree on this, after you read that article.
Here is an excerpt from that article:
"
* Ant works with groups of files rather than individual files.
With make you specify every file name that is built. With Ant
you say build all the Java files in this directory tree.
That turns 100 lines in 10 separate nested Makefiles into three
lines in one file. Of course, Ant has pattern matching rules to
include or exclude files.
* Passing a huge group of files to javac at once makes compilation
much faster. Ant is able to compile all of Enhydra in fifteen
minutes versus an hour and fifty with make. Rebuilds occur in
thirty seconds versus five minutes.
* The other big part of Ant's performance gain comes from doing
everything within a single Java process versus make which spawns
a separate process for each command it executes.
* Not only is Ant platform independent, it's development environment
independent. If half of your development team uses Linux/emacs and
the other half uses an IDE then you essentially have to maintain both
systems. Both Borland's JBuilder and Sun's Forte have plugins for Ant
enabling you to run them from within the IDE. With Ant your project has
one build file for all platforms and all development environments.
"
>Disclaimer: One of my hats is build engineer, and another is unix dude.
>Make is horrible and ugly, but it works, and is often mis-understood
>by people who have had bad experiences with it.
>Writing makefiles that work is a complicated process, but I don't find
> that writing ant files is much easier.
I am a software developer and I find writing build files for Ant
very very easy, compared to make files.
Shireesh Thanneru