Company wants to ditch Gradle and favours Maven


My company (over 400 developers) introduced Gradle about 2 years ago and now is shifting towards Maven. Im a Java developer and I gad to learn Gradle when it was introduced in my project. Not straightforward at the beginning (no Groovy knowledge, no functional programming), but after spending some time, Gradle is a bless for me ( I had to write a customized plugin for IntelliJ).

Now someone at the top of the chain is forcing a decision to move to Maven. The primary reason is, I quote:
“EAR/WAR support has always been primitive in Gradle and there is no sign that this might improve in the future”

I can hardly believe this statement, but since Gradle is still a new thing for me can You give me some ammunition to counter such statement?

Also there is constant backlash about complex dependencies in our project. By average we have > 20 subprojects which are dependent on each other and lots of 3rd party libraries included as well.
As far as I understand Gradle is using maven model to resolve dependencies, so any mess we have with dependecies will not magically disappear if we switch to vanilla Maven, am I right?

I suspect that primary obstacle in our company is lack of knowledge about Gradle/Groovy/functional programming and no one wants to learn it, because following problems are raised too:

  • need of simpler build
  • more developers should understand build tool
  • easier support for tools like Eclipse WTP, Fortify

Before You forward me to the basics, I have read this page:

Its very informative but Im afraid it wont be enough to convice my company officials to change their mind.

I really appreciate community help in defending Gradle. What sort of arguments I should use? How I should tell them that EAR support is in fact very well since its just a zip file with manifest :slightly_smiling:

I’ve moved this to the appropriate category.

I’d be interesting in learning about any use cases that aren’t easily supported by the existing ‘ear’ and ‘war’ plugins.

Gradle’s dependency model isn’t based on Maven although we do support resolving and publishing Maven dependencies. There are many things that can be accomplished via the Gradle dependency API that is simply not possible with Maven (as enumerated in the Gradle vs Maven article). Again, concrete examples of the issues you are facing would be helpful. In many cases issues projects have with dependencies aren’t solved simply by switching to a different dependency management tool.