ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roger Vaughn <>
Subject RE: if and unless attributes for all Tasks
Date Wed, 16 May 2001 14:41:59 GMT
--- Jose Alberto Fernandez <>
> How understandable build files will be depend on our
> choices. If I write
> targets where every <task> has a different if/unless
> condition, what does
> that tell me about the readability of the build
> file. It looks like
> spaggetti code to me. I think the granularity is too
> low. By having
> if/unless at <target> level, you still can write
> spaggetti code, but it will
> make you think: "Do I really need to do it this
> way?" And that is what makes
> code understandable and maintainable, you have to
> stop and think.

You can obsfucate anything if you try.  For instance,
it is entirely possible to specify one task per
target, and link them all up with dependencies.  We
don't do that because it's harder to understand.  But
it's certainly a simpler, more declarative model than
multiple sequential tasks per target.

I'm going to come out on the side of more features,
more power, and more flexibility every single time. 
There is always some rube who is going to program
himself into a real mess, but I don't think that's
sufficient excuse to deny others of us flexible tools.
 FWIW, I feel exactly the same way about Java vs. C++,
even though I do the majority of my work in Java these

BTW, I'm still hoping for mutable properties (or
perhaps a separate set of variables.)  ;)  Used
*judiciously*, they can, in certain situations,
simplify scripts quite a bit.  Now, if someone goes
wild and creates what you describe above, well then,
that's his fault, not mine.  This isn't a support
organization, so I don't think protecting users from
themselves should be the team's first concern.

There's a certain arrogance here that's frequently
annoying.  The refrain "we don't think you should do
that, so Ant won't include it" is heard pretty
frequently.  I understand reluctance to implement
difficult or basis-shattering features (like
templates), but for simple things, I just don't get
it.  Come on guys, be open to new ideas and different
ways of doing things.  If anyone finds this insulting,
well, I'm sorry, but that's what I see.


Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices

View raw message