如何使用Gradle API获取项目的依赖信息

有时我们会想开发一个插件或者gradle script获取当前项目的依赖。在不了解gradle的api的情况下,可能会用解析build.gradle文件的笨办法方式去分析,但其实这种方式很不靠谱。

Gradle本身提供了全面的API获取项目的依赖信息,利用这个API,你可以查询:

  1. 用户在build.gradle里声明的显式依赖

  2. 因为传递依赖(transitive dependency)被隐式引入的依赖

  3. 经过解析后,最终被采用的依赖

  4. 经过解析后,解析失败的依赖

Configuration

Gradle的依赖是用Configuration进行管理的,不同的configuration,里面包含的依赖的使用时机就不一样。例如在android项目中, `debugCompileClasspath`是编译debug版本时使用的依赖。

查询debugCompileClasspath中的依赖

这里以之为例,来介绍如何查询其中的依赖。