使用Phing创建压缩文件
将项目构建到目录中很好,但是如果必须自己构建压缩文件,则很难分发这些项目。Phing可以使用简单的命令来创建zip和tar文件。
使用tar和zip命令最方便的方法是使用文件集。但是,与其使用用于将文件复制到构建目录中的文件集,不如创建一个单独的文件集来压缩构建目录的内容,而不是使用文件集。
要将文件压缩为tar,请使用tar元素。这接受两个参数,目标文件(称为destfile)和要使用的压缩(称为Compression)。compression属性可以采用以下三个值之一,即gzip,bzip2和none。不使用将不会在文件上运行任何压缩算法。以下示例将myProject.tar在当前目录中创建一个名为的文件,其中包含myProject_build目录中的所有文件和目录。
要将文件压缩为zip文件,您需要使用zip元素。此功能与tar元素完全相同,但它没有压缩属性。
tar元素工作得很好,并且创建的文件符合预期,但是zip元素有点麻烦。我正在使用WindowsXP运行phing,并且由于具有奇怪的内容,Windows阻止了所创建的文件。在弄清楚如何打开它之后,我意识到phing使用了build文件夹的完整路径。因此,它不是包含一个名为myProject_build的文件夹的zip文件,而是包含以下文件夹结构,并且正确的文件包含在最终目录中。
C:\dev\tests\phing\myProject_build
其他人看到了吗?我将在这个问题上为您提供帮助。
您还可以通过使用basedir属性来使用zip和tar元素,而不使用fileset元素。通过设置basedir,您可以告诉phing使用该目录和每个子目录中的所有内容。
在phing网站上有一个警告,指出同时使用basedir和文件集可能会导致存档中出现奇怪的内容。因此,我建议您使用其中之一。
使用Phing进行自动构建