百度空间 | 百度首页 
 
查看文章
 
ANT条件判断[转]
2009年07月03日 星期五 下午 03:57
前段时间写Ant的时候用到了条件判读condition,找了一堆资料,现总结如下:

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">
<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">
<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">
<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">
<!--属性也可以通过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 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu