ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Parag Doke <parag.d...@gmail.com>
Subject Re: How to manage properties for identical tasks/macros run in parallel?
Date Sun, 13 Mar 2011 08:40:30 GMT
Hello Matt.
Many thanks for that. I believe this suits my intent perfectly!

Regards,
Parag Doke
Save paper, save trees. Do not print emails/documents unless
absolutely necessary.



On Sun, Mar 13, 2011 at 1:08 PM, Matt Benson <gudnabrsam@gmail.com> wrote:
> 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+techie@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+techie@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-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


Mime
View raw message