Почему цель Gant выполняется при сбое одной из зависимостей?
Это содержание build.gant
:
target('cleanCache': 'description') {
...
}
target('remove': 'description') {
...
File app = new File("...")
if (!app.exists()) {
println "Error"
return -1
}
...
// continue if no error
...
}
target('default': 'description') {
depends(cleanCache, remove)
}
Если я запускаю этот скрипт, я получу ожидаемый результат, если цель remove
не удалось:
...
BUILD FAILED
Total time: 2,21 seconds
Но если я добавлю реализацию к default
цель, как следующее:
target('default': 'description') {
depends(cleanCache, remove)
println "Do default task"
}
Когда цель remove
не удалось, println
будет выполнен, и результат:
...
BUILD SUCCESSFUL
Total time: 2,20 seconds
default
цель зависит от remove
цель. Если remove
цель не достигнута, я ожидаю default
цель тоже не удалась. Как это сделать?
1 ответ
Решение
Вместо того, чтобы возвращать целочисленное значение для обозначения неудачной цели, вы должны вызвать fail()
,