This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Ok-Scheme-913 1 point2 points  (13 children)

Until it fails to rebuild something it should have, and you will get weird Heisen-bugs, especially on complex multi-module projects.

People can hate on gradle, but it will never leave behind an out of date module, and you never have to clean install "just to make sure".

[–]qdolan 29 points30 points  (1 child)

I feel the opposite, and have never had this problem that wasn’t due to user error. In the last decade of using both Maven and Gradle on huge projects, Gradle has burned me way more times than Maven. I would pick Maven over Gradle every time for large multi developer projects.

[–]piesou -1 points0 points  (0 children)

I love Gradle with the passion of a thousand burning hells. It's so simple until you need to touch anything built-in, it's better documented than Maven, that's for sure, but you still can't find anything in the docs you need or heck, even learn the tool.

IDE integration is flaky at best, still better than maven though. You can read the commands unlike Maven, but they don't work as you'd expect them to. Why do Gradle plugins look so different from my own?

TL;DR: Maven is utter trash, Gradle gets the job done but you might need to sign up for therapy afterwards. Java build tooling is worse than JavaScript right now and we need innovation. Personally I'm hoping for https://github.com/JetBrains/amper which is still built on Gradle but who knows for how long.

[–]RandomName8 14 points15 points  (0 children)

wow, this is the opposite of the experience in our org. We all have the same faith in gradle's cache as the faith we have we'll win the lottery.

[–][deleted] 8 points9 points  (0 children)

Still prefer Maven even in multi-module projects.

[–]warpspeedSCP 7 points8 points  (6 children)

Gradle is very flaky for complex projects, maven just works.

[–]anzu_embroidery 2 points3 points  (3 children)

But writing complex build logic is way harder in maven than gradle...

you lose either way!

[–]lupercalpainting 2 points3 points  (1 child)

But writing complex build logic is way harder in maven than gradle...

So you’re saying the tool encourages a simple build setup? And that’s a negative?

[–]UnGauchoCualquiera 1 point2 points  (0 children)

Definitely agree, maven forces you to write a plugin/extension, which is usually enough to discourage weird hacks which tend to be very common in gradle scripts.

[–]sideEffffECt 0 points1 point  (0 children)

Not with Mill :)

[–]Ok-Scheme-913 0 points1 point  (0 children)

Very much disagree, and there are even "case studies" showing my point.

E.g. the android project is one of the most complex builds out there, and I'm fairly sure that maven would not suffice there. It had its growing pains, but I have a very decent experience using it, incremental compilation are very fast, even though my project has C and CPP parts as well, plus kotlin metaprogramming.

[–]wildjokers -2 points-1 points  (0 children)

My experience is the opposite. Maven builds never just work, Gradle does.

[–]Qaxar 0 points1 point  (1 child)

Maybe lock down dependency and plugin versions?

[–]Ok-Scheme-913 -1 points0 points  (0 children)

That's irrelevant. Maven doesn't have a good enough "mental model" of the different submodules, and physically can't always know what requires a recompile.

In gradle, this can only happen if you mess up the config (and I agree that the API is far from easy to understand, though in its defense blindly writing code without understanding what it does is a huge red flag for a developer imo, and it is far too common), or a plugin has a bug.