There isn't a great support for multi-project builds in Ant and Maven. Developersend up
doing a lot of coding to support multi-project builds.
Also having some build-by-convention is nice and makes build scripts more concise. With
Maven, it takes build by convention too far, and customizing your build process becomes a
hack.
Maven also promotes every project publishing an artifact. Maven does not support
subprojects to be built and versioned together.
But with Gradle developers can have the flexibility of Ant and build by convention of
Maven.
Groovy is easier and clean to code than XML. In Gradle, developers can define
dependencies between projects on the local file system without the need to publish
artifacts to repository.