2009-04-30 13 views
6

En mi script de Nant, me gustaría comparar el valor de una propiedad con una cadena conocida. Después de leer la documentación Nant Expressions, creí que sería capaz de hacer una comparación básica '==' para evaluarla como booleana.Evaluar la igualdad de propiedad en Nant

Sin embargo, teniendo el bloque de script:

<if test="${target.env} == Dev"> 
    <echo message="***** You are using DEV"/> 
</if> 

cuando se ejecuta que recibo el siguiente error:

'Dev == Dev' is not a valid value for attribute 'test' of <if ... />. 
    Cannot resolve 'Dev == Dev' to boolean value. 
    String was not recognized as a valid Boolean. 

Esto parece como si debe ser simple (y probablemente lo es). ¿Cómo comparo dos cadenas o propiedades en Nant para evaluar como un booleano?

Respuesta

9

Véase here por ejemplo. p.ej.

<if test="${target.env}=='Dev'"> 
    .... 
</if> 
+1

beautiful. ¡Sabía que sería fácil! – berko

+1

Para mí esto es lo que funcionó

16

También funciona si tiene toda la expresión dentro de las llaves:

<if test="${target.env =='Dev'}"> 
    .... 
</if> 
+1

De esta manera también funciona si está comparando con una cadena vacía (por ejemplo, ), donde -como la versión superior no hace – gerrod

4

si desea comparar dos variables $ {} test.var1 y $ {} test.var2 entonces

<if test="${test.var1 == test.var2}"> 
.... 
</if> 
+0

Gracias. Lo que estoy buscando – Geddon