Skip to main content
Version: Next

Overshot Dependency

Finds project dependencies which aren't used by the declaring configuration, but are used by a dependent, downstream configuration.

For instance, assume that :moduleB declares an implementation dependency upon :moduleA.

moduleB/build.gradle.kts
dependencies {
implementation(project(":moduleA"))
}

If :moduleB doesn't actually use :moduleA in its main source, but it does use it in test source, it's an overshot dependency. The declaration should be changed to use testImplementation:

moduleB/build.gradle.kts
dependencies {
testImplementation(project(":moduleA"))
}