转载自ant 条件判断 condition

最近收到一个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>

转载于:https://www.cnblogs.com/balaamwe/archive/2012/03/07/2383345.html

Ant 条件判断 if相关推荐

  1. smali to java_Smali —— 数学运算,条件判断,循环

    通过上一篇 Smali 语法解析--Hello World 的学习,了解了 Smali 文件的基本格式.这一篇从最基本的数学运算,条件判断,循环等开始,更加详细的了解 Smali 语法. 数学运算 加 ...

  2. 已知2个整形数据a,b.不使用if,?:以及其他任何条件判断的语法,找出a跟b中数据的大者。

    已知2个整形数据a,b.不使用if,?:以及其他任何条件判断的语法,找出a跟b中数据的大者. 答案: int max(int a,int b) { return (a+b+abs(a-b))/2; } ...

  3. bash 脚本编程2 条件判断 (笔记)

    条件判断类型: 整数测试 字符测试 文件测试 条件表达式: [ exppression ] ` expression ` test expression 注意一定要加空格前后都要加 整数比较:  -e ...

  4. Python中if条件判断语句怎么用?

    俗话说"不积跬步无以至千里".学习了Python的基本语法后,接下来我们学习Python常的if条件判断语句. if语句是最简单的条件判断语句,它可以控制程序的执行流程,其使用格式 ...

  5. c#switch语句判断成绩_Go的条件判断语句

    现实时间中,我们如果想去购物,可以选择网上或者线下去购物,甚至说,要购买的物品都有许多选择,选价格便宜的,选质量好的,选不用运费等等 那么在计算机语言中,我们要怎么实现现实中,这些选择呢? Go语言支 ...

  6. R语言将多分类数据集转化为二分类数据集,使用条件判断将多分类转化为二分类(transform dataset into a dichotomous factor response dataset)

    R语言将多分类数据集转化为二分类数据集,使用条件判断将多分类转化为二分类(transform dataset into a dichotomous factor response dataset) 目 ...

  7. pandas基于条件判断更新dataframe中所有数据列数值内容的值(Conditionally updating all values in pandas Dataframe )

    pandas基于条件判断更新dataframe中所有数据列数值内容的值(Conditionally updating all values in pandas Dataframe ) 目录

  8. pandas基于条件判断更新dataframe中特定数据列数值内容的值(Conditionally updating values in specific pandas Dataframe )

    pandas基于条件判断更新dataframe中特定数据列数值内容的值(Conditionally updating values in specific pandas Dataframe ) 目录

  9. R语言switch语句语法、实战:Switch语句用来处理嵌套的if else处理起来比较困难或者麻烦的条件判断问题

    R语言switch语句语法.实战:Switch语句用来处理嵌套的if else处理起来比较困难或者麻烦的条件判断问题 目录

最新文章

  1. Hinton一作新论文:如何在神经网络中表示“部分-整体层次结构”?
  2. 阿里云叔同:以容器为代表的云原生技术,已经成为释放云价值的最短路径
  3. windows Navicat Premium连接oracle
  4. 五:CentOS7安装出现Warning
  5. cookie 和 session 区别
  6. 11月22日云栖精选夜读:双11享Go了吗?2017阿里双11在线峰会续写科技盛宴!
  7. AAAI'22 Oral | 复旦x字节等提出:基于无监督编辑的反事实故事改写
  8. 不会真有人觉得聊天机器人难吧——使用BERT加载预训练模型得到中文句子向量
  9. HTML5 Web SQL 数据库
  10. 远程通讯测试软件,USR-TCP232-304和虚拟串口软件通讯测试
  11. 如何给linux添加新硬盘(转)
  12. pudn下载地址的规律
  13. Vs2010中文版 使用 .net 3.5 时,智能提示英文变中文
  14. QQ邮箱搜索器 邮箱地址批量搜索
  15. IDEA全局配置图文教程
  16. 1357: 逆序数字
  17. 我的功放和你们用的功放芯片的SD_MUTE脚电平不一样_该如何处理
  18. 点餐小程序系统/基于微信小程序的点餐系统/点餐平台网站
  19. SpringBoot基于若依项目工时统计成本核算管理源码带文字教程
  20. 打开计算机用户策略,打开组策略,详细教您电脑组策略怎么打开

热门文章

  1. OpenGL绘制复杂图形
  2. 聊聊动画引擎 pop
  3. 新工作总结之权限系统设计
  4. Can't load IA 32-bit .dll on a AMD 64-bit platform
  5. java学习笔记13--反射机制与动态代理
  6. HDU 4768 Flyer(二分法)
  7. 3G时代需要“移动云计算专业”
  8. 爱上MVC~为Html.EditorForModel自定义模版
  9. Docker 简介与安装
  10. nginx的平滑升级方法: