我有 Phing 构建文件来创建我的组件的版本。
我有两种套餐:免费套餐和专业套餐。在 pro 包中,所有文件都应包含在内,而在免费包中,我必须排除与此模式匹配的文件:
@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
containsregexp
这个文件夹符号链接到我的文件系统的另一部分,但我真的不明白为什么当(且仅当)我使用标签时 Phing 无法读取它。
事实上,如果我删除它,一切正常(但包含错误的文件)。