Gradle's dependency management is declarative, highly flexible and can cope with demanding requirements posed by enterprise projects. Among its key functionalities are transitive dependency resolution, full compatibility with existing infrastructure like Maven and Ivy repositories, as well as precise dependency resolution control, reporting and diagnostics. I am sure you are already using those features for your own projects but you can go further. In this demo-driven session, we will focus on less prominent, but extremely powerful dependency management capabilities you can use in your build today.
In the course of this talk, we'll touch on topics such as:
* Location, structure and performance features of the Gradle cache
* Configuring dependency caching rules
* Enforcing artifact versions
* Making dependency version recommendations
* Replacing legacy artifacts
* Modifying dependency metadata
* Defining fine-grained metadata rules
* Resolving binary and metadata artifacts with the help of the artifact query API
* Typical enterprise dependency management use cases and how to solve them