Dependency resolution
We have seen the standard way of defining dependency and repository, which can help you to quick start with the concepts. It's time for a deep dive, and understand how to customize the standard configuration, which can suit your specific requirements.
Transitive dependency
Suppose your application depends on commons-httpclient-3.1.jar
, which is a first-level dependency. However, this JAR again depends on the following other JARs, commons-codec-1.2.jar
and commons-logging-1.0.4.jar
.And if we try to find more details, commons-logging jar
again depends on some other JARs.
Here, commons-httpclient-3.1
is a first-level dependency; the two previously mentioned JARs are second-level dependencies, and so on. However, with Gradle, you do not need to manage all these levels of dependencies. Imagine the complexity, if you have to figure out and mention each level of dependency in the build file. This can be very tedious and time consuming. And it becomes more painful if you encounter...