We use ant, a lot, but I’m getting progressively fed up with it so I’m looking for alternatives.
Ant has several well-known problems, including:
- The use of XML makes the syntax very wordy and hard to read
- Things which should be simple such as refactoring common “code” or transforming filenames are more difficult than they should be
- The disjoint between ant xml and custom tasks is very sharp; custom tasks are second-clas citizens
- The built-in tasks are not designed for extendability
I have recently investigated three alternatives:
gant, gradle and pjmake. Gant and gradle both aim to replace ant with a build system scripted in interpreted Groovy. Pjmake aims to replace ant with a build system scripted in compiled java.