使用Phing创建压缩文件

将项目构建到目录中很好,但是如果必须自己构建压缩文件,则很难分发这些项目。Phing可以使用简单的命令来创建zip和tar文件。

使用tar和zip命令最方便的方法是使用文件集。但是,与其使用用于将文件复制到构建目录中的文件集,不如创建一个单独的文件集来压缩构建目录的内容,而不是使用文件集。

<fileset dir="./" id="zipFiles">

<include name="myProject_build/**" />

</fileset>

要将文件压缩为tar,请使用tar元素。这接受两个参数,目标文件(称为destfile)和要使用的压缩(称为Compression)。compression属性可以采用以下三个值之一,即gzip,bzip2和none。不使用将不会在文件上运行任何压缩算法。以下示例将myProject.tar在当前目录中创建一个名为的文件,其中包含myProject_build目录中的所有文件和目录。

<tar destfile="myProject.tar" compression="gzip">

<fileset refid="zipFiles" />

</tar>

要将文件压缩为zip文件,您需要使用zip元素。此功能与tar元素完全相同,但它没有压缩属性。

<zip destfile="myProject.zip">

<fileset refid="zipFiles" />

</zip>

tar元素工作得很好,并且创建的文件符合预期,但是zip元素有点麻烦。我正在使用Windows XP运行phing,并且由于具有奇怪的内容,Windows阻止了所创建的文件。在弄清楚如何打开它之后,我意识到phing使用了build文件夹的完整路径。因此,它不是包含一个名为myProject_build的文件夹的zip文件,而是包含以下文件夹结构,并且正确的文件包含在最终目录中。

C:\dev\tests\phing\myProject_build

其他人看到了吗?我将在这个问题上为您提供帮助。

您还可以通过使用basedir属性来使用zip和tar元素,而不使用fileset元素。通过设置basedir,您可以告诉phing使用该目录和每个子目录中的所有内容。

<tar destfile="phing.tar" basedir="." compression="gzip"/>

在phing网站上有一个警告,指出同时使用basedir和文件集可能会导致存档中出现奇怪的内容。因此,我建议您使用其中之一。

使用Phing进行自动构建

以上是 使用Phing创建压缩文件 的全部内容, 来源链接: utcz.com/z/348668.html

回到顶部