You should see the <local> task, whereby you can set up scoped property "shadowing."
Matt On Sat, Mar 12, 2011 at 10:59 PM, Parag Doke <parag.doke+tec...@gmail.com> wrote: > Any ideas anyone ? > Thanks in advance, > Parag Doke > Save paper, save trees. Do not print emails/documents unless > absolutely necessary. > > > > On Mon, Mar 7, 2011 at 12:52 PM, Parag Doke <parag.doke+tec...@gmail.com> > wrote: >> Hello ant users. >> I am facing an issue with handling properties with calls to tasks/macros >> nested within the parallel task. More of a logical/approach related issue >> rather than anything with the tool itself. Here go the details: >> Using ant: >> Apache Ant version 1.8.1 compiled on April 30 2010 >> With Java: >> java version "1.6.0_22" >> Java(TM) SE Runtime Environment (build 1.6.0_22-b04) >> Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing) >> The most relevant part of the build.xml: >> <parallel> >> <mySleep seconds="4"/> >> <mySleep seconds="3"/> >> <mySleep seconds="2"/> >> <mySleep seconds="1"/> >> </parallel> >> mySleep is my own macro with the following declaration: >> <macrodef name="mySleep"> >> <attribute name="seconds"/> >> <sequential> >> <sleep seconds="@{seconds}"/> <!-- In my actual case, this is >> exec calls with the outputproperty attribute --> >> <property name="myProp" value="my value = @{seconds}"/> >> <echo>Now working with ${myProp}</echo> >> </sequential> >> </macrodef> >> Since properties are immutable, if it so happens that the 4th macro call >> sets the property, the rest of them cannot modify it. A quick alternative to >> this might be using the variable task (in place of property) from >> ant-contrib.sf.net. However, the above is just an example. In reality, my >> macro does an exec call. The outputproperty attribute to the exec call will >> be what I need to process later. >> So I guess my questions are: >> 1) What is the best approach to handle properties/variables for (almost) >> identical macro calls ? I cannot modify the property name each time. I could >> redirect stdout/stderr of the exec task to some file. But not sure how to >> guarantee that the file will be unique and not get overwritten if 2 tasks >> finish at the same instant of time. >> 2) Can the outputproperty value be captured in a variable directly ? I read >> that it is possible to use the ant-contrib propertycopy task to get one >> property value into another. But then there is a risk that the copy might >> not be synchronized ... >> The last option I have is of course to get rid of the parallel task and let >> the macros run one after the other. But that would be modifying the >> requirement to suit the scripting limitation I've run into. So I thought of >> asking here before jumping on any implementation. >> Thanks in advance for any pointers, >> Parag Doke >> Save paper, save trees. Do not print emails/documents unless absolutely >> necessary. >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@ant.apache.org > For additional commands, e-mail: user-h...@ant.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@ant.apache.org For additional commands, e-mail: user-h...@ant.apache.org