Gradle silently ignores missing/invalid dependency versions if another dependency depends on a valid version of it

Gradle will happily ignore missing/invalid dependency versions, without giving you any feedback, and instead will use a different version if another dependency depends on it. This can cause issues when trying to run or debug a project.

Tested with the idea task/plugin.

On the flipside, it would be more expensive to exercise every dependency. We aren’t likely to change the current behaviour for this reason.

What about changing it so gradle dependencies checks all dependencies and provides a hierarchy?

As in

root
| - dep
| - dep
|   | - dep
| - dep

Instead of the way it is now?