У меня есть многопроектная градиентная сборка, которая строит файл войны в каждом из подпроектов, когда я запускаю «войну град».Gradle - создайте тон всех подпроектов
Теперь я хочу создать задачу dist или tar в корневом проекте, который добавляет все военные файлы в tar.
Как выполнить задачу, которая зависит от конкретных задач подпроектов?
Я пробовал это, но военные задания не запускаются.
task explodedDist() {
dependsOn tasks.withType(War)
println "Finish"
}
Это работает, однако, я предпочел бы не иметь явно перечислить имена всех подпроектов в корневой задаче.
task explodedDist() {
dependsOn ':first:war'
dependsOn ':second:war'
println "Finish"
}
Есть ли лучший способ использования «подпроектов» или тому подобного?
Я по существу строю все подпроекты, а затем деактивирует их как dist. Похоже, это должно быть довольно распространенным явлением. Каков правильный способ сделать это?
Важно понимать, что эти «println' происходят, когда сценарий оценивается (этап конфигурации), а не когда задача выполняется (этап выполнения). Чтобы добиться последнего, 'println' нужно будет обернуть с помощью' doLast {...} '. –