AFAIK there is no dependency inheritance in Gradle. Gradle uses configuration injection instead, see Cross project configuration. You could define a list of dependencies in the root project and then re-use it when configuring each subproject, this way you will not have to specify a version more than once.
I’m assuming the question is in the context of a multi-project build?
Something that seems to be somewhat of a convention (the gradle source uses this in their build files) is to define some project extension properties on the root project, i.e. something like:
This is assuming that your various subprojects do not have the exact same dependencies, but differing subsets of the dependencies but you would always like for a specific dependency (like log4j above) to be fixed to a specific, globally configured version.