`
流浪鱼
  • 浏览: 1682912 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ant的condition任务

    博客分类:
  • ant
 
阅读更多

如果条件为true则设置一个特殊。此任务结合了基本布尔表达式以及avaliable和uptodate任务

属性

property

当条件为true时,索要设置的特性的特性名。如果为false,则不设置相应的特性

value

当条件为true时,为特性所赋的值。默认值为true

内容

一下元素均被认为是条件,在此任务中,必须直接嵌套一个且仅一个条件。而这些条件可能进一步包含如下所列的其他嵌套条件。

<not><and>

<or>

<available>

<uptodate>

<os>

<equals>

  istrue isfalse not and or xor available isset equals  filesmatch

 1、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>

 2、逻辑运算
    2.1、not 逻辑非 

<project name="testCondition"  default="test">
    <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>

   2.2、and 逻辑与

<project name="testCondition" default="test">
    <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>

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

3、available 是否可用

<project name="testCondition" default="test">
    <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>

4、isset 指定属性是否存在

<project name="testCondition" default="test">
    <!--属性也可以通过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>

 5、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>  

 6、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> 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Ant资料大全

    - Ant基于XML文件(通常命名为build.xml)来定义任务和目标,这些任务描述了构建过程中需要执行的操作。 2. **Ant构建文件结构** - build.xml文件是Ant的核心,它定义了构建过程中的各个目标(targets)和任务...

    ant文档集合(自己学习ant时的资料)

    Ant允许定义任务间的依赖关系,确保任务按照正确的顺序执行。如果一个任务依赖于另一个任务,那么前一个任务必须先完成。 6. **条件(Condition)** Ant提供了多种条件,如`available`(检查文件或目录是否存在)...

    apache-ant-1.9.2-src

    5. **条件(Condition)**:Ant提供了多种条件检查,如文件是否存在、版本比较等,这些条件可以用于决定是否执行某个任务或目标。 6. **插件(Contrib)**:Ant允许扩展,社区提供了许多插件,如Maven插件、JUnit...

    项目Ant配置实例一次下载各处使用

    4. **条件(Condition)**:Ant提供了条件语句,如`&lt;if&gt;`和`&lt;available&gt;`,可以根据不同环境的特性执行相应的任务。 5. **文件集(Fileset)**:文件集用于指定一组文件,常用于复制或编译操作。 6. **依赖关系...

    ant build脚本代码

    文章中可能包括了如何定义属性(property)来存储渠道标识、如何使用条件(condition)来根据属性值选择不同的打包流程,以及如何利用Ant的copy或replace任务来修改资源配置以适应不同渠道。 在压缩包文件"antbuild...

    ant简介及实例pdf

    例如,你可以使用`&lt;condition&gt;`元素来决定是否执行某个任务,或者通过`&lt;macrodef&gt;`定义可重用的任务模板。 总结来说,Ant是Java开发中不可或缺的工具,它简化了项目的构建流程,提高了工作效率。对于初学者而言,...

    Ant详细配置总结

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

    Apache ANT详解

    6. **条件(Condition)**:允许在执行任务前进行条件判断,如检查某个文件是否存在。 7. **宏定义(Macrodef)**:用于创建可重用的任务模板,提高代码复用性。 在实际应用中,开发者会结合ANT与其他工具,如...

    apache-ant-1.5.2

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

    ant 1.8.1源代码

    3. **条件(Condition)**: 这个版本增强了条件检查功能,使得构建脚本可以根据条件分支执行不同的任务。 4. **脚本支持**: Ant 1.8.1增强了对脚本的支持,可以直接在构建文件中嵌入JavaScript、Perl或其他脚本语言...

    ant-1.6-sources.jar.zip

    在Ant 1.6中,值得注意的是,它支持多种Java版本,并且引入了一些新的特性,如支持Ant脚本语言(Antlr),增强了文件集(fileset)和文件名集(filelist)的功能,以及改进了条件任务(condition)。此外,Ant 1.6还...

    ant-1.7下载附学习资料

    此外,还有条件语句(condition),例如`available`检查文件或目录是否存在,`if`和`unless`用于根据条件决定是否执行某个任务。 4. **依赖关系**:Ant可以处理任务之间的依赖关系,确保任务按正确的顺序执行。如果...

    apache-ant-1.8.1

    同时,还有`&lt;condition&gt;`元素用于执行条件判断,决定是否执行特定的任务。 6. **插件扩展**:虽然Ant内建了许多任务,但通过引入第三方插件,如Maven的Ant Tasks,可以进一步扩展其功能,比如引入对Maven POM文件的...

    Ant自动构建总结

    - `&lt;condition&gt;`任务用于条件判断,根据条件执行不同任务。 5. **文件集和资源集**: - `&lt;fileset&gt;`定义了一组文件和目录,通过`includes`和`excludes`属性筛选。 - `&lt;classpath&gt;`元素用于指定类路径,供编译、...

    apache-ant-1.10.12-bin.zip

    4. **Condition**:用于控制任务执行的逻辑判断,如检查文件是否存在或某个属性是否已设置。 5. **Fileset**:指定一组文件或目录,可以作为任务的操作对象。 在解压“apache-ant-1.10.12-bin.zip”后,你会找到...

    ant配置ant配置

    Ant是Apache组织开发的一款强大的Java项目构建工具,它基于XML,允许开发者定义构建过程和依赖关系,便于自动化执行编译、测试、打包等任务。在Java开发中,Ant被广泛用于构建大型项目,确保代码的一致性和可重复性...

    ant contrib if jar包

    Ant Contrib If Jar包是Apache Ant构建工具的一个扩展库,它为Ant任务提供了条件语句的支持,使得构建脚本能够根据特定条件执行或跳过某些任务。Ant是一个Java库和命令行工具,其任务是驱动构建过程,常用于自动化...

    Ant入门教程,使用Ant自动生成JAR文件

    2. **任务(Task)**:Ant通过一系列的任务来完成工作,如`javac`用于编译Java源代码,`jar`用于打包成JAR文件,`copy`用于复制文件等。 3. **属性(Property)**:Ant支持定义和使用属性,类似于变量,可以用来...

    ant打包编译全套资料

    7. **条件与选择**:通过`&lt;if&gt;`和`&lt;condition&gt;`等标签实现条件判断,根据不同的情况执行不同的任务。 8. **脚本支持**:Ant支持使用Java、JavaScript、Groovy等脚本语言编写复杂逻辑。 9. **外部工具集成**:如通过`...

Global site tag (gtag.js) - Google Analytics