ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <>
Subject Re: [Fwd: ANT]
Date Wed, 08 Dec 2004 10:09:04 GMT

On Wed, 08 Dec 2004 01:19:21 +0100, Michael Augustin <> 
 > Hi all,
 > in a project we use ant as a workflow-engine. The difference to the
 > normal use as a buildtool is, that target (workflows) are executed as
 > often as the user requests and the ant-application runs over long time.
 > That makes it necessarry that ant-variables (properties) are evaluated
 > mroe than just on time.
 > So each time a target is executed I call reconfigure previously for each
 > task/runtimeconfigurable-object. The change in the attachted files
 > delegate the reconfigure-call also to the children-xml-elements (also
 > RuntimeConfigurable-Objects).
 > Now the bad news: If you have child-elements in your ant-tasks, that are
 > no tasks (means: your task is not an task-container, but you use
 > child-elements and implements methods like addConfiguredChild(Child c) )
 > . The addConfiguredChild or wathever method you implemented for your
 > child-element is called as often as reconfigure is called on the task in
 > a target. So you have to pay attention on clearing the list of your
 > child-object after perform was called. For myself I implemented a method
 > clearForReconfigure that is called for each of my tasks.
 > So I would like to get a feedback for this change (see attached diff)
 > and the idea to use ant as workflowengine.

you know, I'm not sure that Ant should be used as a long life workflow 
engine. I've encountered other projects doing this (GridAnt for 
example), and worry that
(a) the longevity requirements introduce new complications. While we 
strive for zero-leakage in IDE hosting, minimising memory consumption 
during a run itself is not something we focus on, aiming for post-run 
cleanup instead,

(b) real workflows have complex fault handling logic; ant doesnt.

(c) persistence of state. As in "ant has none"

I'm not going to make any comment either way on the changes; I dont have 
time to look at them this year. I do worry that we are enabling things 
that are not necessarily appropriate.

Also, why dont you just create new projects on every run, rather than 
manipulate an existing project?


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message