>
>
>I stopped arguing this point, as I was the only one concerned apparently,
>but since Jose Alberto brings it up again...
>
>Having ${NAME} not evaluate to the value, if any, of the NAME property, at
>the time the task it's used in (<macrodef> is this case) is executed, is
>REALLY REALLY BAD in my sincere opinion. Maybe <foreach> does it, but that
>
>
>
I agree with you on this... I had to use foreach for the first time
recently and was astounded that it had been written that way. It
completely confuses the issue of property immutability, and makes the
parameter hard to find. You need to know what the argument is before you
look for it. Think about explaining property imutability to someone...
${foo.bar} can never change... exept when it isn't a property... "how do
I know it isn't a property?" they ask... The answer would be you just
have to know the tasks where ${foo.bar} might not be a property, and
check what the parameter name is. At that point the person you are
explaining this to rolls their eyes and says "Ugh. That is annoying" :)
I think macrodef should not duplicate this problem and if foreach ever
came into ant it should have a namechange and new parameter system.
-Gus
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org
|