You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by Wascally Wabbit <wa...@earthling.net> on 2010/01/09 00:24:38 UTC

Questions about new (1.8) PropertyHelper+pals...

Hello all--

I've just reviewed the latest Ant trunk (1.8RC1 I believe) to estimate
how much effort it would take to port my extensions (esp. those
dependent on the 1.7x PropertyHelper implementation). For this class
I have a few questions about current code:

1) No way for an evaluator to test if it's already installed as
getDelegates() is protected and there is no public getEvaluators()
method.

2) Still no way to have PropertyHelpers passed through to subprojects
automatically (all configuration lost). [See Project.initSubproject]

3) Even with the current rework, installing a recursive property
evaluator requires that I replace the entire PropertyHelper because:
   1) The ParseProperties utility is created directly by the helper
      and that's where the algorithm basically lies. I would be nice
      to replace just *this* bit...
   2) The ParseProperties seems to be assuming a sequential walk thru
      the input string (it moves from left->right first getting a
      property name then mapping that name to a value...) Maybe I'm
      missing something here (I hope)?...

Any feedback would be appreciated!

Thanks,
-The Wabbit

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


Re: Questions about new (1.8) PropertyHelper+pals...

Posted by Matt Benson <gu...@gmail.com>.
One more thought below:

On Jan 8, 2010, at 5:24 PM, Wascally Wabbit wrote:

> Hello all--
>
> I've just reviewed the latest Ant trunk (1.8RC1 I believe) to estimate
> how much effort it would take to port my extensions (esp. those
> dependent on the 1.7x PropertyHelper implementation). For this class
> I have a few questions about current code:
>
> 1) No way for an evaluator to test if it's already installed as
> getDelegates() is protected and there is no public getEvaluators()
> method.
>
> 2) Still no way to have PropertyHelpers passed through to subprojects
> automatically (all configuration lost). [See Project.initSubproject]
>

You might, though it wouldn't necessarily be the most intuitive  
thing, be able to accomplish this using a custom Executor.  Not sure  
how comfortable that would be in the context of AntXtras, but I  
thought I'd throw it out there nonetheless.

-Matt

> 3) Even with the current rework, installing a recursive property
> evaluator requires that I replace the entire PropertyHelper because:
>   1) The ParseProperties utility is created directly by the helper
>      and that's where the algorithm basically lies. I would be nice
>      to replace just *this* bit...
>   2) The ParseProperties seems to be assuming a sequential walk thru
>      the input string (it moves from left->right first getting a
>      property name then mapping that name to a value...) Maybe I'm
>      missing something here (I hope)?...
>
> Any feedback would be appreciated!
>
> Thanks,
> -The Wabbit
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>


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


Re: Questions about new (1.8) PropertyHelper+pals...

Posted by Wascally Wabbit <wa...@earthling.net>.
 > Matt Benson wrote:
> 
> On Jan 8, 2010, at 5:24 PM, Wascally Wabbit wrote:
> 
>> Hello all--
>>
>> I've just reviewed the latest Ant trunk (1.8RC1 I believe) to estimate
>> how much effort it would take to port my extensions (esp. those
>> dependent on the 1.7x PropertyHelper implementation). For this class
>> I have a few questions about current code:
> 
> Firstly, Wabbit.... I am somewhat at a loss because I personally 
> attempted, twice if I recall correctly, to engage you on this subject 
> back when the API redesign was taking place, what, over two years ago?  
> I don't want to appear unwilling to work with you here, but... wow.  
> This could have been a lot easier then, especially considering the 
> difference in code familiarity two years makes.  In all honesty, I've 
> found a lot less time than I would like to work on OSS lately.  Ant in 
> particular (and I hope this won't offend any of my comrades) has 
> suffered neglect from many of its developers as of late; I vehemently 
> include myself among the guilty.

Yes. At least in my "neck of the woods" Maven seems to have all
the enterprise mind share now. Which is too bad as Maven is often
a painful solution to problems Ant solves easily.

> 
>>
>> 1) No way for an evaluator to test if it's already installed as
>> getDelegates() is protected and there is no public getEvaluators()
>> method.
>>
> 
> This is a fair assessment for you to have made from the API; however the 
> (base) implementation of PropertyHelper actually discards equal 
> delegates as they are installed.  We could document this fact, and 
> probably make the method final.  Would that suffice?

Yup.

> 
>> 2) Still no way to have PropertyHelpers passed through to subprojects
>> automatically (all configuration lost). [See Project.initSubproject]
>>
> 
> I can see how this might be desirable, but what happens when said 
> subproject installs a completely new PropertyHelper that has no idea how 
> to cope with the properties the parent project expects the subproject to 
> know how to interpret?  This would seem to want more discussion.

OK. I don't quite understand the 'properties' question. My concern
was really around the propagation of delegates (not necessarily
properties).

> 
>> 3) Even with the current rework, installing a recursive property
>> evaluator requires that I replace the entire PropertyHelper because:
>>   1) The ParseProperties utility is created directly by the helper
>>      and that's where the algorithm basically lies. I would be nice
>>      to replace just *this* bit...
>>   2) The ParseProperties seems to be assuming a sequential walk thru
>>      the input string (it moves from left->right first getting a
>>      property name then mapping that name to a value...) Maybe I'm
>>      missing something here (I hope)?...
>>
> 
> I am far less familiar with the relevant code now, but a recursive 
> property evaluator is certainly possible because it exists in the 
> [props] sandbox Antlib, which we will promote to proper and release 
> shortly after Ant 1.8.0 is released.  I think perhaps what you've missed 
> is that ParseProperties is not meant to be extended by PropertyHelper 
> extensions (although I suppose in dire need it could be extended or 
> bypassed); it's simply a class which contains the algorithms for parsing 
> properties using whatever PropertyExpander delegates live in the active 
> PropertyHelper.

I'll have a look at the sandbox code then. Thanks for the pointer.

> 
>> Any feedback would be appreciated!
>>
> 
> Regards,
> Matt
> 
>> Thanks,
>> -The Wabbit
>>


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


Re: Questions about new (1.8) PropertyHelper+pals...

Posted by Matt Benson <gu...@gmail.com>.
On Jan 8, 2010, at 5:24 PM, Wascally Wabbit wrote:

> Hello all--
>
> I've just reviewed the latest Ant trunk (1.8RC1 I believe) to estimate
> how much effort it would take to port my extensions (esp. those
> dependent on the 1.7x PropertyHelper implementation). For this class
> I have a few questions about current code:

Firstly, Wabbit.... I am somewhat at a loss because I personally  
attempted, twice if I recall correctly, to engage you on this subject  
back when the API redesign was taking place, what, over two years  
ago?  I don't want to appear unwilling to work with you here, but...  
wow.  This could have been a lot easier then, especially considering  
the difference in code familiarity two years makes.  In all honesty,  
I've found a lot less time than I would like to work on OSS lately.   
Ant in particular (and I hope this won't offend any of my comrades)  
has suffered neglect from many of its developers as of late; I  
vehemently include myself among the guilty.

>
> 1) No way for an evaluator to test if it's already installed as
> getDelegates() is protected and there is no public getEvaluators()
> method.
>

This is a fair assessment for you to have made from the API; however  
the (base) implementation of PropertyHelper actually discards equal  
delegates as they are installed.  We could document this fact, and  
probably make the method final.  Would that suffice?

> 2) Still no way to have PropertyHelpers passed through to subprojects
> automatically (all configuration lost). [See Project.initSubproject]
>

I can see how this might be desirable, but what happens when said  
subproject installs a completely new PropertyHelper that has no idea  
how to cope with the properties the parent project expects the  
subproject to know how to interpret?  This would seem to want more  
discussion.

> 3) Even with the current rework, installing a recursive property
> evaluator requires that I replace the entire PropertyHelper because:
>   1) The ParseProperties utility is created directly by the helper
>      and that's where the algorithm basically lies. I would be nice
>      to replace just *this* bit...
>   2) The ParseProperties seems to be assuming a sequential walk thru
>      the input string (it moves from left->right first getting a
>      property name then mapping that name to a value...) Maybe I'm
>      missing something here (I hope)?...
>

I am far less familiar with the relevant code now, but a recursive  
property evaluator is certainly possible because it exists in the  
[props] sandbox Antlib, which we will promote to proper and release  
shortly after Ant 1.8.0 is released.  I think perhaps what you've  
missed is that ParseProperties is not meant to be extended by  
PropertyHelper extensions (although I suppose in dire need it could  
be extended or bypassed); it's simply a class which contains the  
algorithms for parsing properties using whatever PropertyExpander  
delegates live in the active PropertyHelper.

> Any feedback would be appreciated!
>

Regards,
Matt

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


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


Re: Questions about new (1.8) PropertyHelper+pals...

Posted by Wascally Wabbit <wa...@earthling.net>.
Hi--

Yea I think I did respond some eons back...basically saying "do whatever
you need to do" and I'll just port (if possible) to the final interface.
Unfortunately, I don't have access to newsgroups at work and don't get
to do much catch up on the weekends so I didn't want to hold up any
active development. I figured I'd just work with what the developer
group released...even if that meant chucking some extensions that were
made obsolete or that I couldn't port.

-The Wabbit

Matt Benson wrote:
> And also, looking through mail archives I see that you have participated 
> somewhat at least in 2007.  The thread I found, however, shows me 
> responding to you, but no return response from you:  
> http://markmail.org/message/m2v2n2gxoojgy4qt .  I guess we should just 
> proceed from where we are now.
> 
> -Matt
> 
> On Jan 8, 2010, at 5:24 PM, Wascally Wabbit wrote:
> 
>> Hello all--
>>
>> I've just reviewed the latest Ant trunk (1.8RC1 I believe) to estimate
>> how much effort it would take to port my extensions (esp. those
>> dependent on the 1.7x PropertyHelper implementation). For this class
>> I have a few questions about current code:
>>
>> 1) No way for an evaluator to test if it's already installed as
>> getDelegates() is protected and there is no public getEvaluators()
>> method.
>>
>> 2) Still no way to have PropertyHelpers passed through to subprojects
>> automatically (all configuration lost). [See Project.initSubproject]
>>
>> 3) Even with the current rework, installing a recursive property
>> evaluator requires that I replace the entire PropertyHelper because:
>>   1) The ParseProperties utility is created directly by the helper
>>      and that's where the algorithm basically lies. I would be nice
>>      to replace just *this* bit...
>>   2) The ParseProperties seems to be assuming a sequential walk thru
>>      the input string (it moves from left->right first getting a
>>      property name then mapping that name to a value...) Maybe I'm
>>      missing something here (I hope)?...
>>
>> Any feedback would be appreciated!
>>
>> Thanks,
>> -The Wabbit
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
>> For additional commands, e-mail: dev-help@ant.apache.org
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
> 
> 


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


Re: Questions about new (1.8) PropertyHelper+pals...

Posted by Matt Benson <gu...@gmail.com>.
And also, looking through mail archives I see that you have  
participated somewhat at least in 2007.  The thread I found, however,  
shows me responding to you, but no return response from you:  http:// 
markmail.org/message/m2v2n2gxoojgy4qt .  I guess we should just  
proceed from where we are now.

-Matt

On Jan 8, 2010, at 5:24 PM, Wascally Wabbit wrote:

> Hello all--
>
> I've just reviewed the latest Ant trunk (1.8RC1 I believe) to estimate
> how much effort it would take to port my extensions (esp. those
> dependent on the 1.7x PropertyHelper implementation). For this class
> I have a few questions about current code:
>
> 1) No way for an evaluator to test if it's already installed as
> getDelegates() is protected and there is no public getEvaluators()
> method.
>
> 2) Still no way to have PropertyHelpers passed through to subprojects
> automatically (all configuration lost). [See Project.initSubproject]
>
> 3) Even with the current rework, installing a recursive property
> evaluator requires that I replace the entire PropertyHelper because:
>   1) The ParseProperties utility is created directly by the helper
>      and that's where the algorithm basically lies. I would be nice
>      to replace just *this* bit...
>   2) The ParseProperties seems to be assuming a sequential walk thru
>      the input string (it moves from left->right first getting a
>      property name then mapping that name to a value...) Maybe I'm
>      missing something here (I hope)?...
>
> Any feedback would be appreciated!
>
> Thanks,
> -The Wabbit
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>


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


Re: Questions about new (1.8) PropertyHelper+pals...

Posted by Matt Benson <gu...@gmail.com>.
Actually we voted to promote [props] from the sandbox last year, and  
we'll do a release with/after Ant 1.8.0.  :)  -Matt

On Jan 8, 2010, at 5:24 PM, Wascally Wabbit wrote:

> Hello all--
>
> I've just reviewed the latest Ant trunk (1.8RC1 I believe) to estimate
> how much effort it would take to port my extensions (esp. those
> dependent on the 1.7x PropertyHelper implementation). For this class
> I have a few questions about current code:
>
> 1) No way for an evaluator to test if it's already installed as
> getDelegates() is protected and there is no public getEvaluators()
> method.
>
> 2) Still no way to have PropertyHelpers passed through to subprojects
> automatically (all configuration lost). [See Project.initSubproject]
>
> 3) Even with the current rework, installing a recursive property
> evaluator requires that I replace the entire PropertyHelper because:
>   1) The ParseProperties utility is created directly by the helper
>      and that's where the algorithm basically lies. I would be nice
>      to replace just *this* bit...
>   2) The ParseProperties seems to be assuming a sequential walk thru
>      the input string (it moves from left->right first getting a
>      property name then mapping that name to a value...) Maybe I'm
>      missing something here (I hope)?...
>
> Any feedback would be appreciated!
>
> Thanks,
> -The Wabbit
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
> For additional commands, e-mail: dev-help@ant.apache.org
>


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