2011-05-05 62 views
6
<if test="${deployErrors} &gt; 0"> 
    <fail message="MSDeploy failed" /> 
</if> 

${deployErrors}從正則表達式捕獲組填充並且具有數值或空字符串。如何在NAnt if塊中檢查它是否大於0?如果部署錯誤包含'1',則出現以下錯誤:NAnt:無法解析爲布爾值

'1> 0'對於 屬性'test'而言不是有效值。 無法將'1> 0'解析爲布爾值。 字符串未被識別爲有效的布爾值。

回答

7

我還沒有嘗試過,但我認爲你需要你的表達的花括號內全:

<if test="${deployErrors > 0}">

See also the second example in the documentation page.

從OP更新

這工作:

<if test="${deployErrors != ''}"> 
+0

謝謝,這讓我在正確的軌道上。我無法比較它們,因爲deployErrors將轉換爲數字。但是,比較它的作品。 – 2011-05-06 09:32:24

4

如果你需要做一些實際的數值,那麼你可以做這樣的事情:

<if test="${int::parse('0' + deployErrors) > 10}">