[英]Gradle 6: get the list of implementation dependencies programmatically
我有一个 java 项目的build.gradle
文件,如下所示:
group "com.example"
dependencies {
implementation project(':project:project-base')
}
如何以编程方式获取实现依赖项列表?
我希望是这样的:
configurations.compile.dark.magick.moreMagicDependencies()
返回一组依赖项进行筛选,但我可能遗漏了一些重要的东西。
谢谢!
我认为你可以像下面的代码一样使用resolvedConfiguration
。 请注意,“实现”无法直接解决(尝试..)。
但是你可以使用例如。 compileClasspath
(如果它适合你的情况); 还有一些其他配置可以扩展“实现”(请参阅Java Library plugin.. 中的图表)。
调用下面的代码,如gradle :mymodule:dumpDependencies
apply plugin: 'java-library'
dependencies {
implementation 'org.springframework:spring-web:5.2.1.RELEASE'
}
task dumpDependencies {
doLast {
def resolved = configurations.compileClasspath.resolvedConfiguration
println "files=$resolved.files"
resolved.resolvedArtifacts.each {
artifact-> println "artifact=$artifact"
}
}
}
编辑还要注意compile
已弃用,如果您使用implementation ..
,则compile
依赖项将为空(当然,您可以使用gradle :module1:dependencies
检查)。
为了扩展 Daniele 的答案,这将返回我正在寻找的内容:
configurations.compileClasspath.incoming.dependencies.findAll {
it.group && it.name && it.getProperties().get("dependencyProject")
}.collect {
[group: it.group, name: it.name]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.