在Gradle中列出原始声明的依赖范围

时间:2016-12-01 09:23:49

标签: gradle groovy dependency-management

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

例如,有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,因此过多。 如何获取有关原始依赖范围的信息?

1 个答案:

答案 0 :(得分:2)

而不是allDependencies使用dependencies

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

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