Ant is a build tool. It was created to compile and package code, and along the way has learned about JUnit testing, rudimentary deployment, and other things. Yet it has remained focused on the problem of build-time preparation of code, documentation and other artifacts of a software project.
Every so often, somebody tries to use it as a general purpose workflow engine. These people usually get into trouble, for the following reason: General Purpose Workflow is Complicated. The complexity with workflow is specifying the fault handling, when user intervention is needed, how to handle failures of an operation. Transactions, retries, timeouts, all are features of a workflow system -along with parallel execution of operations, fault tolerant execution, and other needed features.
Ant is not a workflow engine, as it lacks:
Accordingly, we do not encourage people to try and use ant as a workflow engine. Ant can be used as an execution tool to perform work in the context of a workflow engine, but it is very dangerous and unwise to use it as a workflow engine. It may work at first, but you will soon discover its limitations.