我想编写一个gradle构建任务来执行一些工件repo复制和重组.我到目前为止:
apply plugin: 'maven'
apply plugin: 'maven-publish'
repositories {
...
}
configurations {
...
}
dependencies {
...
}
task doit << {
configurations.each { configuration ->
println configuration
configuration.files.each { file ->
println " f=${file.path}"
}
configuration.dependencies.each { dependency ->
println " g=${dependency.group}"
println " i=${dependency.name}"
println " v=${dependency.version}"
dependency.artifacts.each { artifact ->
println " x=${artifact.classifier}"
println " n=${artifact.name}"
println " u=${artifact.url}"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我无法获得的是对dependency.artifacts.each()循环中下载文件的引用.
我能做的最好的事情是通过遍历configuration.files来填充数组,然后希望我对工件元数据的第二组循环与文件的顺序相同.我显然错过了一些东西
也许有一些替代方式?我真正想要的是生成一组任务,每个工件一个,这将允许我发布具有已更改的元数据项的新工件(即组ID,工件ID和版本应该更改).
您想遍历已解决的依赖项/工件,而不是遍历所请求的依赖项/工件。就像是:
configuration.resolvedConfiguration.resolvedArtifacts.each { artifact ->
println artifact.moduleVersion.id.group
println artifact.moduleVersion.id.name
println artifact.moduleVersion.id.version
println artifact.file
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4088 次 |
| 最近记录: |