質問

I have Phing build file to create releases of my components.
I have two kind of packages: the free and the pro one. Inside the pro package, all the files should be included, while in the free one I have to exclude files that match this patter:
@category[ \t]+ProVersion

I just reused a PHPDocumentor tag to flag my pro files.
Said that, these are my two fileset tag:

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

And this is my target one:

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

Everything works fine on the pro package, but on the free one I always get this error message:
Could not read file backend\liveupdate\assets

This folder is symlinked to another part of my filesystem, but I really can't understand why Phing can't read it if (and only if) I'm using the containsregexp tag.
Infact if I remove that, everything works fine (but wrong files are included).

役に立ちましたか?

解決

After a lot of tests, I found out that the build fails under Windows and if the file is a symlinked one.
Sadly there is no solution other than using Linux or Mac OS.

By the way, the bug was reported to Phing, too:
http://www.phing.info/trac/ticket/1047

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top