假设我们在Gradle中有一个任务,它可以打印工件组、名称和版本,就像这样,但我想做的是,不仅要打印声明的依赖,还要打印所有已解决的依赖。
task printDependencies {
project.configurations.each { conf ->
conf.dependencies.each { dep ->
println "${dep.group}:${dep.name}:${dep.version}"
}
}
}
但我想做的是,不仅要打印已声明的依赖关系,还要打印所有已解决的依赖关系的信息。在Gradle中如何做到这一点?
一种解决方案是像这样定义任务。
task printDependencies {
project.configurations.compile.resolvedConfiguration.resolvedArtifacts.each { id->
println id
}
}
打印的行格式将是这样的,例如
play-services-ads-16.0.0.aar (com.google.android.gms:play-services-ads:16.0.0)
其中包含了所有需要的信息(文件,组:名称:版本)。