Phing zip失败,正则表达式排除

时间:2013-09-08 07:30:09

标签: php regex phing

我有Phing构建文件来创建我的组件的版本 我有两种包:免费和专业包。在专业版包中,应该包含所有文件,而在免费文件中,我必须排除与此模式匹配的文件:
 @category[ \t]+ProVersion

我只是重复使用PHPDocumentor标记来标记我的专业文件 说,这些是我的两个fileset标签:

<fileset dir="${dirs.component}" id="pro">
    <exclude name="media/photos/**"/>
</fileset>

<fileset dir="${dirs.component}" id="free">
    <exclude name="media/photos/**"/>

    <not>
        <containsregexp expression="@category[ \t]+ProVersion" casesensitive="false" />
    </not>
</fileset>

这是我的target一个:

<zipme basedir="${dirs.component}" destfile="${dirs.release}/${version}_pro.zip" includeemptydirs="true">
    <fileset refid="pro" />
</zipme>

<zipme basedir="${dirs.component}" destfile="${dirs.release}/${version}_free.zip" includeemptydirs="true">
    <fileset refid="free" />
</zipme>

在pro包上一切正常,但在免费的包上我总是收到这个错误信息:
Could not read file backend\liveupdate\assets

这个文件夹符号链接到我的文件系统的另一部分,但我真的不明白为什么Phing无法读取它(如果(仅当)我正在使用containsregexp标签。
事实上,如果我删除它,一切正常(但包括错误的文件)。

1 个答案:

答案 0 :(得分:0)

经过大量测试后,我发现Windows下的构建失败,文件是符号链接的文件。
可悲的是,除了使用Linux或Mac OS之外,没有其他解决方案。

顺便说一句,这个错误也被报告给了Phing:
http://www.phing.info/trac/ticket/1047