I spent a good 18 years in the Java coding stack. I adopted Maven when they just released version 2 and watched one of its evangelists talk at a JavaOne. Obviously now it's insane to think about a programming language that doesn't have a dependency manager (even C/C++ has Conan!). After a long time fighting between what I liked best between Maven or Gradle I realized that the only thing I really needed was the parts…
Honestly, I have the opposite opinion. I really don't like it when there are custom bash build scripts. And you have to figure out how they work and what they do. And how to pass additional parameters etc. If you use Maven for your project, then I expect that if I run `mvn clean install` then it will build the project. I think that is the whole point of standard build tools: that you can switch projects easily, run t…
Why I Moved Back from Gradle to Maven
11–20 of 172 posts
Re: Why I Moved Back from Gradle to Maven
#12I should add that I am no Java guru, so for me this is an important consideration. Still, the real Java gurus at my company are split on the issue. We have projects on both build systems.
Re: Why I Moved Back from Gradle to Maven
#13Sure, it’s an unforgiving ambition and many other systems fell trying, but it was their choice.
With Gradle the blame falls squarely at the feet of plugins, and you’re on your own (which has always been the case anyway)
Re: Why I Moved Back from Gradle to Maven
#14Re: Why I Moved Back from Gradle to Maven
#15Re: Why I Moved Back from Gradle to Maven
#16Re: Why I Moved Back from Gradle to Maven
#17Yo, new Gradle developer experience lead here. I fully empathize that it's much too difficult to wrap one's head around Gradle, so I want to share some things you might find interesting: * The Gradle Kotlin DSL, which is nearing production-readiness, substantially improves the assistance/docs one gets through the IDE. * However, the Kotlin DSL does not help with the large API surface and understanding of Gradle conce…
Focus on Android Studio because that's the only place people really use Gradle because they are forced to do so.
You need to create a LOT of Android Studio sample projects, and they need to be kept up to date for the various versions of Android Studio. If you did nothing but create "Hello World" in a zillion various flavors (Java, Kotlin, Scala, NDK, NDK with static library on different architectures, etc.) for people, that would be huge.
My specific beef is with NDK projects. Pulling in static libraries and compiling them with the NDK is a mix of magical keywords that sometimes materialize from some kind stranger via chat--generally because Gradle has to shove those keywords to something like CMake--which ALSO has an enormous learning curve.
Re: Why I Moved Back from Gradle to Maven
#18I spent a good 18 years in the Java coding stack. I adopted Maven when they just released version 2 and watched one of its evangelists talk at a JavaOne. Obviously now it's insane to think about a programming language that doesn't have a dependency manager (even C/C++ has Conan!). After a long time fighting between what I liked best between Maven or Gradle I realized that the only thing I really needed was the parts…
Lower level recipes are either one liners that invoke a project specific builder (ex: mvn package) or they invoke a separate bash script.
For complicated polyglot projects it works great as each component can use its own native tooling yet the top level is consistent.
Re: Why I Moved Back from Gradle to Maven
#19Even as a 25 year vi/vim user, I've succumbed to depending on IDEs more and more and I believe that any proposed build system has to easily support deep/rich integration with IDEs. This is theoretically impossible if the build system is effectively a general Turing-complete programming language. At best you will be able to provide brittle integration or else the IDE will have to dumbly treat the entire build process as a black box.
Re: Why I Moved Back from Gradle to Maven
#20Did I missed the sarcasm tone? I've never experienced slower build systems then those used in Java world, like Gradle for example.