注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Big-Time的博客

天行健,君子以自强不行。

 
 
 

日志

 
 
关于我

人生像攀登一座山,而找寻出路,却是一种学习的过程,我们应当在这过程中,学习稳定、冷静,学习如何从慌乱中找到生机。

网易考拉推荐

Ant 条件判断 if  

2011-12-19 18:34:16|  分类: Ant |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
最近收到一个ticket,用ant写个build.xml,用到condition,作笔记如下:
basic elements: istrue isfalse not and or xor available isset equals  filesmatch
1、istrue isfalse:断言 真 假
Ant代码 复制代码
  1. <project name="testCondition">   
  2.     <target name="test">   
  3.         <condition property="scondition">   
  4.             <istrue value="true"/>   
  5.         </condition>   
  6.         <antcall target="isTrue">   
  7.         </antcall>   
  8.         <antcall target="isFalse">   
  9.         </antcall>   
  10.     </target>   
  11.     <target name="isTrue" if="scondition">   
  12.         <echo>is ture</echo>   
  13.     </target>   
  14.     <target name="isFalse" unless="scondition">   
  15.         <echo>is false</echo>   
  16.     </target>   
  17. </project>  


2、逻辑运算
2.1、not 逻辑非
Ant代码 复制代码
  1. <project name="testCondition">   
  2.     <target name="test">   
  3.         <condition property="scondition">   
  4.             <not>   
  5.                 <istrue value="true"/>   
  6.             </not>   
  7.         </condition>   
  8.         <antcall target="isTrue">   
  9.         </antcall>   
  10.         <antcall target="isFalse">   
  11.         </antcall>   
  12.     </target>   
  13.     <target name="isTrue" if="scondition">   
  14.         <echo>is ture</echo>   
  15.     </target>   
  16.     <target name="isFalse" unless="scondition">   
  17.         <echo>is false</echo>   
  18.     </target>   
  19. </project>  

2.2、and 逻辑与
Ant代码 复制代码
  1. <project name="testCondition">   
  2.     <target name="test">   
  3.         <condition property="scondition">   
  4.             <and>   
  5.                 <istrue value="true"/>   
  6.                 <istrue value="false"/>   
  7.             </and>   
  8.         </condition>   
  9.         <antcall target="isTrue">   
  10.         </antcall>   
  11.         <antcall target="isFalse">   
  12.         </antcall>   
  13.     </target>   
  14.     <target name="isTrue" if="scondition">   
  15.         <echo>is ture</echo>   
  16.     </target>   
  17.     <target name="isFalse" unless="scondition">   
  18.         <echo>is false</echo>   
  19.     </target>   
  20. </project>  

2.3、or 逻辑或 xor异或 (语法上与and类似)
3、available 是否可用
Ant代码 复制代码
  1. <project name="testCondition">   
  2.     <path id="all.test.classes">   
  3.         <pathelement location="bin"/>   
  4.     </path>   
  5.     <target name="test">   
  6.         <condition property="scondition">   
  7.             <!--在指定的classpath路径下是否存在资源 TestTest.class-->   
  8.             <available resource="TestTest.class">   
  9.                 <classpath refid="all.test.classes" />   
  10.             </available>   
  11.         </condition>   
  12.         <antcall target="isTrue">   
  13.         </antcall>   
  14.         <antcall target="isFalse">   
  15.         </antcall>   
  16.     </target>   
  17.     <target name="isTrue" if="scondition">   
  18.         <echo>is ture</echo>   
  19.     </target>   
  20.     <target name="isFalse" unless="scondition">   
  21.         <echo>is false</echo>   
  22.     </target>   
  23. </project>  

4、isset 指定属性是否存在
Ant代码 复制代码
  1. <project name="testCondition">   
  2.     <!--属性也可以通过ant参数-D来设置-->   
  3.     <property name="name" value="this is name" />   
  4.     <target name="test">   
  5.         <condition property="scondition">   
  6.             <!--如果属性name不存在则返回false-->   
  7.             <isset property="name" />   
  8.         </condition>   
  9.         <antcall target="isTrue">   
  10.         </antcall>   
  11.         <antcall target="isFalse">   
  12.         </antcall>   
  13.     </target>   
  14.     <target name="isTrue" if="scondition">   
  15.         <echo>is ture</echo>   
  16.     </target>   
  17.     <target name="isFalse" unless="scondition">   
  18.         <echo>is false</echo>   
  19.     </target>   
  20. </project>  

5、equals 是否相等
Ant代码 复制代码
  1. <project name="testCondition">   
  2.     <!--属性也可以通过ant参数-D来设置-->   
  3.     <property name="name" value="this is name" />   
  4.     <target name="test">   
  5.         <condition property="scondition">   
  6.             <!--如果arg1的值与arg2的值相等返回true,否则为false-->   
  7.             <equals arg1="${name}" arg2="this is name" />   
  8.         </condition>   
  9.         <antcall target="isTrue">   
  10.         </antcall>   
  11.         <antcall target="isFalse">   
  12.         </antcall>   
  13.     </target>   
  14.     <target name="isTrue" if="scondition">   
  15.         <echo>is ture</echo>   
  16.     </target>   
  17.     <target name="isFalse" unless="scondition">   
  18.         <echo>is false</echo>   
  19.     </target>   
  20. </project>  

6、filesmatch 比较文件
Ant代码 复制代码
  1. <project name="testCondition">   
  2.     <target name="test">   
  3.         <condition property="scondition">   
  4.             <!--如果file1所代表的文件与file2所代表的文件相等返回true,否则为false-->   
  5.             <filesmatch file1="testfile1.txt" file2="testfile2.txt" />   
  6.         </condition>   
  7.         <antcall target="isTrue">   
  8.         </antcall>   
  9.         <antcall target="isFalse">   
  10.         </antcall>   
  11.     </target>   
  12.     <target name="isTrue" if="scondition">   
  13.         <echo>is ture</echo>   
  14.     </target>   
  15.     <target name="isFalse" unless="scondition">   
  16.         <echo>is false</echo>   
  17.     </target>   
  18. </project> 
  评论这张
 
阅读(3150)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017