Я пытаюсь создать задачу Zip, которая создала бы пакет распространения для моего проекта, содержащий файлы jar проекта и war (и, возможно, другие артефакты сборки, созданные задачей build
).
Итак, я попытался написать этот простой скрипт
task dist(dependsOn: 'assemble', type: Zip){
into('lib'){
from 'build/libs' //contains jar and war files
}
... //other stuff
}
Задача dist
зависит от сборки
, потому что она удобно включает задачи, которые создают файлы jar и war.
Но если я попытаюсь выполните это, gradle жалуется на следующее сообщение об ошибке:
Circular dependency between tasks. Cycle includes [task ':assemble', task ':dist'].
Я проверил спецификацию для задачи сборки
, и четко написано, что задача сборка
автоматически зависит от
всех архивных задач в проекте, который, очевидно, включает мою задачу dist
. И, похоже, нет никакого способа обойти это.
Каким будет правильный способ сделать это в gradle? Как сделать zip-задачу, зависящую от задачи сборки
? Я мог бы сделать задачу dist
явно зависимой от задач jar
и war
, но я думаю, что это немного нарушает инкапсуляцию.
Я использую gradle-1.0-milestone-3.
Заранее спасибо!