试图在自定义gradle任务中获取我的build.gradle依赖项的组名和版本
我正在尝试做一些我觉得应该相对简单的事情,但是互联网上似乎没有任何东西能给我我想要的 基本上,我想从我的试图在自定义gradle任务中获取我的build.gradle依赖项的组名和版本,gradle,dependency-management,gradle-task,Gradle,Dependency Management,Gradle Task,我正在尝试做一些我觉得应该相对简单的事情,但是互联网上似乎没有任何东西能给我我想要的 基本上,我想从我的build.gradle中获取compile/testCompile依赖项(我不想要任何子依赖项,就像它们在文件中一样),对于每个子依赖项,我想对组名、名称和版本做些什么。就说我想把它们打印出来 这是我的build.gradle: dependencies { compile 'org.spring.framework.cloud:spring-cloud-example:1.0.6'
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
Brilliant-谢谢Stanislav!而且回来得这么快也得了高分!