Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dependency Management with Gradle 6.0

Michael Storozhilov
February 29, 2020
340

Dependency Management with Gradle 6.0

Gradle offers a wide variety of tools to help you control the dependencies of your application or library. If you want to learn how to escape or not even enter dependency hell, come to this talk. You will gain an understanding of the principles behind the tool but also learn recipes for direct application.

Whether you use a mono-repository or multi-repository approach for your sources, managing dependencies is central to productivity by reusing artifacts and ensuring a quality build. A single incorrect dependency can break existing code, introduce a vulnerability or simply prevent your project from building.

This deep dive will be focused on dealing with dependency resolution conflicts and managing transitive dependencies to fix common issues.

The topics covered include:
Using rich version constraints to express intent
Documenting dependencies
Version conflicts and how they are resolved by Gradle, highlight differences with Apache Maven ™ and Apache Ivy ™
Viewing dependency results and debugging dependency resolution
Customizing version resolution
Dealing with incorrect module metadata
Aligning the version of a group of dependencies
Dealing with modules that changed coordinates or conflicting implementations
Excluding dependencies
Publishing libraries to external repositories
The Gradle Module Metadata format
All these will be covered so you understand why they matter and how to apply them!

Michael Storozhilov

February 29, 2020
Tweet

More Decks by Michael Storozhilov

Transcript