tags:

views:

170

answers:

1

I am trying to figure out how to write a simple if condition in nant that will evaluate to true when both x & y properties are true.

<project default="all">
    <property name="x" value="True" />
    <property name="y" value="True" />
    <target name="all">
        <echo message="x is True" if="${x}" />
        <echo message="y is True" if="${x}" />
        <echo message="x AND y are True" if="${x} AND ${y}" />
        <echo message="x AND y are True" if="${x} &amp;&amp; ${y}" />
    </target>
</project>

I cannot figure out the syntax for the x AND y echo message - I tried both AND and '&&' and that doesn't seem to work.(i keep getting error messages like : String was not recognized as a valid Boolean.)

+1  A: 

You want to use if="${x and y}", where both x and y are in the same pair of brackets:

<project default="all">
    <property name="x" value="true" />
    <property name="y" value="true" />
    <target name="all">
        <echo message="x is True" if="${x}" />
        <echo message="y is True" if="${y}" />
        <echo message="x AND y are True" if="${x and y}" />

    </target>
</project>

Hope that helps!

Jeff Sargent
works great! - thanks!
Yuval