为什么当其中一个依赖项失败时执行Gant目标?

时间:2013-01-27 07:54:59

标签: groovy 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 个答案:

答案 0 :(得分:0)

您应该调用fail()

,而不是返回整数值来指示失败的目标