Russel Winder's Website

Gant - Building with Ant tasks and no XML

I like the features and functionality of Ant as a build tool but I really don't like XML. Also, having used SCons, Waf, Rake and Rant, I have come to believe that a build tool needs to be hosted on a programming language - SCons and Waf are Python-based systems, Rake and Rant are Ruby-based. Note here that Maven is a totally different sort of beast, not better or worse just different. Where Maven 2 is applicable it looks very good but there are situations where tools like Ant are applicable and tools like Maven 2 are not.

The obvious thing to me is to use Groovy as a base language for a build tool. Most of the work is already done of course, the AntBuilder class does almost all the work! However there is infrastructure needed to create a tool. Without such infrastructure everyone ends up building their own versions and there is nowhere for best practice to be reified.

In January I started an exchange on the Groovy User email list about this and there was some strong encouragement that having a pure Groovy script way of scripting Ant tasks in a framework would be a good thing. Over the last couple of week I have managed to put a start together for this. It isn't in release form yet but it does do the job. Gant can build and install itself in a Groovy installation. I also use it for building websites.

If you want to give it a whirl then check out the webpage here. Remember though this is not a finished tool it is a start to enable people to try it out and give constructive feedback so that it can evolve into a good and useful tool.

Copyright © 2017 Russel Winder -