I've been experimenting, quite a lot, with the Groovy Preprocessor Ant Tasks . In particular, I'm becoming acquainted with the gppcopy task. Same idea as the standard copy , except that you can access properties defined within predefined templates from within the task. Many use cases are imaginable and, yes, none different to what Velocity would support. However, if you're already getting into the nitty gritty of Groovy, why not go a step further and also get into its Ant tasks for templating support? Anyway, that's my thinking.