如何使用ant missing-link处理多个成功的状态代码?

时间:2013-10-08 19:01:28

标签: ant

我正在使用missing-link http任务将构建工件推送到我们的工件存储库。问题是,如果我推送一个新工件,我得到一个201的HTTP响应代码。如果我推翻现有工件,我得到一个204.这两个都在我的上下文中是有效的。但expected的{​​{1}}属性只接受一个响应代码。我尝试了<http>expected="201,204"但是在执行该ant节点时我得到了expected="201 204"。有没有办法允许201和204,但将任何其他响应视为失败?

1 个答案:

答案 0 :(得分:1)

不,不是直接尝试。您必须修改并重建它。我查了代码,expectedint。如你发现它不会列出一个列表。

这将是一个丑陋的解决方法,但您可以设置failonunexpected=false

如果你通过设置failonunexpected=false然后将状态放在属性statusProperty="http.status"中而不管http返回是什么来继续,你可以使它变得不那么难看,如果{http.status你可以使用它来使构建失败1}}不是201 or 204。类似的东西:

<condition property="http.status.ok">
  <matches pattern="20[14]" string="${http.status}"/>
</condition>
<fail message="Bad http status ${http.status}" unless="http.status.ok"/>

告诉我有关您的工件库的更多信息。它是maven还是常春藤布局?您可以利用Ivy's publish任务。