`
漠北小鱼儿
  • 浏览: 1675 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

ant 条件判断

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类似)

 

分享到:
评论

相关推荐

    ant学习笔记之(ant执行命令的详细参数和Ant自带的系统属性)

    通过实践,开发者可以更深入地掌握Ant的各种功能,包括但不限于类库管理、文件操作、条件判断、脚本执行等。 总结,Ant作为Java项目的重要构建工具,其强大的命令参数和系统属性为开发者提供了极大的便利。熟练掌握...

    ant-contrib.jar

    例如,`&lt;foreach&gt;`任务可以用来遍历集合,`&lt;if&gt;`和`&lt;unless&gt;`条件则允许在构建过程中进行条件判断。这些功能极大地增强了Ant的灵活性和可读性,使得构建脚本能更好地适应复杂的构建逻辑。 "README.txt"文件通常是...

    官网下载完整的Ant,包括Ant-contrib

    这对于自动化构建过程中的条件判断和循环操作非常有用。 在Ant的官方网站上,你可以找到最新版本的Ant以及Ant-contrib的下载链接。下载后,你需要将Ant-contrib的jar文件添加到Ant的类路径中,这样在执行Ant脚本时...

    ant包+示例

    同时,还可以了解到如何使用Ant进行条件判断、循环操作以及与其他构建工具(如Maven)的集成。Ant的强大之处在于它的灵活性和可扩展性,可以根据项目的具体需求定制构建过程。 总之,"Ant包+示例"提供了一个全面...

    Ant构建中使用JS脚本方法

    4. **交互与控制流**:JavaScript提供了丰富的控制流语句,如`if...else`、`for`循环等,这使得Ant脚本能够根据项目需求进行条件判断和迭代操作。 5. **错误处理**:JavaScript中的异常处理机制也能在Ant脚本中使用...

    ant开发指南用于说明ant一些相关信息

    1. **条件语句和循环**:通过`if`、`unless`属性,可以在构建脚本中添加条件判断逻辑。而`foreach`任务则提供了循环遍历列表的能力。 2. **文件列表和路径操作**:`fileset`和`path`元素用于处理文件列表和路径,...

    ant工具使用.zip

    7. **条件(Conditions)**:允许在Ant构建脚本中进行条件判断,如`available`检查文件或属性是否存在,`equals`比较两个值是否相等。 8. **宏(Macros)**:类似模板,可以重复使用相同结构的任务序列,提高脚本的可...

    ant批量打包脚本

    7. **多渠道打包**:在脚本中添加循环或者条件判断,遍历所有渠道的配置文件,为每个渠道生成对应的APK。 通过这样的方式,Ant批量打包脚本成为了开发团队的得力助手,让繁琐的手动打包工作变得轻松简单,也降低了...

    ant contrib if jar包

    总结来说,Ant Contrib If Jar包是Ant构建过程中的一个强大工具,它通过提供条件判断能力,使得构建脚本更加灵活和适应各种场景,提高了开发者的工作效率。如果你经常处理复杂构建流程,这个库无疑是一个值得添加到...

    ant-contrib-0.6

    除了`for`宏,`ant-contrib`还提供了其他有用的宏,如`foreach`、`if`、`unless`等,它们分别对应于迭代、条件判断等功能,使得Ant脚本可以处理更复杂的逻辑。 "使用说明.txt"文件则详细介绍了如何将`ant-contrib`...

    ant教程ant教程ant教程ant教程

    8. **条件(Condition)**:Ant提供了多种条件判断,如`available`检查文件或目录是否存在,`equals`比较两个字符串是否相等,这些条件可以用于控制构建流程的分支。 9. **宏定义(Macrodef)**:宏定义允许创建可...

    Ant详细配置总结

    - **条件判断**:使用`&lt;condition&gt;`标签结合`&lt;if&gt;`和`&lt;unless&gt;`标签可以实现条件执行任务。 - **循环结构**:通过`&lt;foreach&gt;`标签可以对一组文件或目录执行相同的操作。 - **扩展任务**:除了内置的任务之外,还可以...

    apache-ant-1.5.2

    6. **条件(Condition)**:条件元素允许在Ant构建中进行逻辑判断,如检查文件是否存在、属性是否被设置等。 在“apache-ant-1.5.2”版本中,编译Ant可能涉及到以下步骤: 1. 获取源代码,通常从Apache官方仓库...

    ant-contrib源文件

    这些任务使得Ant脚本可以进行循环操作、条件判断等更复杂的逻辑控制,极大地增强了Ant脚本的表达能力。 "ant-contrib"目录下的"antlib.xml"文件是Ant Contrib的核心资源,它通过Ant的类加载机制被引入到构建环境中...

    apache-ant-1.6.5-bin

    此外,还可以通过TaskDef或Import标签引入第三方任务库,如Ant-Contrib库,它提供了许多额外的任务,如循环、条件判断等。 总的来说,"apache-ant-1.6.5-bin"是一个完整的Ant构建工具包,包含所有运行和构建Java...

    apache-ant-1.10.1-bin.zip 【windows版,32位和64位通用】

    4. **条件语句和循环**:Ant构建文件支持条件判断和循环结构,可以根据不同情况执行不同的构建步骤。 5. **属性机制**:允许用户定义和使用变量,简化构建文件的编写,提高代码复用性。 6. **插件支持**:Ant有一个...

    Apache Ant Tutorial.pdf

    Ant 支持多种控制流结构,如条件判断、循环等,这些机制使得构建过程更加灵活和强大。 1. **条件判断**:通过 `&lt;condition&gt;` 和 `&lt;ifeval&gt;` 元素可以根据不同的条件执行不同的任务或目标。 2. **循环**:使用 `...

    Ant工具使用(教程)

    1. **条件判断**:Ant提供了一系列条件任务,如`if`、`unless`,可以基于特定条件执行任务。 2. **依赖管理**:通过`&lt;classpath&gt;`元素可以管理类路径,包括外部库的引用。 3. **文件集(Filesets)**:用于指定一组...

    ant 工程

    4. **条件语句和循环**:Ant支持条件判断(if/else)和循环结构,使构建过程更加灵活。 5. **依赖关系**:如何定义任务间的依赖关系,确保构建顺序的正确性。 6. **自定义任务**:Ant允许开发者编写自定义任务,以...

    apache-ant-1.8.4

    4. **条件语句和循环**:Ant提供了`if`、`unless`、`for`等元素,允许在构建脚本中添加条件判断和循环控制,增强了脚本的灵活性。 5. **插件机制**:Ant支持丰富的插件系统,通过添加外部库或第三方插件,可以扩展...

Global site tag (gtag.js) - Google Analytics