ANT中集成制作Linux安装包(*.tar.gz文件)

时间:2022-02-08 21:08:12

 昨天写了ANT方法下面集成应用程序的方法,经理又叫我把Linux下的安装包制作也集成到ANT方法中,这样大家都方便了 *_*!

 1

在Linux环境下,安装文件都为*.tar.gz文件,一般的制作方法可以在Linux下直接运用tar命令参数先将文件包转成tar,然后在压缩成gz形式。
使用命令:
 tar –zcf  filename.tar.gz dicretory/file
directory/file 待压缩的文件或目录。
filename.tar.gz  将会在当前目录生成该 tar.gz文件

也可以用命令:tar –zcvf  filename.tar.gz dicretory/file ,这样会显示压缩的文件列表。


现在要把他集成在Windows环境下的ANT方法中,没有命令可以直接运行,所以就需要借助外界的工具了......
找了半天,决定确认为一款名为7za的工具,该工具newhua上面有得下,挺奇怪的一个名字 -_-!
该款软件是完全以命令提示符的形式进行操作,工具里面有自带的说明。不详细说明了,重点说哈制作*.tar.gz文件,基本的方法与在Linux环境下制作安装文件一致,先把文件制作为tar文件,然后压缩成gz格式。
命令为:7za a -ttar "test.tar" "将要压缩的文件"   /*制作为tar文件*/
        7za a -tgip "test.tar.gz" "test.tar"      /*压缩为tar.gz文件*/
这个就是在命令控制台上运行的命令行,根据前面介绍的方法,我们就可以把他集成到ANT中了。

在build.xml中的语法为:
<!-- ================== MakeSetupLinux Target ================= -->
  <target name="makesetuplinux" depends="makesetupwin">
   <exec executable="安装目录/7za.exe">
    <arg value="a"/>
    <arg value="-ttar"/>
    <arg value="test.tar"/>
    <arg value="压缩文件相对项目路径/"/>
   </exec>
   <exec executable="$安装目录/7za.exe">
    <arg value="a"/>
    <arg value="-tgzip"/>
    <arg value="test.tar.gz"/>
    <arg value="test.tar"/>
   </exec>
<!--======================将生成的tar文件删除============ -->
   <exec executable="cmd.exe">
    <arg value="/c"/>
    <arg value="del"/>
    <arg value="test.tar"/>
   </exec>
  </target>

由此,就将安装文件制作完成。


总结一点,ANT方法中命令行的调用,关于空格的部分需要另起一个<arg>语句,因为空格实在不好搞
-_-!