有时我们会想开发一个插件或者gradle script获取当前项目的依赖。在不了解gradle的api的情况下,可能会用解析build.gradle文件的笨办法方式去分析,但其实这种方式很不靠谱。
Gradle本身提供了全面的API获取项目的依赖信息,利用这个API,你可以查询:
-
用户在build.gradle里声明的显式依赖
-
因为传递依赖(transitive dependency)被隐式引入的依赖
-
经过解析后,最终被采用的依赖
-
经过解析后,解析失败的依赖
Configuration
Gradle的依赖是用Configuration进行管理的,不同的configuration,里面包含的依赖的使用时机就不一样。例如在android项目中, `debugCompileClasspath`是编译debug版本时使用的依赖。
查询debugCompileClasspath中的依赖
这里以之为例,来介绍如何查询其中的依赖。