1、istrue isfalse:断言 真 假


  1. <project name="testCondition">
  2. <target name="test">
  3. <condition property="scondition">
  4. <istrue value="true"/>
  5. </condition>
  6. <antcall target="isTrue"></antcall>
  7. <antcall target="isFalse"></antcall>
  8. </target>
  9. <target name="isTrue" if="scondition">
  10. <echo>is ture</echo>
  11. </target>
  12. <target name="isFalse" unless="scondition">
  13. <echo>is false</echo>
  14. </target>
  15. </project>

2、逻辑运算


2.1、not 逻辑非

  1. <project name="testCondition"  default="test">
  2. <target name="test">
  3. <condition property="scondition">
  4. <not>
  5. <istrue value="true"/>
  6. </not>
  7. </condition>
  8. <antcall target="isTrue"></antcall>
  9. <antcall target="isFalse"></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、and 逻辑与

  1. <project name="testCondition" default="test">
  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"></antcall>
  10. <antcall target="isFalse"></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>

2.3、or 逻辑或 xor异或 (语法上与and类似)


3、available 是否可用

  1. <project name="testCondition" default="test">
  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"></antcall>
  13. <antcall target="isFalse"></antcall>
  14. </target>
  15. <target name="isTrue" if="scondition">
  16. <echo>is ture</echo>
  17. </target>
  18. <target name="isFalse" unless="scondition">
  19. <echo>is false</echo>
  20. </target>
  21. </project>

4、isset 指定属性是否存在

  1. <project name="testCondition" default="test">
  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"></antcall>
  10. <antcall target="isFalse"></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>

5、equals 是否相等

  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"></antcall>
  10. <antcall target="isFalse"></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>

6、filesmatch 比較文件

  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"></antcall>
  8. <antcall target="isFalse"></antcall>
  9. </target>
  10. <target name="isTrue" if="scondition">
  11. <echo>is ture</echo>
  12. </target>
  13. <target name="isFalse" unless="scondition">
  14. <echo>is false</echo>
  15. </target>
  16. </project>

ant的condition任务的更多相关文章

  1. 从源码角度深入分析ant

    Ant的基本概念 首先是ant的基本概念:Project,Target,Tasks,Properties,Paths 1.Project <project> build.xml文件最顶层的 ...

  2. 从源码角度深入分析 ant

    [转自] http://www.tuicool.com/articles/eQvIRbA Ant的基本概念 首先是ant的基本概念: Project,Target,Tasks,Properties,P ...

  3. React Native初试:Windows下Andriod环境搭建

    最近想写个App,又觉得Native App 太无趣了Web App又没那么成熟然后发现了Facebook在9月发布的React Native比较新奇,所以决定捣鼓看看: React Native为F ...

  4. ANDROID STUDIO, GRADLE AND NDK INTEGRATION

    Originally posted on:http://ph0b.com/android-studio-gradle-and-ndk-integration/ With the recent chan ...

  5. NDK 开发实例二(添加 Eigen库)

    上一篇,我已经阐述了如何创建一个简单的NDK实例: NDK 开发实例一(Android.mk环境配置下) 在上一篇的基础上,我们来添加Eigen库,然后做一个简单实例. Eigen是一个高层次的C + ...

  6. NetBeans部署项目(Extjs)报错(一)

    NetBeans部署项目(Extjs)报错(一) 1.用NetBeans将项目部署到Tomcat中,报错. 具体如下: ant -f D:\\NetBeans\\workspace\\Foundati ...

  7. Cocos2d-x游戏导出android工程,提取cocos的so文件

      Cocos2d-x游戏导出android工程,提取cocos的so文件   原本cocos游戏的android工程编译时,需要将cocos的库文件进行编译,这些文件大部分是cpp文件, 使用ndk ...

  8. React Native Android入门实战及深入源代码分析系列(2)——React Native源代码编译

    本文为老曾原创.转载需注明出处:viewmode=contents">http://blog.csdn.net/minimicall?viewmode=contents 在上一节中,我 ...

  9. Android 使用OpenCV的三种方式(Android Studio)

    http://blog.csdn.net/sbsujjbcy/article/details/49520791 其实最早接触OpenCV是很久很久之前的事了,大概在2013年的5,6月份,当时还是个菜 ...

随机推荐

  1. JS学习笔记 - fgm练习 - 网页换肤

    总结: 1. 点击按钮,div内部变色,边框保持颜色不变. 实现原理:其实本来就把background 和 border 分别设置了同一个颜色,看似是一个整体,其实本来就是分开的. 那么点击的时候,只 ...

  2. VMWare中装Linux系统常见问题

    1.安装VMWare的时候,可能会提示vtx-m没开启 解决办法:重启笔记本电脑,按完开机键后,按住del或者F1或者F2,进入BIOS,在BIOS中找到intel-cietue开关,开启就 可以(如 ...

  3. StackExchange.Redis 官方文档(五) Keys, Values and Channels

    原文:StackExchange.Redis 官方文档(五) Keys, Values and Channels Keys, Values and Channels 在使用redis的过程中,要注意到 ...

  4. 【Codeforces Round #445 (Div. 2) C】 Petya and Catacombs

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 看看时间戳为i的点有哪些. 每次优先用已经访问过的点. 如果不行就新创一个点. 注意新创点的时间戳也是i. [代码] #includ ...

  5. Maven 使用Eclipse构建Maven的SpringMVC项目

    首先Eclipse需要安装Maven的插件,地址:http://m2eclipse.sonatype.org/sites/m2e. 用MyEclipse安装Maven插件,建出的Maven项目有些问题 ...

  6. vue学习笔记三:常见的表单绑定

    <template> <div id="app"> <input type="checkbox" id="checked ...

  7. js进阶ajax的XMLHttpRequest对象的status和statustext属性(如果ajax和php联合使用的话:open连接服务器的第二个参数文件路径改成请求php的url即可)

    js进阶ajax的XMLHttpRequest对象的status和statustext属性(如果ajax和php联合使用的话:open连接服务器的第二个参数文件路径改成请求php的url即可) 一.总 ...

  8. JSON入门之二:org.json的基本用法 分类: C_OHTERS 2014-05-14 11:25 6001人阅读 评论(0) 收藏

    java中用于解释json的主流工具有org.json.json-lib与gson,本文介绍org.json的应用. 官方文档: http://www.json.org/java/ http://de ...

  9. [Angular Directive] 3. Handle Events with Angular 2 Directives

    A @Directive can also listen to events on their host element using @HostListener. This allows you to ...

  10. Quartz.NET 3.0.7 + MySql 实现动态调度作业+动态切换版本+多作业引用同一程序集不同版本+持久化+集群(一)

    原文:Quartz.NET 3.0.7 + MySql 实现动态调度作业+动态切换版本+多作业引用同一程序集不同版本+持久化+集群(一) 前端时间,接到领导任务,写了一个调度框架.今天决定把心路历程记 ...