ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey N. Solofnenko" <A.Solofne...@mdl.com>
Subject Re: RFC: metadata (annotations) in ANT
Date Fri, 06 May 2005 15:32:34 GMT
Hello,

Please see my answers inline.

Stefan Bodewig wrote:

>On Thu, 05 May 2005, Alexey N. Solofnenko <A.Solofnenko@mdl.com>
>wrote:
>
>  
>
>>So instead of adding N+1 attribute, it is possible to use metadata
>>facility similar to ones in Java or C# - generic annotations for
>>targets (and tasks).
>>    
>>
>
>One alternative would be to use namespace aware attributes, making Ant
>ignore attributes in namespaces it didn't understand but still store
>them (in an identity map for example).
>
>I must confess that I don't follow your usecases, though.  So far I
>don't even understand your approach to parallel execution based on
>such metadata, your example might be too terse or I should go to
>bugzilla or the mailing list archives to get the context.  Dunno.
>
>  
>
>>  Annotations are defined using XML processing instructions in
>>  format <?name attr="value"...?>
>>    
>>
>
>Ouch.
>
>Any way that worked without PIs would be better IMHO.
>
>  
>
PIs are good that the do not change original XML, so they can be 
invisible to programs that do not understand them.

>>IdentityHashMap was introduced in Java 1.4. This would be a good
>>reason to drop 1.3 support in ANT (discussed separately),
>>    
>>
>
>We haven't even dropped 1.2 support 8-)
>  
>
We will need to work it out. System.identityHashCode() is there from 1.1.

>  
>
>>Possible uses:
>>- for parallel executor: <?mutex names="test-mutex1,remote-test-mutex"?>
>>  <target name="some-test">
>>    
>>
>
>what would that mean?  And what would it mean for your parallel
>executor if I don't mark up my build file at all?  Maybe I can't
>because I'm checking it out from somewhere else.
>
>  
>
That means no targets with the same mutex name specified can be executed 
concurrently (for example, only one target with "test-mutex1" mutex 
specified).

>>- for distributed executor:
>>  <?prerequisite name="Linux" min-version="2.4"?>
>>  <?prerequisite name="InstallShield" version="6.1"?>
>>  <?option name="support-unc-path" value="no"?>
>>    
>>
>
>This completely loses me.  Is the first one the equivalent of
>
><fail>
>  <condition>
>    <not>
>      <and>
>        <os family="unix"/>
>        <os name="Linux"/>
>        <os version="2.4"/>
>      </and>
>    </not>
>  </condition>
></fail>
>
>  
>
This is to select where this target should be executed (for example, a 
target can be a Linux portion of the build, or it can require some third 
party software installed on computer, for example, InstallShield). Not 
all computers are equal.

>>- for group executor (to execute only targets from some subset):
>>  <?group names="solaris,install"?>
>>    
>>
>
>  
>
This is a cheap replacement for real distributed executor (not all 
dependencies have to be executed on all computers, they may already be 
executed before).

>No idea, sorry.
>
>Stefan
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
>For additional commands, e-mail: dev-help@ant.apache.org
>  
>

-- 
------------------------------------------------------------------------
/ Alexey N. Solofnenko
home: http://trelony.cjb.net/
/

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


Mime
View raw message