gpt4 book ai didi

gradle - 尝试在自定义gradle任务中获取组名称和build.gradle依赖项的版本

转载 作者:行者123 更新时间:2023-12-03 03:13:26 26 4
gpt4 key购买 nike

我正在尝试做一些我认为应该相对简单的事情,但是互联网上似乎没有任何东西可以给我我所追求的。

基本上,我想从build.gradle中获取compile / testCompile依赖项(我不希望任何子依赖项-就像它们在文件中一样),并且对于每个子依赖项我都希望使用组名进行操作,名称和版本。假设我要打印它们。

所以这是我的build.gradle:

dependencies {
compile 'org.spring.framework.cloud:spring-cloud-example:1.0.6'
compile 'org.spring.framework.cloud:spring-cloud-other-example:1.1.6'
testCompile 'org.spring.framework.cloud:spring-cloud-example-test:3.1.2'
}

task printDependencies {
//some code in here to get results such as...
// org.spring.framework.cloud spring-cloud-other-example 1.1.6
}

谢谢大家

最佳答案

要遍历所有依赖项,可以遍历所有配置和所有配置依赖项。像这样:

task printDependencies {
project.configurations.each { conf ->
conf.dependencies.each { dep ->
println "${dep.group}:${dep.name}:${dep.version}"
}
}
}

如果需要确切的配置依赖关系,则可以单独获取它们:
task printDependencies {
project.configurations.getByName('compile') { conf ->
conf.dependencies.each { dep ->
println "${dep.group}:${dep.name}:${dep.version}"
}
}

project.configurations.getByName('testCompile') { conf ->
conf.dependencies.each { dep ->
println "${dep.group}:${dep.name}:${dep.version}"
}
}
}

或修改第一个示例,通过添加条件来检查 conf.name

关于gradle - 尝试在自定义gradle任务中获取组名称和build.gradle依赖项的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38147226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com