Try creating <macrodef>s out of your helper targets.

When invoking <macrodef>s the ANT scope is retained and so all properties 
defined within <macrodef>s are visible to the rest of the ANT invocation.  I 
would try this before moving to <antcallback> because <antcallback> does allow 
the 'propegation' of property definition across <antcall> invocation but it 
still does incurr the memory impact.

The downside is that <macrodef>s cannot be included in a 'depends' attribute.

Later,

Ninju 


----- Original Message ----
From: Dharmesh Vyas <[EMAIL PROTECTED]>
To: Ant Users List <user@ant.apache.org>
Sent: Wednesday, February 21, 2007 1:44:00 PM
Subject: Re: visibility of the variable/parameter


Thanks for your reply Ben and Antoine.

Ben: In my case what I am planning to implement, I won't be able to use
'depends'.

So, prob. I will have to use a work around of writing down the values to
some file. But, still I am wondering if I could find out some other option.

Thanks,
- Dharmesh.

On 2/21/07, Antoine Levy-Lambert <[EMAIL PROTECTED]> wrote:
>
> Hello Dharmesh,
>
> properties set in an antcall are not visible when the antcall returns.
>
> antcall (and ant) generate new tables of properties and reference ids.
>
> Regards,
>
> Antoine
>
> -------- Original-Nachricht --------
> Datum: Wed, 21 Feb 2007 16:57:41 +0100
> Von: "Dharmesh Vyas" <[EMAIL PROTECTED]>
> An: "Ant Users List" <user@ant.apache.org>
> CC:
> Betreff: visibility of the variable/parameter
>
> > Hello Group,
> >
> > Shown below is the small illustration of something which I am trying to
> > implement. I am not sure, where/what I am missing.
> >
> >
> >   <target name="all" depends="X,Y">
> >   </target>
> >
> >   <target name="X">
> >     <antcall target="callY"/>
> >   </target>
> >
> >   <target name="callY">
> >     <condition property="view">
> >       <equals arg1="0" arg2="0" />
> >     </condition>
> >     <echo>value of view is ${view}</echo>   ---> Which shows as true
> >   </target>
> >
> >   <target name="Y">
> >     <echo>value of view is ${view}</echo> -----> value of view is not
> set
> >     <if>
> >       <equals arg1="${view}" arg2="view"/>
> >         <then>
> >           <echo message="view is set"/>
> >           {I want to perform something over here}
> >         </then>
> >       <else>
> >           <echo message="view is not set"/>
> >       </else>
> >     </if>
> >   </target>
> >
> > (1) I am not understanding that when target 'Y' is called, why the value
> > of
> > view is not visible?? (Is it local to only taget callY)
> > (2) How shall I implement it so that, I get the value of view in Y. ( I
> > want
> > to call target Y only from all and not other target)
> >
> > Please forgive me if this is a stupid question but finally after trying
> > here
> > and there i thought of asking.
> >
> > Thanks in advance,
> > - Dharmesh Vyas.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


 
____________________________________________________________________________________
Any questions? Get answers on any topic at www.Answers.yahoo.com.  Try it now.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to