hi,
this would be great !
recently, i had exactly that problem (setting a "temp" property in a
<macrodef/>) ... i had to use <antcall/> as work-around :(
regards,
seb
On Mon, 23 Aug 2004 14:08:06 -0400
"Inger, Matthew" <Inger@Synygy.com> wrote:
> Perhaps that could be a future requirement, to allow for the user
> to choose which behavior he/she wants.
>
> It would be nice if project had a notion of a stackable variable
> scope:
>
> public class VariableScope {
> // add fields and accessors for properties, refs, taskdefs, etc...
> }
>
> public class StackedVariableScope {
> private VariableScope current;
> private Stack stack;
>
> public void push(boolean inheritAll, boolean inheritRefs) {
> stack.push(current);
> VariableScope scope = new VariableScope();
> if (inheritAll) {
> // copy from current to scope
> }
> if (inheritRefs) {
> // copy from current to scope
> }
>
> current = scope;
> }
>
> public void pop() {
> current = (VariableScope)stack.pop();
> }
> }
>
> Not only would this allow macros to make the decision
> i mentioned above (by being able to push before macro exec,
> and pop afterwards), but would also probably simplify, and
> speed up the execution of <antcall>, as it wouldn't need to
> create a completely new copy of the project.
>
> Perhaps a refactoring for Ant 1.7?
>
> -----Original Message-----
> From: Jeffrey Bacon [mailto:jbacon@magmic.com]
> Sent: Monday, August 23, 2004 2:02 PM
> To: Ant Users List
> Subject: Re: Target or macrodef?
>
>
> > can be much more time consuming. Keep in mind however (and someone
> > correct me if i'm wrong), that any properties you set in a macro
> > will
> > also get set for the calling target, which can be problematic.
>
> or advantageous... =)
>
> --
> Jeffrey Bacon
> jbacon@magmic.com
> Creative Developer
> http://www.magmic.com
>
>
> >
> >
> > -----Original Message-----
> > From: Dick, Brian E. [mailto:Brian.Dick@FMR.com]
> > Sent: Monday, August 23, 2004 1:57 PM
> > To: Ant Users List
> > Subject: Target or macrodef?
> >
> >
> > I have a piece of code that I need to call repeatedly. The code has
> > three simple arguments. I can write the code as a target or as a
> > macrodef. What should I consider when choosing between these two
> > implementations?
> >
> > -------------------------------------------------------------------
> > --
> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> > For additional commands, e-mail: user-help@ant.apache.org
> >
> > -------------------------------------------------------------------
> > --
> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> > For additional commands, e-mail: user-help@ant.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
>
--
"Perfection is achieved, not when there is nothing left to add,
but when there is nothing left to take away."
--- Antoine de St. Exupery, Wind, Sand, and Stars, 1939
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org
|