Speaker Topics - No Fluff Just Stuff

Dependency Resolution Deep Dive

Dependency Management is a cornerstone of virtually every build process. To really get the most out of dependency management it helps to have a deep understanding of what's going on. That's the goal of this session: to provide an in-depth understanding of just what's going on when you configure a set of dependencies and repositories and resolve those into a set of files.

This session will cover in detail:

  • Why we made the switch away from using Ivy under the covers, and how Gradle is different
  • Repositories: how they work and what they are responsible for
  • Dependencies: the various types of dependencies (Client Module, Module, Project) and how they differ
  • Caching: exactly how it works in Gradle, and why we think it's better than anything else.
  • Conflict resolution: the mechanism as it stands and how we plan to improve it in the future
  • How dependency resolution in Gradle is different from Maven and Ivy

In each case, we'll cover the motivations behind the current design, as well as giving a sneak peek into the plans for cool new features to come.


About Daz DeBoer

Daz has been a core member of the Gradle Inc. engineering team for over 6 years, helping take Gradle from an early-adopters tool into the mainstream. Over this time, he has been deeply involved in the delivery of a number of key features, including the improved dependency resolution cache, parallel build execution, and support for building native apps with Gradle.

Most recently, Daz has driven the design and implementation of 'Composite Builds' support in Gradle, providing a flexible mechanism for combining multiple Gradle builds into a single composite.

More About Daz »