ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gus Heck <>
Subject Re: [new tasks] presetdef and macrodef
Date Mon, 25 Aug 2003 16:00:27 GMT
>>Templates appear to be something new, though I don't think I 
>>like them 
>>(see below)
>>> (1) --> ${xyz}
>>> (2) --> ${macroattr:xyz}
>>> (3) --> ${macrotemplate:xyz}
>Well, as I said I use those terms above just as examples, I am not
>hookup in words, 
>I was just looking for some identifier to describe them. Still the
>I am expressing are very clasical ones, these are not things out of the
I would personally prefer a slightly more distinct syntax that didn't 
use ${} for things that arn't exactly properties. Looking at it another 
way: your suggestion is a half-magic property :) It reserves property 
names starting with macroattr: and macrotemplate: as special, and 
different from other properites.

>>If macro definitions are available to sub builds, then your 3rd case 
>>might occur, but I don't think it would be good to allow macros to be 
>>called across build file boundaries. builds would be almost 
>>unintelligible without tracking down the macros from other files.
>This is all regular kosher ANT stuff, up to this day, <taskdef/>s get
>inherited, they do not need to be redeclared for the task to be
>during the <antcall/>. Are you proposing that we have a different,
>special case,
>semantics for <macrodef>?
I hadn't realized that taskdefs did this, but if it were up to me I 
wouldn't have designed it this way. I would prefer to see the taskdefs 
in each build file, so that I don't have to find out who's calling the 
buildfile to find out where to find out what the task does. Any time you 
get that many find-outs in a sentance it is clearly a royal pain in the 
making (imho). :).

In otherwords, I would have prefered the simple rule, "if it isn't part 
of the standard distro of ant, there will be a taskdef in the build to 
tell you what it is." I don't think saving a few extra lines of typing 
(or cut/paste) for the taskdefs is really worth making the build 
unreadable without reference to another build (which won't be known 
unless it appears in a comment).

I havn't followed the antlib topic closely enough (I havn't followed it 
at all really because of the sheer volume of mail on those threads, and 
the need to get some of my own work done :) ), but I get the impression 
that antlib might reasonably eliminate the taskdef stuff by creating a 
single place to look for definitions of things that arn't part of the 
standard distro. and that would be fine. I only object to having to 
having the builds depend on things defined in other builds with no 
pointer to the definition (or standard location for the definition).


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message