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