昨天写了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>语句,因为空格实在不好搞
-_-!