For configuring Android apps builds, I'm looking at the new Gradle Versions Catalog system and trying to figure out why I would need to use it rather than simply declaring all version values in the single application-level gradle build file instead - where it can be seen by all modules. (Gradle VC seems to involve may more work to set up than using the app-level build file.)
Are there any additional features/benefits that the versions catalog system provides?
As you've discovered, if you're already stating all versions in a single, module-independent place then version catalogs are less of an improvement than those defining versions in multiple places.
However, there are still a few advantages:
[plugins]
block helps make plugin management more in line with typical dependency management, instead of existing totally separately.Having just migrated a large project that previously stored ~95% of the dependencies in a central dependencies.gradle
, but had plenty of exceptions, the migration was a great "clean slate" moment.
In conclusion it's better than any other solution (since it's standardised and officially supported), but not by much (yet).