Hi, I would like to propose that we separate the concept of project engine and task engine. The task engine would be responsible for executing tasks. It has the responsibility for running task in correct "context" and setting up all the "low-level" environment-aspects for task.
This "low-level" environment would include ContextClassLoader, thread instance variables etc. Parameters for these would be passed in from ProjectEngine as would the TOM/TaskProxy/whatever-we-end-up-calling-it ;) The ProjectEngine would be responsible for handling high-level execution of an ant build file. It would understand high-level aspects (ie ant:failonerror="false") and would be responsible for traversing targets/projects etc. It would also be responsible for appling certain high-level AspectHandlers (I will discuss this further later). Another reason for this separation is because the TaskEngine is perfectly suited for embedding in other environments. (My cron or initabs projects, functional testing engine, installshield etc). Thoughts/Votes? Cheers, Pete *------------------------------------------------------* | "Computers are useless. They can only give you | | answers." - Pablo Picasso | *------------------------------------------------------*
