我有点像Ant n00b,但我希望这个问题不是太过分了:
我有一部分Ant脚本需要监视远程进程并报告它是成功还是失败。远程信息作为REST资源公开。它背后的过程可能需要几分钟,因此我可能需要多次轮询才能获得“正在进行中”之外的结果。
在非常粗略的伪代码中,我需要这样的东西:
while(true) {
get REST resource status
if status='success' or status='failure'
break;
sleep 10
}
我知道我可以(ab)使用<waitfor>
任务重复评估一个条件,但我不能为我的生活找出那个条件应该是什么。我能想到的最好的是使用<scriptcondition>
,但后来我遇到了Rhino JS(Ant使用的)没有XMLHttpRequest
来发送REST查询的问题。
在Ant脚本的其他部分中,我们使用<exec>
运行curl命令与REST服务进行交互,但我不知道如何在<waitfor>
内执行此操作。 / p>
编辑:我忘了提到我(暂时)被Ant 1.7.1困住了。此外,我意识到将它推送到外部(bash,python,php,无论如何)脚本可能更容易,但我更愿意将它保存在Ant脚本中。