You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Lance Hankins <lh...@focus-technologies.com> on 2001/06/08 19:22:58 UTC

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 :
  a.. Do any of you have any advice on how to wage this argument (aside from
"Ant is cross platform, make is not")...?
  b.. 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.
  c.. 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 Hankins

Focus Technologies LLC
www.focus-technologies.com

Phone : 972-396-2064
Fax : 972-396-9283
Cell : 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


Re: Need Ammo in Make vs. Ant argument...

Posted by Kasper Nielsen <ne...@kav.dk>.
point them to http://www.sunsource.net :

> Open source projects Sun is involved in
> * Ant
>  A Java Based Build Tool

or to  http://www.sun.com/software/communitysource/j2ee/readme.html#8



- Kasper

>   b.. 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.
> 


Re: Need Ammo in Make vs. Ant argument...

Posted by Eric Richardson <er...@milagrosoft.com>.
Hi,
In my previous job we had a build using make that took 2 hours as it
called javac over and over again as a subprocess to make.

We changed to ant and the build took 1 min and 40 seconds. The decision
was easy. I have to say that today's ant is much more complicated but
more powerful as well.

Eric

Re: Need Ammo in Make vs. Ant argument...

Posted by Roger Vaughn <ro...@yahoo.com>.
I know this isn't a helpful argument, but...

And make *is* supported?  When was the last time you
got a support organization to change make for you? 
The best (IMHO) implementation of make is also free
and "unsupported" - it's from GNU.  You will get
better and more responsive (and cheaper ;)) support
from this list for Ant than you will get from a
commercial company for make.  Their only motivation is
to turn a profit, and let's face it, make is not a
profit-generating product.

This argument works on people with common sense, but
unfortunately is usually useless against management
types.  (Read that however you like. ;))

Honestly, you might want to consider a hybrid.  No
offense listers, but Ant absolutely sucks at C/C++
builds.  It's absolutely wonderful for Java and
general file maintenance (i.e. copying files).  For
general target matching, though, it isn't great.  You
could write your own tasks to do C/C++ much better,
but they don't exist today.  (*That's* the real beauty
of Ant - extensibility.)

Because of this, I've used the make/Ant hybrid
approach a few times.  You can have Ant call make, or
probably better in your case, have make call Ant. 
(That way your developers may never know, and you can
show your managers that you're still using make. ;)) 
If you do this, put your Java bits in Ant, and your
C++ bits in make.

I hope this helps.

roger


__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35 
a year!  http://personal.mail.yahoo.com/