前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实习杂记(23):ant里面condition属性测试

实习杂记(23):ant里面condition属性测试

作者头像
wust小吴
发布2019-07-08 18:16:34
5430
发布2019-07-08 18:16:34
举报
文章被收录于专栏:风吹杨柳风吹杨柳
代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>  
<project basedir="." name="test1" default="condition_istrue">  
      
    <!--测试condition istrue元素-->  
    <target name="condition_istrue">  
        <condition property="condition_1">  
            <istrue value="true"/>  
        </condition> 
		<antcall target="isTrue"/>  
        <antcall target="isFalse"/> 
    </target>  
    <target name="isTrue" if="condition_1">  
        <echo>is true</echo>  
    </target>  
    <target name="isFalse" unless="condition_1">  
        <echo>is false</echo>  
    </target>  
      
</project>

-----------------输出结果

E:\Test\Ant\condition>ant Buildfile: E:\Test\Ant\condition\build.xml condition_istrue: isTrue:      [echo] is true isFalse: BUILD SUCCESSFUL

------------------------------

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>  
<project basedir="." name="test1" default="condition_istrue">  
      
    <!--测试condition istrue元素-->  
    <target name="condition_istrue">  
        <condition property="condition_1">  
            <istrue value="false"/>  
        </condition> 
		<antcall target="isTrue"/>  
        <antcall target="isFalse"/> 
    </target>  
    <target name="isTrue" if="condition_1">  
        <echo>is true</echo>  
    </target>  
    <target name="isFalse" unless="condition_1">  
        <echo>is false</echo>  
    </target>  
      
</project>

--------输出结果

E:\Test\Ant\condition>ant Buildfile: E:\Test\Ant\condition\build.xml condition_istrue: isTrue: isFalse:      [echo] is false BUILD SUCCESSFUL Total time: 0 seconds

-------------------------------------------

代码语言:javascript
复制
    <target name="isTrue" if="condition_1">  
        <echo>is true</echo>  
    </target>  
    <target name="isFalse" unless="condition_1">  
        <echo>is false</echo>  
    </target>
	
    <!--condition equals元素-->  
    <property name="name" value="this is name"/>  
    <target name="condition_equals" >  
        <condition property="condition_2">  
            <equals arg1="${name}" arg2="this is name"/>  
        </condition>  
        <antcall target="isTrue"/>  
        <antcall target="isFalse"/>  
    </target>

arg1和arg2是否相等

输出结果:-------------

E:\Test\Ant\condition>ant condition_equals Buildfile: E:\Test\Ant\condition\build.xml condition_equals: isTrue: isFalse:      [echo] is false BUILD SUCCESSFUL Total time: 0 seconds

--------------------------------------------

代码语言:javascript
复制
   <target name="isTrue" if="condition_2">  
        <echo>is true</echo>  
    </target>  
    <target name="isFalse" unless="condition_2">  
        <echo>is false</echo>  
    </target>
	
    <!--condition equals元素-->  
    <property name="name" value="this is name"/>  
    <target name="condition_equals" >  
        <condition property="condition_2">  
            <equals arg1="${name}" arg2="this is name"/>  
        </condition>  
        <antcall target="isTrue"/>  
        <antcall target="isFalse"/>  
    </target> 

输出结果:------------------------

E:\Test\Ant\condition>ant condition_equals Buildfile: E:\Test\Ant\condition\build.xml condition_equals: isTrue:      [echo] is true isFalse: BUILD SUCCESSFUL Total time: 0 seconds

-----------------------------------------------

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>  
<project basedir="." name="test1" 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>

输出结果:----------------------------

E:\Test\Ant\condition>ant Buildfile: E:\Test\Ant\condition\build.xml test: isTrue: isFalse:      [echo] is false BUILD SUCCESSFUL Total time: 0 seconds

------------------------------------------

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>  
<project basedir="." name="test1" 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>

输出结果:------------------------

E:\Test\Ant\condition>ant Buildfile: E:\Test\Ant\condition\build.xml test: isTrue: isFalse:      [echo] is false BUILD SUCCESSFUL Total time: 0 seconds

------------------------------------------

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>  
<project basedir="." name="test1" 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>

isset指定属性是否存在

输出结果:------------------------------

E:\Test\Ant\condition>ant Buildfile: E:\Test\Ant\condition\build.xml test: isTrue:      [echo] is ture isFalse: BUILD SUCCESSFUL Total time: 0 seconds

---------------------------------------------------

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>  
<project basedir="." name="test1" default="test">  
      
    <!--属性也可以通过ant参数-D来设置-->
    <property name="name" value="this is name"/>    
    <target name="test">
        <condition property="scondition">
            <!--如果属性name不存在则返回false-->
            <isset property="name1"/>
        </condition>
        <antcall target="isTrue"></antcall>
        <antcall target="isFalse"></antcall>        
    </target>

    <fail
            message="scondition is missing. "
            unless="scondition"
    />

    <target name="isTrue" if="scondition">
        <echo>is ture</echo>
    </target>
    <target name="isFalse" unless="scondition">
        <echo>is false</echo>
    </target>
      
</project>

错误输出,并且停止

输出结果:------------------------------

E:\Test\Ant\condition>ant Buildfile: E:\Test\Ant\condition\build.xml BUILD FAILED E:\Test\Ant\condition\build.xml:18: scondition is missing. Total time: 0 seconds

-----------------------------------------

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>  
<project basedir="." name="test1" default="test">  
      
    <path id="all.test.classes">         
         <pathelement location="."/>
     </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>

输出结果:-----------------------------

E:\Test\Ant\condition>ant Buildfile: E:\Test\Ant\condition\build.xml test: isTrue: isFalse:      [echo] is false BUILD SUCCESSFUL Total time: 0 seconds

-----------------------------------------

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>  
<project basedir="." name="test1" default="test">  
      
    <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>

如果两个文件都不存在,他们肯定是相等的 输出结果:------------------------------

E:\Test\Ant\condition>ant Buildfile: E:\Test\Ant\condition\build.xml test: isTrue:      [echo] is ture isFalse: BUILD SUCCESSFUL Total time: 0 seconds

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年06月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档