Finally I managed to give this proposal as much attention as it deserves. OK. Even though I don't buy "it is very clear that Project and Target are simple another type of Task" I have to realize that Jim's approach simplifies some things a lot - this includes maintaining the core.
I would add some checks in Project.addChild and Target.addChild to make sure at least some parts of the current Project -> Target -> Task hierarchy is maintained (I don't understand what a Target inside a Target would be for example) but in general this approach makes some things that have been discussed quite easy. Importing another project is extremely simple and addressing a target from another project falls out of Jim's naming scheme immediately, something like depends="/project/module1/target1". And then sometime back in summer Sam suggested build files without any targets at all - the beginners all in one simple build file. This would clearly be possible in a framework like this without any extra coding effort. My main concern with frantic would be that task writers are responsible for property expansions - judging from the other thread I know Jim has changed his mind on this and I'm waiting to see what he's going to come up with. Stefan
