I'm using Meson for a project using C++ with Gtkmm, Libmicrohttpd, catch2 and other libraries. My experience is good neglecting some minor issues. Meson is fast, well readable if written well, uses system libraries by default and allows flexible usage. On the other side I'm using Java with Maven and it is - a big burden. It's build in dependency retrieval system also isn't helping. Maybe I just don't like XML - becau…
I find pom.xml much more readable than deciphering a giant script file like build.gradle or CMakeLists.txt. 99% of the time I automatically know how the build works because its convention.
If you use it Maven-style, with relatively simple build scripts and all the complexity pushed out to plugins, it's very readable. A fair bit more readable than Maven, in my opinion, but I wouldn't care to argue that point in particular.
If you use it the way Stack Overflow tells you to do it, so that your build scripts are basically glorified ad-hoc Groovy programs, then, yeah, it's just impossible.
Unfortunately, since the only way to really understand any of Gradle is to understand all of Gradle, and understanding all of Gradle is a huge effort, it's kind of a catch-22. For most people, the only really sensible way to use it is to Google for advice and then do what Stack Overflow tells you to do. But that invariably leads to a result that is not even remotely sensible.
Long story short, my hot take is this. Maven is write-only. Gradle (ideal usage) is read-only. Gradle (normal usage) can be neither read nor written.