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