プロパティを他の複数のプロパティのテンプレートとして使用しようとしていますが、初めて機能します。例で示すのがおそらく最も簡単なので、この動作を示す最小限のケースにコードを切り詰めました。
<target name="test">
<property name="individual.template" value="x@ID@"/>
<propertyregex property="individual.1" input="${individual.template}" regexp="\@ID\@" replace="1" global="true" override="true"/>
<echo>====== ${individual.1} ::: ${individual.template}</echo>
<propertyregex property="individual.2" input="${individial.template}" regexp="\@ID\@" replace="2" global="true" override="true"/>
<echo>====== ${individual.2} ::: ${individual.template}</echo>
<propertyregex property="individual.3" input="${individial.template}" regexp="\@ID\@" replace="3" global="true" override="true"/>
<echo>====== ${individual.3} ::: ${individual.template}</echo>
<propertyregex property="individual.4" input="${individial.template}" regexp="\@ID\@" replace="4" global="true" override="true"/>
<echo>====== ${individual.4} ::: ${individual.template}</echo>
<propertyregex property="individual.5" input="${individial.template}" regexp="\@ID\@" replace="5" global="true" override="true"/>
<echo>====== ${individual.5} ::: ${individual.template}</echo>
</target>
これはx1、x2などを出力すると思いますが、次のように出力されます。
[echo] ====== x1 ::: x@ID@
[echo] ====== ${individual.2} ::: x@ID@
[echo] ====== ${individual.3} ::: x@ID@
[echo] ====== ${individual.4} ::: x@ID@
[echo] ====== ${individual.5} ::: x@ID@
ご覧のとおり、最初のプロパティは問題ありませんが、次のプロパティは設定されていません。最初はテンプレートのプロパティが変更されたと思いましたが、出力からわかるように、そうではありません。私はここで愚かなことをしているだけですか?これはサポートされていませんか?それともバグですか?任意のアイデアをいただければ幸いです。
(Antバージョン1.8.2、ant-contribバージョン1.0b2)。