ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <>
Subject RE: Ant 2.0 - Frantic: How are properties resolved?
Date Tue, 16 Jan 2001 04:51:22 GMT
At 11:40  15/1/01 -0500, James Cook wrote:
>I dont agree that having a runtime tree (of variables) adds complexity. It
>is already there in the code now, and it is extremely simple to understand
>and maintain. It also has the benefit of maintaining scope because it is not

I am not advocating a flat space - just the appearance of a flat space to a
task writer (unless they are one of the few who set properties and may need
to crawl up the tree).

>Keeping it in the engine means that you don't have to pass anything
>around either. This is patterned after the concepts of an interpreted
>language or a compiler, so we can feel sure that it works well.

Okay - now I am confused ;) From what I understand you now have three trees.

1. Proxy tree - contains the data required to build the tasks
2. Runtime tree - contains the actual task instances
3. Data tree - contains the properties, stack trace, etc

So obviously I have got something wrong. Feel free to correct me ;)

>> >Also, scripting support would benefit greatly from being able to
>> dynamically
>> >change the execution path,
>> -1
>> Execution path should *never* in my opinion outside of a very few rare
>> occasions (ant-call comes to mind) be able to do this thou YMMV ;)

your mileage may vary ;)

>The execution path of a build script should be open to modification if the
>user requires it. Why not? If it is not necessary for a particular user,
>then they don't have to use it. It comes free with the design. I can't
>imagine why we would want to keep this power out of the hands of the power
>user if it can be completely transparent to those who don't want to use it.

Just because you can - doesn't mean you should ;) That would be the
flexability syndrome. Obviously I don't understand your design thou so I
could be wrong but it seems the only reason you need the runtime tree (as
defined in 2 above) is so you can do this. If you didn't need this then you
could do away with tree 2 all together ...



| "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               |

View raw message