ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <dona...@locus.apache.org>
Subject Re: Role of scripts [was Re: increment task]
Date Fri, 27 Oct 2000 14:36:40 GMT
At 05:48  27/10/00 -0700, you wrote:
>I hope the list doesn't mind an "outsider" offering
>some thoughts on the issue of including scripting
>within Ant, but I am a major GNU make user (fan) who
>has spent part of the last two days evaluating Ant and
>trying to decide if it is "time to move on". 

the more opinions (especially from make fans) the better ;)

>Where I'm coming from: I have been the de facto build
>manager for about 5 projects in the > 100 KSLOC size

theres a telling sign and one of the reasons none of my java projects no
longer use make. In short Ant doesn't need (or shouldn't need) a build
manager because everyone should be able to  write build files - they
**should** be that simple ;)

>1) Language Consistency: I have found the fact that
>make assumes one scripting language, the Bourne shell,
...snip...

I agree here. Thou I would actually move away from java-like languages
because the main people who write build files around here are web
designers. There build files usually consist of moving/copying/compiling
files around and then deploying them to a webserver. While this use may be
a rare use case I believe it should still be supported. And thus a *simple*
scripting language should be chosen (python and javascript are two I see as
simple thou YMMV).

>2) Language Necessity: This is a tough one where I'm
>kinda on the fence. The more experience I gained over
>the years with make, the fewer embedded scripts I
>used. Yes, one must at some point invoke a command,
>but this is no different than the Ant <exec> facility,
>or the built-in actions. What I'm talking about is the
>use of "if", "while", "case", pipes, etc... procedural
>stuff. Once I realized that make is nothing more than
>a simple programming language with a limited but
>powerful set of operators (think Lisp), I began
>thinking about build system problems differently, and
>my makefiles got smaller and smaller, while becoming
>more correct and powerful. I also leveraged the GNU
>macros more fully, which are arguably a scripting
>language unto themselves, as with the Ant
>tasks/actions.

Right - the more you know the less you use scripts. I see that is the same
with ant - thou more so as it is not yet fully mature.

>I have seen a lot of bad makefiles with lots of
>scripting constructs, usually because the developer
>didn't "think" in the make "paradigm" (sorry about
>using that word ;-) ). However, the reason for this
>isn't really the fault of the developer; without a lot
>of experience, makefiles are damn hard to understand
>(again, think Lisp)! And so much goes on behind the
>scenes, making it very powerful, but intimidating to
>the uninitiated.

yep - have you ever tried to teach someone how a thousand file
multi-langueg build file works. Quite amusing the look one their face ;)

>>From what I've seen so far it appears that Ant is much
>easier to use than make (if I could only remember to
>close my elements ;-) ). But given what I've said so
>far, I still lean closer to the "add scripting" side
>of the fence, provided that procedural scripting is
>only necessary for the 1-5% of the cases. That means

scripting is there already (script task) but what is being discussed is
whether it should be promoted to core. I follow the 90/10 rule and if your
figures are right then scripting falls in 10 side so probably shouldn't be
core.

>Thoughts? I hope this was constructive.

yep - thanks for taking time to comment ;)

Cheers,

Pete

*------------------------------------------------------*
| "Nearly all men can stand adversity, but if you want |
| to test a man's character, give him power."          |
|       -Abraham Lincoln                               |
*------------------------------------------------------*

Mime
View raw message