Things I love having in gradle:
* custom tasks AND up-to-date checks for them (for when you invariably need special tasks like custom generated code, filtering only some resources in a certain way, calling other build systems like grunt/gulp, etc)
* up-to-date checks in general
* better task exclusions
* better dependency version resolution abilities, including custom strategies
* groovy syntax
Things I think maven does better that matter to me:
* classifier handling (it is really frustrating gradle still has a lot of messed up handling of them)
* way less magic is possible in the buildscript - makes it easier to trace through
End result: I could never go back to maven, every single project I've worked on has desired custom tasks and maven just makes it painful every step of the way. The only thing I worry about in gradle is making things easy to understand so someone else can follow behind - can't use too much magic.
* custom tasks AND up-to-date checks for them (for when you invariably need special tasks like custom generated code, filtering only some resources in a certain way, calling other build systems like grunt/gulp, etc)
* up-to-date checks in general
* better task exclusions
* better dependency version resolution abilities, including custom strategies
* groovy syntax
Things I think maven does better that matter to me:
* classifier handling (it is really frustrating gradle still has a lot of messed up handling of them)
* way less magic is possible in the buildscript - makes it easier to trace through
End result: I could never go back to maven, every single project I've worked on has desired custom tasks and maven just makes it painful every step of the way. The only thing I worry about in gradle is making things easy to understand so someone else can follow behind - can't use too much magic.