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

${deployErrors} está poblado de un grupo de captura de expresiones regulares y, o bien tiene un valor numérico o una cadena vacía. ¿Cómo puedo verificar si esto es mayor que 0 en un bloque NAnt si? Aquí está el error que estoy recibiendo errores si desplegar contiene '1'de NAnt: no puede resolver al valor booleano

'1> 0' no es un valor válido para atributo 'prueba' de. No se puede resolver '1> 0' con el valor booleano. Cadena no reconocida como booleana válida.

Respuesta

7

yo no lo he probado, pero creo que necesita la totalidad de su expresión dentro de las llaves:

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

See also the second example in the documentation page.

actualización de OP:

Esto funcionó:

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

Gracias, que me puso en el camino correcto. No pude compararlos porque deployErrors se convertiría en un número. Sin embargo, comparándolo con '' funciona. –

4

Si tiene que hacer algo con el valor numérico real entonces se podría hacer algo como esto:

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