Hacker News new | ask | show | jobs
by lenkite 1546 days ago
Let's not compare Maven to Gradle. One is a stable, rock-solid, decades old declarative build tool with reasonable performance and excellent backward compatibility - the other is a configuration, semantic and maintenance nightmare.
2 comments

Gradle is a very very good build tool from an engineering perspective - it can seriously speed up compilation, is actually correct (maven sometimes need a clean install to be 100% sure it creates the actual things) and basically has every capability out there.

But I do agree that the dsl is quite cryptic.

Gradle has actually saved my build. About 3x faster than my old Maven setup. Also, my build files are much less bloated.

The only problem I find is the API updates between major versions. Still, I’m never going back to Maven. Love Gradle.

Building embedded server apps, many sub projects, single Java/Kotlin codebase.

The only reason Gradle is faster is because it uses a daemon for build caching and leverage JVM code optimization.

Once you apply that same strategy to Maven, it actually tends to beat Gradle in performance too. See Maven Daemon: https://github.com/apache/maven-mvnd

And if you build from inside IntelliJ, I think it already does essentially the same thing (unless you tell it not to) by importing the Maven project into its internal build system and using a compiler daemon: https://www.jetbrains.com/help/idea/delegate-build-and-run-a...
Gradle also has the ability to skip things it has already done. It won't recompile code that hasn't changed, won't run tests that haven't changed, etc
> actually tends to beat Gradle in performance too.

Mvnd seems somewhat recent compared to Gradle’s daemon feature. Are there any measurements that confirm this statement? I don’t find any in the repo?