Well,
I've been building SCM/Build infrastructures for people for 12
years
now,
let me put it to you this way:
If
your project is largely Java based, ant is hard to beat, despite its many
faults
*simply because of the javac task* that alone makes it
appropriate to replace
make
with Ant *for Java based projects*.
As for
"free and unsupported" I'd agree with the "free" part, I'd argue the
unsupported,
if ant
is unsupported, then so is the *only* make worth considering: GNUmake
since
it is
the only make that runs on *every* platform you might consider *and* it has
the
power
to enable a decent, maintainable build system with the majority of the
work
in
template makefiles that are included by all other makefiles.
As for
performance ant vs. make, it is quite true that a poorly written ant file will
outperfom the average make-based build (of a java
project) 10x or better. I will say that
I have
make-based builds of 100KLOC+ projects that take < 3 seconds to determine
nothing needs to be done, ant cannot do that. The
trick is to *not* fall into the common
trap
of writing recursive makefiles, which not only throw performance out the
window
due to
process setup/teardown overhead in the OS, but also force an artificial
dependency
management scheme.
Finally, if your project is *not* Java based, or at
least 90% java based, Ant is the wrong
hammer. Look into cons if you want a truly
innovative make replacement for traditional
projects: http://www.dsmit.com/cons/ you won't
be sorry -- I keep wishing that the
Ant
development community would take a page out of cons' book, it would truly be
a
great tool to combine some of the ideas of ant with the ideas of
cons...
One of
these days, when I'm not working 12+ hour days on a contract, I'll take the
time
out
and create my own make replacement based on cons but borrowing liberally
from
the
ideas in ant...
-Peter
---
Peter A. Vogel
Manager, Configuration
Management
Arsin Corporation, Professional Services
http://www.arsin.com
-----Original Message-----
From: Lance Hankins [mailto:[EMAIL PROTECTED]
Sent: Friday, June 08, 2001 10:23 AM
To: ant-user@jakarta.apache.org; [EMAIL PROTECTED]
Subject: Need Ammo in Make vs. Ant argument...Guys,I'm working for a large telecomm client as one of the lead developers on a relatively new J2EE project. We've just finished putting together Ant scripts for our build process and I think Ant is great - its so much better than Make IMO. We're in the early stages of the project, and the core team is just releasing our initial "baseline" to the rest of the developers so that they can begin working on the vertical functionality.
Now I'm getting pushback from the management and CM organizations because they don't want to use Ant (my perception on this is that they don't really know what Ant is, aside from a "replacement for Make"). They've made statements like they don't want to use Ant because its "free and not supported". They are decreeing that everyone shall use Make.Don't get me wrong - I think standards are needed in large organizations, but there comes a time when you must re-evaluate all such policies and decide if its time to adapt them to use more contemporary tools.From my perspective, our build process is like driving a nail into a board. Ant is a hammer, and Make is a big rock. Sure I can use the Rock to drive the nail, but it would be a lot easier if you'll let me use the more appropriate tool.
My questions :
- Do any of you have any advice on how to wage this argument (aside from "Ant is cross platform, make is not")...?
- Is there any literature out there which endorses Ant as the recommended build tool for Java projects? This would be helpful in legitimizing Ant as an option.
- Ant has a lot of built in support for Java and J2EE based builds, how effective is it at building C++ based stuff (particularly with large CORBA based systems). We have a very heterogeneous environment here (C++ systems, CORBA/C++ systems, CORBA/Java systems, J2EE based systems, etc).
Any ammunition will be greatly appreciated :)Thanks,Lance HankinsFocus Technologies LLCPhone : 972-396-2064Fax : 972-396-9283Cell : 214-616-7064"To only a fraction of the human race does God give the privilege of earning one's bread doing what one would have gladly pursued for free, for passion." - Fred Brooks