2

私の問題は;
antcallback 関数を複数呼び出すと、常に同じ値が返されます。次のコードを確認してください。

<project name="AntCallBack" default="testFnc" basedir=".">
   <taskdef resource="net/sf/antcontrib/antcontrib.properties" />

   <target name="acbFnc" description="Sub Function" >
      <echo message="[acbFnc] started"/>
      <property name="out.file" value="${in.file}"/>
      <echo message="[acbFnc] ended."/>
   </target>

   <target name="testFnc" description="Main" >

        <antcallback target="acbFnc" return="out.file" >
            <param name="in.file" value="TEST-1" />
        </antcallback>
        <echo message="CALL - 1 : out.file : ${out.file}" />

        <antcallback target="acbFnc" return="out.file" >
            <param name="in.file" value="TEST-2" />
        </antcallback>
        <echo message="CALL - 2 : out.file : ${out.file}" />

    </target>
</project>

結果は次のとおりです。

$ /home/apache-ant-1.9.4/bin/ant -f AntCallBackTest.xml
Buildfile: AntCallBackTest.xml

testFnc:

acbFnc:
     [echo] [acbFnc] started
     [echo] [acbFnc] ended.
     [echo] CALL - 1 : out.file : TEST-1

acbFnc:
     [echo] [acbFnc] started
     [echo] [acbFnc] ended.
     [echo] CALL - 2 : out.file : TEST-1

BUILD SUCCESSFUL
Total time: 0 seconds

ご覧のとおり、最初の呼び出しで "param name="in.file" value="TEST-1" "
を送信し、2 回目の呼び出しで "param name="in.file" value="TEST-2" " を送信しました。
しかし、常に最初の値を返しました:
[echo] CALL - 1 : out.file : TEST-1
[echo] CALL - 2 : out.file : TEST-1

私は何を間違っていますか?
前もって感謝します

4

1 に答える 1