我希望以编程方式列出声明了给定依赖项的所有范围。
例如,有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
,因此过多。 如何获取有关原始依赖范围的信息?
答案 0 :(得分:2)
而不是allDependencies
使用dependencies
:
task runtimeDeps << {
configurations.findByName('runtime').dependencies.each { println it }
}
allDependencies
也会针对runtime
扩展的范围返回依赖关系,即compile
。