我有一個奇怪的問題與螞蟻。我想有條件地執行了一步,所以我創建非常簡單的例子:螞蟻跑步時滿足條件
<project name="TestProj" default="def">
<property name="prop1" value="xxx"/>
<target name="init">
<echo message="init step"/>
</target>
<target name="def" depends="init">
<echo message="def step"/>
<condition property="should.run">
<equals arg1="${prop1}" arg2="xxx"/>
</condition>
<echo message="outside check"/>
</target>
<target name="yes" if="${should.run}" depends="def">
<echo message="yeah,should run"/>
</target>
<target name="no" unless="${should.run}" depends="def">
<echo message="no,dont run"/>
</target>
輸出是:
init:
[echo] init step
def:
[echo] def step
[echo] outside check
所以,我的條件步驟,不運行。
我的例子有什麼問題?在此先感謝您的任何建議。
不是,if'和'unless'屬性的行爲會根據您是否提供屬性名稱或屬性引用而改變。 run'被設置爲'false'的值,如果'if =「$ {should.run}'會導致目標被跳過,但是如果if =」should.run「,目標仍然會運行。 – CAustin