Ant - 驱动 属性 值的多个条件
Ant - multiple conditions to drive a property value
我正在尝试在 Ant 检查目标中添加多个 AND 条件以设置 属性。我想根据设置的 属性 执行某些操作。
<target name="checkVal">
<condition property="val.present">
<and>
<available file="${srcDir}/somefile"/>
<matches pattern="MyClass.java" string="${pathString}"/>
</and>
</condition>
<fail message="Failing the condition."/>
</target>
<target name="doSomething" depends="checkVal" if="val.present">
...
</target>
如果 属性 val.present
由 <and>
块中的 2 个条件设置,则执行 "doSomething"。一个条件检查文件是否可用,另一个条件检查路径字符串是否包含特定源文件。
我总是收到失败消息。
下面的工作虽然:
<target name="checkVal">
<available file="${srcDir}/somefile" property="val.present"/>
</target>
<target name="doSomething" depends="checkVal" if="val.present">
...
</target>
有人能告诉我如何才能正确吗?
在我用 contains
任务替换 matches
任务后它起作用了。
<target name="checkVal">
<condition property="val.present">
<and>
<available file="${srcDir}/somefile"/>
<contains substring="MyClass.java" string="${srcDir}"/>
</and>
</condition>
</target>
我正在尝试在 Ant 检查目标中添加多个 AND 条件以设置 属性。我想根据设置的 属性 执行某些操作。
<target name="checkVal">
<condition property="val.present">
<and>
<available file="${srcDir}/somefile"/>
<matches pattern="MyClass.java" string="${pathString}"/>
</and>
</condition>
<fail message="Failing the condition."/>
</target>
<target name="doSomething" depends="checkVal" if="val.present">
...
</target>
如果 属性 val.present
由 <and>
块中的 2 个条件设置,则执行 "doSomething"。一个条件检查文件是否可用,另一个条件检查路径字符串是否包含特定源文件。
我总是收到失败消息。
下面的工作虽然:
<target name="checkVal">
<available file="${srcDir}/somefile" property="val.present"/>
</target>
<target name="doSomething" depends="checkVal" if="val.present">
...
</target>
有人能告诉我如何才能正确吗?
在我用 contains
任务替换 matches
任务后它起作用了。
<target name="checkVal">
<condition property="val.present">
<and>
<available file="${srcDir}/somefile"/>
<contains substring="MyClass.java" string="${srcDir}"/>
</and>
</condition>
</target>