Remove dependencies already inherited from an extended configuration

MSAL

Remove a dependency declaration whose configuration already receives the same dependency from a configuration it extends. testImplementation extends implementation, and in java-library implementation extends api, so declaring one coordinate on both reaches nothing the wider declaration did not already reach — the second line only has to be kept in step with the first. The declaration on the extending configuration is the one removed, leaving the widest. Declarations whose versions differ are left alone, since removing one of those changes which version resolves, and configurations unrelated by extendsFrom, such as compileOnly beside implementation, express two intentions rather than a duplicate. See the Gradle best practice.

org.openrewrite.gradle.migrate.artifacts.RemoveInheritedDependencies
mod run . --recipe=org.openrewrite.gradle.migrate.artifacts.RemoveInheritedDependencies

Install it once from Recipe actions, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.