Dependency Management with Gradle 6.0Gradle 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!