At 09:08 16/1/01 -0500, James Cook wrote: >I think the requirements would be: > >1. Supply a property system that works in a scoped manner. +1
>2. Property values can be changed and the new property value will be available >to any tasks that are runtime subordinate to the current task. +1 - unless overidden >3. If a property value is changed by a Task, and the lifecycle of the said Task >ends, the property value reverts to its original value. +1 if this occurs by default however overall I think a task should be able place a proeprty in any upper context - most will choose top level context or current context but some may push the value up two context levels etc (ie Tinderbox system) >4. Task developers should be able to declare properties that are global. +1 see above >I have two trees... > >1. A tree that holds the physical Task structure. This contains Task instances >and its parent-child relationships are the same as the XML file. > >2. A tree that gets built on the fly that functions as a stack and holds >property values. This is the HierarchicalHashtable. okay lets ignore 2 as all proposals have to have it in some form. Could you submit a few more tasks (using reflection to set properties) that are relatively simple to descibe how you see 1 as happening. >Ant is being pulled in quite a few directions by ppl who *want* to modify >runtime characteristics. They are doing this via the <if> tasks and the <select> >tasks. Also they want this functionality in the <script> task, so I think that >it is a no-brainer. I contend that it is better to incorporate this type of >flexibility now, at design time, rather than shoehorning it in at a later time. >As you guys can atest to! :-) I have no problem allowing functionality but I do have a problem doing it by default. Enabling the functionality comes at a cost (high coupling, heavier interfaces, harder to maintain backwards compatability) but as it is not always needed - why should all task writers pay the price? It should be pay as you play IMHO - the more functionality you use the more complex it becomes rather than starting out complex ;) Cheers, Pete *-----------------------------------------------------* | "Faced with the choice between changing one's mind, | | and proving that there is no need to do so - almost | | everyone gets busy on the proof." | | - John Kenneth Galbraith | *-----------------------------------------------------*
