我想编程列出所有依赖性的范围。
例如在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
声明。如何获取有关依赖性原始范围的信息?
而不是allDependencies
使用dependencies
:
task runtimeDeps << {
configurations.findByName('runtime').dependencies.each { println it }
}
allDependencies
也返回 runtime
扩展的范围的依赖项,即 compile
。