Android gradle androidDependencies实现,不仅使用此命令

时间:2017-08-31 08:40:05

标签: android gradle groovy

我知道一个命令' gradle androidDependencies'在android中。这显示了这个项目依赖树。像这样输出。

+--- com.android.support:appcompat-v7:26.0.0-alpha1@aar
|    +--- com.android.support:support-annotations:26.0.0-alpha1@jar
|    +--- com.android.support:support-v4:26.0.0-alpha1@aar
|    |    +--- com.android.support:support-compat:26.0.0-alpha1@aar

我想知道它是如何工作的? gradle read config在哪里(lib依赖)。

对象是我想写一个脚本代码显示项目lib依赖(json格式),我不想使用format命令输出日志。没有人可以帮助我吗?感谢

1 个答案:

答案 0 :(得分:0)

最后我找到答案,所以我在这里显示代码。

private checkPublishVersionName(def pom) {
for (org.gradle.api.artifacts.Configuration configuration : configurations) {
    DependencySet dependencies = configuration.allDependencies;
    for (Dependency dependency : dependencies) {
        String libNameVersion = dependency.group + ":" + dependency.name + ":" + dependency.version
        if (pom.version.contains("SNAPSHOT")) {
            println "-----------> 依赖库:" + libNameVersion
        } else { // 构造一个异常
            if (libNameVersion.contains("SNAPSHOT")) {
                println "请修正依赖库:" + libNameVersion
                println "-----------> release 包不能有对 snapshot 的依赖。"
                throw new PublishException("---> release 包不能有对 snapshot 的依赖。" + "请修正依赖库:" + libNameVersion)
            }
        }
    }
}
}