论坛首页 编程语言技术论坛

ant利器之-逻辑判断

浏览 1913 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-01-30  
最近在做应用的全量包和升级包打包脚本,需要用到逻辑判断,主要体现在2处
1、判断是制作内部使用包,还是外部集成使用包。
     注:这两个包在配置和代码上有些区分
2、做升级包时,需要判断是否有java源代码的更新,如有更新,则编译源代码制作jar包。没有更新,则忽略编译此步。
下面我就说说ant怎么使用逻辑判断和怎么设置其值。
条件值的设置有2中方式
1、使用condition标签
     例1:
   
<condition property="update.qxkz.src">
        <and>
            <available file="${qxkz.update.dir}/src" type="dir" />
        </and>
    </condition>
    <condition property="update.infor.src">
        <and>
            <available file="${infor.update.dir}/src" type="dir" />
        </and>
    </condition>
 
   两个条件非常简单,判断目录下是否有文件存在。
   例2:
   
<condition property="update.src">
        <or>
        	 <istrue value="${update.qxkz.src}"/>
        	 <istrue value="${update.infor.src}"/>
        </or>
    </condition>
 
   条件值还可以引用。
   使用样例如下:
  
<target name="package" depends="setlib" description="打jar包" if="update.src">
 
2、利用ant 命令的参数
     例:ant -f build_gt3_update.xml -Ddw=dw buildwar
     -D为ant命令设置参数的使用。
     dw 为参数名,取值可随意设置。我到没有试过值为false时会什么效果,大家有兴趣可以尝试下。
    此参数使用跟上边一样
   
<target name="copy_dw" depends="" description="复制对外的文件" if="${dw}">
 
使用逻辑判断
ant脚本中逻辑判断的使用主要体现在 target标签的if属性上。
例:
<target name="copy_dw" depends="" description="复制对外的文件" if="${dw}">
 
如果depends设置有值,也不影响这个依赖链的正确运行。如果dw=false,则会把此依赖传递下去。

 

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics