Groovy 为什么甘特在返回正整数目标时不失败?

Groovy 为什么甘特在返回正整数目标时不失败?,groovy,gant,Groovy,Gant,当我有以下build.gant target(example: 'example target') { echo(message: "name : ${it.name}, description: ${it.description}") } target(alwaysFails: 'never succeed') { 27 } 如果我总是运行甘特图失败,则生成失败。 但是如果我运行甘特alwaysFails示例,则构建成功 实际上,我预期构建失败,“示例”目标没有运行 如何使甘特在目

当我有以下
build.gant

target(example: 'example target') {
  echo(message: "name : ${it.name}, description: ${it.description}")
}

target(alwaysFails: 'never succeed') {
  27
}
如果我总是运行甘特图失败,则生成失败。 但是如果我运行
甘特alwaysFails示例
,则构建成功

实际上,我预期构建失败,“示例”目标没有运行


如何使甘特在目标失败时停止?

我相信您必须使目标相互依赖,因此

target(alwaysFails: 'never succeed') {
  27
}

target(example: 'example target') {
  depends( alwaysFails )
  echo( message: "name : ${it.name}, description: ${it.description}" )
}
然后运行:

gant example

将运行
alwaysFails
,如果成功(从未成功),则运行
example
。通过这种方式,我相信您获得了想要的功能。

我使目标在必须始终失败时抛出异常。它起作用了

throw new RuntimeException('error message..')

谢谢,但问题是,
alwaysFailes
是可选目标。我不能让
示例
依赖于
始终失败
。它类似于
clean
compile
目标。有时我们需要调用
gant clean compile
,但是,
compile
不应该依赖于
clean