Products · Product
Gradle
Raised as a usability problem by 121 people on Hacker News over 14 years (2013–2026), in 71 threads.
No issue was raised by at least 3 people in 3 threads this year.
- 1
- 2
- 3
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Every issue, all time, most people first
Build scripts use cryptic, dense syntax that is hard to read and writeUnreviewed
20132026- Hard to tell which of several similar syntaxes a build script uses2025-02-16
- Build scripts look declarative but behave confusingly, and debugging them is hard2023-07-22
- Build scripts become too clever to read, reason about, or understand over time2023-04-26
Builds are slow even with no changes, and code generation is painfulUnreviewed
20132026- Builds are slow, even with no changes, and custom code generation is painful2024-01-05
- Slow builds needing a background daemon, and updates constantly breaking existing build scripts2018-09-25
- Build configuration tricks for speed keep changing with each release, making setup hard to keep up with2018-04-04
Build setup requires too much configuration compared to simple conventionsUnreviewed
20132026- Build setup requires too much configuration compared to simple conventions2024-10-29
- Hidden configuration in build scripts makes debugging problems hard and unpredictable2024-07-09
- Build config language is opaque and undiscoverable, hard to understand2020-07-11
Groovy scripts look declarative but behave imperatively, confusing readersUnreviewed
20132026- Hard to discover options, unfamiliar Groovy syntax, and names change between versions2024-10-29
- Groovy build scripts look declarative but behave imperatively, confusing the reader2023-04-26
- Obfuscated error messages and anything-goes Groovy syntax make builds hard to fix2016-10-13
Documentation assumes learning the whole build system, with no easy entryUnreviewed
20132026- Documentation assumes learning the whole build system; no easy entry path2021-04-11
- Each project's build files need deep, project-specific knowledge to understand2021-04-07
- Build file language is hard to read and edit without documentation2020-06-06
Dependency and detached configuration docs are confusing to understandUnreviewed
20132026- Too much freedom and DSL abstractions make dependency configuration hard to keep straightforward2026-03-20
- Dependencies appear on the system magically, which is confusing to the user2022-03-27
- Docs on dependencies and detached configurations were confusing to understand2021-11-15
Custom DSL is poorly documented, so uncommon cases are hard to solveUnreviewed
20132026- Custom DSL is poorly documented, making uncommon cases hard to figure out2021-01-06
- Hard to find correct configuration; docs are confusing across two DSLs2020-06-06
- Mistyped DSL code produces parser errors that make no sense to users2018-11-03
Example project breaks, and fixing it requires guessing dependency syntaxUnreviewed
20132026- Build breaks on the example project, and fixing it requires guessing the correct dependency syntax2024-09-23
- Turing-complete build files differ per project, causing errors and hard debugging2020-06-06
- Hard to figure out why builds fail2018-04-03
Error messages are unhelpful and confidently point to the wrong causeUnreviewed
20132026- Error messages are so unclear that they are hard to diagnose and fix2024-01-05
- Error messages are unhelpful and confidently point to the wrong cause2021-01-16
- Error warnings are four lines long and tell you nothing useful about the real cause2018-04-03
DSL syntax is forgotten between uses, so small changes must be relearnedUnreviewed
20132026- Forgets Gradle DSL syntax between uses, must relearn it to make small changes2024-10-28
- Gradle's configuration is so complex and quasi-DSL-like that build logic becomes hard to understand and maintain2024-07-08
- Converting examples between Kotlin and Gradle DSLs is non-trivial, and deviating from starters is hard2022-03-27
Unreviewed issues were grouped by machine: Claude Haiku labelled each comment as a usability complaint, named what it's about and summed up the problem in a line, and a small model grouped similar problems. Nobody has checked them by hand. Expect mistakes.
The newest 50 complaints
- Commenter finds Gradle constantly fights users with unnecessary friction and quirks2026-03-20
- Too much freedom and DSL abstractions make dependency configuration hard to keep straightforward2026-03-20
- Constant syntax churn and confusing docs make upgrades cost days of frustration2026-02-07
- Basic commands take 2+ seconds, so the CLI never feels snappy2026-01-01
- Gradle is confusing to use for building projects2025-10-25
- Gradle and Proguard make the author want to tear their hair out2025-10-25
- Has to reconfigure the IDE every week or two because of Gradle2025-09-29
- Updates break builds in weird ways, forcing hunts through StackOverflow for fixes2025-06-04
- Hard to tell which of several similar syntaxes a build script uses2025-02-16
- Build tool is so difficult to learn that the commenter refuses to try2024-11-30
- Build setup requires too much configuration compared to simple conventions2024-10-29
- Hard to discover options, unfamiliar Groovy syntax, and names change between versions2024-10-29
- Old builds download a wrapper version and then print endless unreadable output before failing2024-10-28
- Forgets Gradle DSL syntax between uses, must relearn it to make small changes2024-10-28
- Constantly fighting version hell to find Gradle and plugin versions that work together2024-10-28
- Build breaks on the example project, and fixing it requires guessing the correct dependency syntax2024-09-23
- Plugin order silently breaks the build definition, which the author hit on first Kotlin project2024-09-13
- Commenter has no idea how to use Gradle and just pokes until it works2024-08-29
- Declaring a custom build task becomes a mini project2024-08-29
- Hidden configuration in build scripts makes debugging problems hard and unpredictable2024-07-09
- Gradle's configuration is so complex and quasi-DSL-like that build logic becomes hard to understand and maintain2024-07-08
- When something goes wrong, it is nearly impossible to understand what happened or how to fix it2024-07-08
- Fails in cryptic ways and only works with the right setup combination2024-06-20
- Learning Gradle took excessive time reading docs, far more than doing useful work2024-06-20
- Gradle is not nice to use, per commenter's experience2024-05-16
- Hard to understand and work with; many ways to make code difficult to understand2024-04-04
- Gradle builds break on Fedora and only work inside an Ubuntu container2024-03-28
- Gradle scripts are inconsistent, with many ways to do the same thing and no guidance2024-03-28
- Gradle and Proguard are a frustrating mess to work with2024-03-06
- Gradle's overall usability is a clear problem, though vaguely described2024-01-05
- Error messages are so unclear that they are hard to diagnose and fix2024-01-05
- Build tools are convoluted and become time sinks when they don't work as advertised2024-01-05
- Must enable many flags and clear caches by hand to get builds working2024-01-05
- Builds are slow, even with no changes, and custom code generation is painful2024-01-05
- Quoted critic says Gradle is slow by default and needs extra work to configure sensibly2024-01-04
- Gradle's API docs are poor, so users struggle to make sense of it2024-01-04
- Upgrading Gradle is painful and the process keeps changing2023-12-22
- Setting up Gradle requires assembling a complicated, undocumented mess of disparate, incompatible dependencies2023-11-03
- Teams spend hours fixing Gradle breakage on every library update; too complex2023-11-03
- Gradle is hard to comprehend, with a steep learning cliff people give up on2023-09-14
- Build scripts look declarative but behave confusingly, and debugging them is hard2023-07-22
- Build tooling creates a barrier, making it hard to get projects running2023-06-25
- Groovy DSLs are hard to discover and understand, so doing anything takes great effort2023-06-12
- Builds are painfully slow and the Groovy DSL has poor autocompletion2023-04-26
- Steep learning cliff: you either understand it immediately or give up2023-04-26
- Using Gradle properly requires reimplementing the same complex things Maven already handles2023-04-26
- Gradle internals are poorly documented and hard to understand when writing plugins2023-04-26
- Official documentation is bad and the working model is hard to figure out2023-04-26
- Hard to learn and too complicated, with legacy concepts and lazy evaluation making it abstract2023-04-26
- Auto completion works poorly because of Groovy-centric internals and indirection2023-04-26