You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by "Alexey N. Solofnenko" <A....@mdl.com> on 2005/01/19 18:09:41 UTC

Need a target meta data for parallel executor.

Hello,

  I am experimenting with parallel executor.  One of the things required 
for it is to be able to prevent some targets (mostly test targets) to be 
executed simultaneously. It is possible to add something like 
"mutex-names" attribute to Target, but if we do that, there seems no end 
of adding many more attributes that make sense only in some specific 
situations. Instead of that we could use XML processing instruction 
"<?META mutexes="test"?> or <?MUTEX names="xxx,yyy"?> (this is more 
readable, but more complex too - most likely it will require two level 
Map of meta attributes) and keeps them in an identity hash map within 
project. Theoretically any object should be able to have a meta 
information attached, so during real task creation the hash map should 
be updated with real reference. What do you think?

- Alexey.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Re: Need a target meta data for parallel executor.

Posted by "Alexey N. Solofnenko" <A....@mdl.com>.
I meant "What do you propose..." stupid computer did not see the problem...

Alexey N. Solofnenko wrote:

> So, would do you propose? Is it something like:
>
> <project>
>  <property name="org.apache.ant.target-mutexes" 
> value="xxx,yyy;aaa,bbb,ccc"/>
> </project>
>
> The target mutual exclusion seems static and nobody should be changing 
> it from an outside (only build script developer should know about 
> them). On the other hand adding even more ANT constructs for every 
> small detail seems an overkill. If we add a meta-info facility, it 
> should cover this and any other future uses. And the meta-info will be 
> also ignored by code that does not understand it (for example old ANT 
> will be still able to run build files prepared for parallel execution).
>
> - Alexey.



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Re: Need a target meta data for parallel executor.

Posted by "Alexey N. Solofnenko" <A....@mdl.com>.
This will work right now (and I did put semicolon in the property value 
to define several sets). It just seems inconvenient.

- Alexey.

Matt Benson wrote:

>Doesn't the possibility exist that different sets of
>mutex targets would exist?  So you could have:
>
><property name="ParallelExecutor.mutex.avalue"
>          value="foo1,foo2,foo3" />
><property name="ParallelExecutor.mutex.anothervalue"
>          value="bar1,bar2,bar3" />
>
>And ParallelExecutor would know to use a PropertySet
>looking for ParallelExecutor.mutex. as the properties'
>prefix.
>
>I get a headache thinking where to go from there.  ;)
>
>-Matt
>
>--- "Alexey N. Solofnenko" <A....@mdl.com>
>wrote:
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Re: Need a target meta data for parallel executor.

Posted by Matt Benson <gu...@yahoo.com>.
Doesn't the possibility exist that different sets of
mutex targets would exist?  So you could have:

<property name="ParallelExecutor.mutex.avalue"
          value="foo1,foo2,foo3" />
<property name="ParallelExecutor.mutex.anothervalue"
          value="bar1,bar2,bar3" />

And ParallelExecutor would know to use a PropertySet
looking for ParallelExecutor.mutex. as the properties'
prefix.

I get a headache thinking where to go from there.  ;)

-Matt

--- "Alexey N. Solofnenko" <A....@mdl.com>
wrote:

> So, would do you propose? Is it something like:
> 
> <project>
>   <property name="org.apache.ant.target-mutexes" 
> value="xxx,yyy;aaa,bbb,ccc"/>
> </project>
[edited for bandwidth]


		
__________________________________ 
Do you Yahoo!? 
Meet the all-new My Yahoo! - Try it today! 
http://my.yahoo.com 
 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Re: Need a target meta data for parallel executor.

Posted by "Alexey N. Solofnenko" <A....@mdl.com>.
So, would do you propose? Is it something like:

<project>
  <property name="org.apache.ant.target-mutexes" 
value="xxx,yyy;aaa,bbb,ccc"/>
</project>

The target mutual exclusion seems static and nobody should be changing 
it from an outside (only build script developer should know about them). 
On the other hand adding even more ANT constructs for every small detail 
seems an overkill. If we add a meta-info facility, it should cover this 
and any other future uses. And the meta-info will be also ignored by 
code that does not understand it (for example old ANT will be still able 
to run build files prepared for parallel execution).

- Alexey.

Matt Benson wrote:

>Alexey:  Since the Executor classname itself is
>specified as an option, rather than in a buildfile, my
>opinion would be that specifications that interact
>with an Executor should be externally configurable. 
>At the same time it would be nice to maintain Target
>exclusivity information with the targets themselves. 
>My first instinct would be to use project-level
>properties.  You should want to execute the default ""
>target first in any event, I would think, so at that
>point project-level properties would be available, yet
>can still be overridden externally.  I would expect
>these properties to be of a dynamic nature, but you
>should be able to use PropertySets to help you with
>that.
>
>HTH,
>Matt
>
>
>--- "Alexey N. Solofnenko" <A....@mdl.com>
>wrote:
>
>  
>
>>Hello,
>>
>>  I am experimenting with parallel executor.  One of
>>the things required 
>>for it is to be able to prevent some targets (mostly
>>test targets) to be 
>>executed simultaneously. It is possible to add
>>something like 
>>"mutex-names" attribute to Target, but if we do
>>that, there seems no end 
>>of adding many more attributes that make sense only
>>in some specific 
>>situations. Instead of that we could use XML
>>processing instruction 
>>"<?META mutexes="test"?> or <?MUTEX
>>names="xxx,yyy"?> (this is more 
>>readable, but more complex too - most likely it will
>>require two level 
>>Map of meta attributes) and keeps them in an
>>identity hash map within 
>>project. Theoretically any object should be able to
>>have a meta 
>>information attached, so during real task creation
>>the hash map should 
>>be updated with real reference. What do you think?
>>
>>- Alexey.
>>
>>
>>    
>>
>---------------------------------------------------------------------
>  
>
>>To unsubscribe, e-mail:
>>dev-unsubscribe@ant.apache.org
>>For additional commands, e-mail:
>>dev-help@ant.apache.org
>>
>>
>>    
>>
>
>
>__________________________________________________
>Do You Yahoo!?
>Tired of spam?  Yahoo! Mail has the best spam protection around 
>http://mail.yahoo.com 
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
>For additional commands, e-mail: dev-help@ant.apache.org
>  
>

-- 
------------------------------------------------------------------------
/ Alexey N. Solofnenko
MDL Information Systems, Inc.
work: 510-357-2222x1726
/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Re: Need a target meta data for parallel executor.

Posted by Matt Benson <gu...@yahoo.com>.
Alexey:  Since the Executor classname itself is
specified as an option, rather than in a buildfile, my
opinion would be that specifications that interact
with an Executor should be externally configurable. 
At the same time it would be nice to maintain Target
exclusivity information with the targets themselves. 
My first instinct would be to use project-level
properties.  You should want to execute the default ""
target first in any event, I would think, so at that
point project-level properties would be available, yet
can still be overridden externally.  I would expect
these properties to be of a dynamic nature, but you
should be able to use PropertySets to help you with
that.

HTH,
Matt


--- "Alexey N. Solofnenko" <A....@mdl.com>
wrote:

> Hello,
> 
>   I am experimenting with parallel executor.  One of
> the things required 
> for it is to be able to prevent some targets (mostly
> test targets) to be 
> executed simultaneously. It is possible to add
> something like 
> "mutex-names" attribute to Target, but if we do
> that, there seems no end 
> of adding many more attributes that make sense only
> in some specific 
> situations. Instead of that we could use XML
> processing instruction 
> "<?META mutexes="test"?> or <?MUTEX
> names="xxx,yyy"?> (this is more 
> readable, but more complex too - most likely it will
> require two level 
> Map of meta attributes) and keeps them in an
> identity hash map within 
> project. Theoretically any object should be able to
> have a meta 
> information attached, so during real task creation
> the hash map should 
> be updated with real reference. What do you think?
> 
> - Alexey.
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> dev-unsubscribe@ant.apache.org
> For additional commands, e-mail:
> dev-help@ant.apache.org
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org