Я хочу написать задачу построения градиента, чтобы выполнить некоторое копирование репозитория артефакта и reorg. Я получил это далеко:Как я могу получить как файл артефакта, так и метаданные артефакта из зависимостей градиентов?
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}"
}
}
}
}
То, что я не могу получить это ссылка на загруженный файл в пределах dependency.artifacts.each() петли.
Лучшее, что я могу сделать, это заполнить массив, перейдя через файлы configuration.files, а затем надеюсь, что мой второй набор циклов над метаданными артефакта будет идти в том же порядке, что и файлы. Мне явно не хватает чего-то
Возможно, есть альтернативный способ? Я действительно хочу создать набор задач, по одному на артефакт, который позволит мне опубликовать новый артефакт с измененными элементами метаданных (например, идентификатор группы, идентификатор артефакта и версия должны измениться).
Кажется, что не работает _quite_, но я думаю, что это указывает на правильное направление ... Я нахожу здесь отладчик и исследую больше. –
Я забыл указать артефакт (исправлено). Хороший способ узнать об API - проверить ссылку [Gradle Build Language Reference] (http://gradle.org/docs/current/dsl/index.html), которая далее связывается с Javadoc/Groovydoc. –
Хорошо, спасибо! Это работает. Ссылка хорошая, если вам уже комфортно со всей структурой. Я все еще пытаюсь понять это. –