Поддерживает ли (ant-contrib) propertyregex многократное использование одного и того же свойства? - PullRequest
1 голос
/ 20 декабря 2011

Я пытаюсь использовать свойство в качестве шаблона для нескольких других свойств, но оно работает только в первый раз. Это, вероятно, проще всего показать на примере, поэтому я сократил свой код до минимального случая, который демонстрирует такое поведение:

<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).

Ответы [ 2 ]

3 голосов
/ 21 декабря 2011

Это просто опечатка: (отдельный я ал) против (отдельный ты ал)

2 голосов
/ 20 декабря 2011

@ thor84no, в тестовом примере я вижу ошибку копирования / вставки: не следует ли печатать значение individual.1/individual.2/individual.3/individual.4/individual.5 вместо individual.template?Я сделал эти изменения локально, и вы получили то, что ожидали:

test:
     [echo] ====== x1 ::: x1
     [echo] ====== x2 ::: x2
     [echo] ====== x3 ::: x3
     [echo] ====== x4 ::: x4
     [echo] ====== x5 ::: x5
...