1

次のように、スクリプトの開始時にファイルセットを作成しました。

<!-- Define the list of projects to be built -->
<fileset id="ivy.buildlist.fileset" dir="${ivy.buildlist.dir}" includes="${ivy.buildlist.includes}" excludes="${ivy.buildlist.excludes}" />

しかし、ユーザーが特定のタスクを選択した場合、この参照を更新したいと思います。そのために、呼び出される新しいターゲットを作成しまし<intersect>たが、参照を更新していません。

<target name="getPreReleaseList" description="Target to override the component list for pre release" >
    <echo message="Existing List : ${toString:ivy.buildlist.fileset}" />
    <intersect>
        <fileset refid="ivy.buildlist.fileset" />
        <fileset dir="${ivy.buildlist.dir}" 
            includes="${ivy.pre.buildlist.includes}"
            excludes="${ivy.pre.buildlist.excludes}" />
    </intersect>
    <echo message="Updated List : ${toString:ivy.buildlist.fileset}" />
</target>

前と後のリストivy.buildlist.filesetは同じです:(。何か不足していますか、それとも別のアプローチを採用していますか。

4

1 に答える 1

0

Your problem is due to the fact that ant properties are immutable.

In order to modify a property, you could either use the variable task or use a macrodef.

I suggest you take a look at the following question for more detail.

于 2013-08-20T17:05:44.550 に答える