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



我有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>

在专业包上一切正常,但在免费包上,我总是收到以下错误消息:
Could not read file backendliveupdateassets

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

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

顺便说一下,该错误也报告给了Phing:
http://www.phing.info/trac/ticket/1047

最新更新