2

次のようなタスクがあります。

<target name="someTarget">
    <concat destfile="someFile">
        <string>someString</string>

        <string>someOtherString</string>
    </concat>
</target>

<target name="someOtherTarget">
    <antcall target="someTarget">
        <param name="myParam" value="myValue"></param>
    </antcall>

    <antcall target="someTarget">
    </antcall>
</target>

ターゲットを呼び出すときに指定された場合someOtherStringのみを連結するにはどうすればよいですか?myParamsomeTarget

4

1 に答える 1

4

Ant 拡張機能がない場合は、条件付き Ant 実行を使用します。

<project default="someOtherTarget">
    <target name="someTarget" depends="-someString,-someOtherString"/>

    <target name="-someString" unless="myParam">
        <concat destfile="someFile">
            <string>someString</string>
        </concat>
    </target>

    <target name="-someOtherString" if="myParam">
        <concat destfile="someOtherFile">
            <string>someString</string>
            <string>someOtherString</string>
        </concat>
    </target>

    <target name="someOtherTarget">
        <antcall target="someTarget">
            <param name="myParam" value="myValue"></param>
        </antcall>
        <antcall target="someTarget"/>
    </target>
</project>

プロジェクトに Ant 拡張機能を追加してもかまわない場合は、Ant-ContribIf taskを確認してください。

于 2012-06-10T14:58:08.397 に答える