I am occasionally asked why I favour Gradle over Maven. I could say that I prefer working with Groovy rather than Maven. Or that I prefer a graphs of tasks over build phases plus plugins. All of which is true, but the main reason I prefer Gradle is that its model fits incredibly with the requirements of building software. The question is, what does that mean? To understand the importance of a build tool's model, we need to understand what we're trying to achieve. I'll be looking at what building software is really about and go through some scenarios that demonstrate both how to accomplish certain tasks and why Gradle does things the way it does.
Peter is a long time Java developer and one of the core Grails committers. He has been developing with Grails since version 0.2 (give or take 0.1). He created the GWT Grails plugin as an exercise to see whether it was possible, but it has since grown into something that can support serious development.