I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN...
…ATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I HATE THE ANDROID GRADLE PLUGIN I...
Maven and Cradle might be terrible, but C and C++ have fucking nothing in terms of dependency management. Even C# has something that few people use, but it has something. C and C++ are such a shit show to build. It's so bad they had to invent languages to build them and they regularly fuck up (CMake, make, bison, scons, meson, ...).
Pull a C or C++ project on a distro or environment and try to build it and you have to dive in the abyss of undeclared dependencies. And good fucking luck with glibc and glib dependencies. If the dev doesn't know which version they were actually using, it's up to you to find out. Fun for the entire family!
To be fair, C predates dependency hell. It was either there or it wasn't. C++ has less of an excuse, but it was just object oriented concepts taped to C so it's no surprise it was also missing dependency management.
Now with cmake, gnu-make, meson, gradel, and the world of metabuild systems that wrap those, nothing will change. It it does, it might as well kick start world war 3.
That's odd... all the projects i use document their install process fairly well, most of them using either cmake or autotools.
The only "terrible" scenarios i occasionally encounter is, yes, trying to automate the android toolchain - i blame Google though, not C/C++ as the Android toolchain is intentionally designed to be used with Android Studio and trying to veer of that is increasingly harder.
Oh you mean Android Studio automagically "updating" your versions so that your build breaks and you spent 3 hours figuring out what just happened without you even touching anything?