【问题标题】:Gradle - get dependency list for each library/moduleGradle - 获取每个库/模块的依赖项列表
【发布时间】:2018-06-19 21:16:31
【问题描述】:

我正在尝试获取项目中每个模块/库的依赖项列表。

这是项目的结构:

Project
+ --- library1
     + --- library2
        + --- library3
     + --- library4
        + --- library3

项目的build.gradle是

dependencies {
     compile project(':library1')
}

library2 和 library4 都依赖于 library3。并且它们编译依赖的方式与project相同。

我想获取每个模块/库的依赖项,以便我可以决定这些库的版本升级顺序并在脚本文件中上传到 maven。

所以我首先想将每个模块的这些依赖项保存在一个变量中,脚本文件可以读取它并执行自动化工作。

我尝试在自定义 gradle 构建文件中使用 Conifguration.getAllDependencies()。但它不起作用。

有人知道我该怎么做吗? 任何建议将不胜感激!

==== 更新:

我尝试在项目的 gradle 文件下添加一个任务

List<ProjectDependency> dependencies =
        project.configurations.collectMany {
            it.allDependencies
        }.findAll {
            it instanceof ProjectDependency
        }

但依赖项返回 0 大小的列表

【问题讨论】:

    标签: maven gradle groovy


    【解决方案1】:
    • 对于一个简单的项目,可以通过调用
    project.configurations*.
            dependencies*.
            findAll { it instanceof ExternalDependency }.
            flatten()
    

    注意使用ExternalDependency,而不是ProjectDependency

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-27
      • 2016-10-08
      • 1970-01-01
      • 1970-01-01
      • 2017-03-02
      • 1970-01-01
      • 1970-01-01
      • 2016-08-20
      相关资源
      最近更新 更多