Book Image

Gradle Dependency Management

By : Hubert Klein Ikkink
Book Image

Gradle Dependency Management

By: Hubert Klein Ikkink

Overview of this book

Table of Contents (14 chapters)
Gradle Dependency Management
About the Author
About the Reviewers

Customizing dependency resolution rules

For each dependency we define in our build file, there is a dependency resolution rule. This rule is executed when the dependency needs to be resolved. We can customize this rule in our build file, so we can change certain parts of the rule before the dependency is actually resolved. Gradle allows us to change the dependency group, name, and version with a customized resolution rule. This way, we can even completely replace dependencies with other dependencies or force a particular version.

Dependency resolution rule details are implemented in the org.gradle.api.artifacts.DependencyResolveDetails class. Inside the resolutionStrategy configuration block, we use the eachDependency method to customize a resolution rule. This method accepts a closure, and the closure argument is an instance of DependencyResolveDetails. We use the useVersion and useTarget methods of DependencyResolveDetails to change either the version or the complete group, name, and version...