4.7
Docs
Open Docs Menu
User Manual
Guides and Tutorials
DSL Reference
Javadoc
Release Notes
Forums
Training
Enterprise
User Manual Home
Release Notes
Getting Started
Installing Gradle
Creating New Gradle Builds
Creating Build Scans
Migrating From Maven
Using Gradle Builds
Command-Line Interface
Customizing Execution
Configuring Build Environment
Configuring Gradle Daemon
Initialization Scripts
Executing Multi-Project Builds
Gradle Wrapper
Troubleshooting
Using Build Scans
Project Tutorials
Android
Building Android Apps
C++
Building C++ Executables
Building C++ Libraries
Groovy
Building Groovy Libraries
Java
Building Java Applications
Building Java Libraries
Building Java 9 Modules
Building Java Web Applications
JavaScript
Running Webpack with Gradle
Kotlin
Building Kotlin JVM Libraries
Scala
Building Scala Libraries
Authoring Gradle Builds
Groovy DSL Reference
Gradle API Javadoc
Gradle Feature Lifecycle
Best Practices
Authoring Maintainable Build Scripts
Organizing Build Logic
Optimizing Build Performance
Using the Build Cache
Build Configuration Scripts
Build Cache Basics
Build Initialization
Build Lifecycle
Build Script Basics
Composite Builds
Configuring Multi-Project Builds
Declaring Tasks
Logging
Standard Gradle Plugins
Testing with TestKit
Using Gradle Plugins
Working with Files
Writing Build Scripts
Writing Custom Task Classes
Dependency Management
Introduction to Dependency Management
Dependency Management Terminology
Dependency Types
Repository Types
Declaring Dependencies
Declaring Repositories
Inspecting Dependencies
Managing Dependency Configurations
Managing Transitive Dependencies
Troubleshooting Dependency Resolution
Customizing Dependency Resolution Behavior
Dependency Cache Internals
Working with Dependencies
Publishing Artifacts
Distribution Plugin
Maven Plugin
Maven Publish Plugin
Ivy Publish Plugin
Publishing Artifacts Overview
Signing Plugin
Sample Gradle Builds
Groovy DSL Samples
Kotlin DSL Samples
Base Plugin
C++ Projects
Building Native Software
Software Model Concepts
Rule-based Model Configuration
Implementing Model Rules in a Plugin
Extending the Software Model
Groovy Projects
Groovy Quickstart
Groovy Plugin
CodeNarc Plugin
Java Projects
Java Quickstart
Building Java & JVM Projects
Testing Java & JVM Projects
Java Plugin
Java Library Plugin
Java Library Distribution Plugin
Java Dependency Management
Using Ant from Gradle
ANTLR Plugin
Application Plugin
Code Quality Plugins
Checkstyle Plugin
FindBugs Plugin
JaCoCo Plugin
JDepend Plugin
PMD Plugin
OSGi Plugin
Java Web Projects
Web Application Quickstart
EAR Plugin
Play Plugin
WAR Plugin
Scala Projects
Scala Plugin
Integrating Gradle
Continuous Integration
Using Gradle with Jenkins
Using Gradle with Travis CI
IDE Integration
Eclipse Plugin
IDEA Plugin
Tooling API
Extending Gradle
Plugin Development Guides
Designing Gradle Plugins
Implementing Gradle Plugins
Testing Gradle Plugins
Publishing Gradle Plugins
Developing Parallel Tasks
Lazy Task Configuration
Plugin Development Plugin
Writing Custom Plugins
Dependency management
Table of Contents
Introduction to Dependency Management
What is dependency management?
Dependency management in Gradle
How dependency resolution works
Declaring Dependencies
Declaring a dependency to a module
Declaring a file dependency
Declaring a project dependency
Resolving specific artifacts from a module dependency
Managing Dependency Configurations
What is a configuration?
Defining custom configurations
Inheriting dependencies from other configurations
Declaring Repositories
Declaring a publicly-available repository
Declaring a custom repository by URL
Declaring multiple repositories
Inspecting Dependencies
Listing dependencies in a project
Identifying which dependency version was selected and why
Justifying dependency declarations with custom reasons
Managing Transitive Dependencies
Managing versions of transitive dependencies with dependency constraints
Excluding transitive module dependencies
Enforcing a particular dependency version
Disabling resolution of transitive dependencies
Importing version recommendations from a Maven BOM
Working with Dependencies
Iterating over dependencies assigned to a configuration
Iterating over artifacts resolved for a module
Navigating the dependency graph
Accessing a module’s metadata file
Customizing Dependency Resolution Behavior
Using dependency resolve rules
Using dependency substitution rules
Using component metadata rules
Using component selection rules
Using module replacement rules
Specifying default dependencies for a configuration
Enabling Ivy dynamic resolve mode
Troubleshooting Dependency Resolution
Resolving version conflicts
Using dynamic versions and changing modules
Controlling dependency caching programmatically
Controlling dependency caching from the command line
Locking dependency versions
Versioning of file dependencies