Я пытаюсь использовать свойство в качестве шаблона для нескольких других свойств, но оно работает только в первый раз. Это, вероятно, проще всего показать на примере, поэтому я сократил свой код до минимального случая, который демонстрирует такое поведение:
<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).