ant 条件判断

1、available 是否可用
<project name="testCondition">
   <path id="all.test.classes">       
       <pathelement location="bin"/>
   </path>
   <target name="test">
       <condition property="scondition">
           <!--在指定的classpath路径下是否存在资源 TestTest.class-->
           <available resource="TestTest.class">
               <classpath refid="all.test.classes" />     
           </available>
       </condition>
       <antcall target="isTrue"></antcall>
       <antcall target="isFalse"></antcall>     
   </target>
   <target name="isTrue" if="scondition">
       <echo>is ture</echo>
   </target>
   <target name="isFalse" unless="scondition">
       <echo>is false</echo>
   </target>
</project>

2、isset 指定属性是否存在
<project name="testCondition">
   <!--属性也可以通过ant参数-D来设置-->
   <property name="name" value="this is name"/> 
   <target name="test">
       <condition property="scondition">
           <!--如果属性name不存在则返回false-->
           <isset property="name"/>
       </condition>
       <antcall target="isTrue"></antcall>
       <antcall target="isFalse"></antcall>     
   </target>
   <target name="isTrue" if="scondition">
       <echo>is ture</echo>
   </target>
   <target name="isFalse" unless="scondition">
       <echo>is false</echo>
   </target>
</project>

3、equals 是否相等
<project name="testCondition">
   <!--属性也可以通过ant参数-D来设置-->
   <property name="name" value="this is name"/> 
   <target name="test">
       <condition property="scondition">
           <!--如果arg1的值与arg2的值相等返回true,否则为false-->
           <equals arg1="${name}" arg2="this is name"/>
       </condition>
       <antcall target="isTrue"></antcall>
       <antcall target="isFalse"></antcall>     
   </target>
   <target name="isTrue" if="scondition">
       <echo>is ture</echo>
   </target>
   <target name="isFalse" unless="scondition">
       <echo>is false</echo>
   </target>
</project> 

4、filesmatch 比较文件
<project name="testCondition">     
   <target name="test">
       <condition property="scondition">
           <!--如果file1所代表的文件与file2所代表的文件相等返回true,否则为false-->
           <filesmatch file1="testfile1.txt" file2="testfile2.txt"/>
       </condition>
       <antcall target="isTrue"></antcall>
       <antcall target="isFalse"></antcall>     
   </target>
   <target name="isTrue" if="scondition">
       <echo>is ture</echo>
   </target>
   <target name="isFalse" unless="scondition">
       <echo>is false</echo>
   </target>
</project>

5、istrue isfalse:断言真假
<project name="testCondition">
   <target name="test">
       <condition property="scondition">
           <istrue value="true"/>                 
       </condition>
       <antcall target="isTrue"></antcall>
       <antcall target="isFalse"></antcall>     
   </target>
   <target name="isTrue" if="scondition">
       <echo>is ture</echo>
   </target>
   <target name="isFalse" unless="scondition">
       <echo>is false</echo>
   </target>
</project>

6、逻辑运算
6.1、not 逻辑非
<project name="testCondition">
   <target name="test">
       <condition property="scondition">
           <not>
               <istrue value="true"/>                 
           </not>
       </condition>
       <antcall target="isTrue"></antcall>
       <antcall target="isFalse"></antcall>     
   </target>
   <target name="isTrue" if="scondition">
       <echo>is ture</echo>
   </target>
   <target name="isFalse" unless="scondition">
       <echo>is false</echo>
   </target>
</project>

6.2、and 逻辑与
<project name="testCondition">
   <target name="test">
       <condition property="scondition">
           <and>
               <istrue value="true"/>
               <istrue value="false"/>                 
           </and>
       </condition>
       <antcall target="isTrue"></antcall>
       <antcall target="isFalse"></antcall>     
   </target>
   <target name="isTrue" if="scondition">
       <echo>is ture</echo>
   </target>
   <target name="isFalse" unless="scondition">
       <echo>is false</echo>
   </target>
</project>
6.3、or 逻辑或 xor异或 (语法上与and类似)

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值