【问题标题】:List original declared scopes for dependency in Gradle列出 Gradle 中原始声明的依赖范围
【发布时间】:2016-12-01 09:23:49
【问题描述】:

我想以编程方式列出所有声明了给定依赖项的范围。

例如在build.gradle:

dependencies {
    compile 'junit:junit:4.12'
    runtime "commons-io:commons-io:2.5"
}

我想知道commons-io:commons-io:2.5 具有runtime 范围的信息。

但是,如果我创建以下任务:

task runtimeDeps << {
    configurations.findByName('runtime').allDependencies.each { println it }
}

我得到了输出:

DefaultExternalModuleDependency{group='commons-io', name='commons-io', version='2.5', configuration='default'}
DefaultExternalModuleDependency{group='junit', name='junit', version='4.12', configuration='default'}

这太多了,因为 junit 是用 compile 声明的。 如何获取原始依赖范围的信息?

【问题讨论】:

    标签: gradle groovy dependency-management


    【解决方案1】:

    dependencies代替allDependencies

    task runtimeDeps << {
        configurations.findByName('runtime').dependencies.each { println it }
    }
    

    allDependencies 也为runtime 扩展的范围返回依赖关系,即compile

    【讨论】:

      猜你喜欢
      • 2019-08-27
      • 1970-01-01
      • 2015-01-25
      • 1970-01-01
      • 2020-02-28
      • 2015-10-14
      • 1970-01-01
      • 2020-10-21
      • 2023-04-06
      相关资源
      最近更新 更多