3 ms·
> I came to Gradle with the definition in my head that a build tool is a thing that tracks dependencies so that it only has to rebuild things whose inputs have
by p2detar 6y ago
> I came to Gradle with the definition in my head that a build tool is a thing that tracks dependencies so that it only has to rebuild things whose inputs have changed. Gradle doesn't do that at all. Many hours of searching for how Gradle detects changes were fruitless, because it doesn't even try, really. Gradle basically always runs everything, which is why it's so goddamn slow.
Gradle has build cache since version 3.5 [0]. You probably mean the configuration phase for which caching was introduced in version 6.6. [1]
Gradle has been consistently improving the last couple of years. I’m quite happy with its speed since the v6.5 upgrade.
0 - https://docs.gradle.org/current/userguide/build_cache.html https://docs.gradle.org/current/userguide/build_cache.html
1 - https://docs.gradle.org/6.6/release-notes.html https://docs.gradle.org/6.6/release-notes.html
- oblio 6y agoIts architecture is so broken that they had to introduce 3 concepts to speed Gradle up: - daemon - build cache - config cache for a build tool! And it only took them more a full decade to implement them (the config cache is still experimental). And even all those things only take it from "molasses slow" to "bearable".
- pjmlp 6y agoAnd then they sell the image that Gradle is faster than Maven, omitting what went into making it look like that.