Использование Apache Ant 1.7.1
Похоже, задача Ant Filter не может разрешить одно и то же свойство несколько раз в одной строке, если для recurse установлено значение true.Я не могу найти упоминаний об этом в документации по муравьям.Это должно произойти?
Используя этот файл сборки муравья:
<project basedir="." default="assemble" >
<macrodef name="copy-and-filter">
<sequential>
<copy tofile="to.txt" file="from.txt" overwrite="true">
<filterset recurse="true">
<filtersfile file="filters.properties"/>
</filterset>
</copy>
</sequential>
</macrodef>
<target name="assemble">
<copy-and-filter />
</target>
</project>
с этими файлами:
from.txt:
I want my broker to be: @broker.url@
and my client to be: @client.url@
filters.properties:
myval=fish
broker.url=-@myval@-
client.url=@myval@-@myval@
Я получаю вывод:
i want my broker to be: -fish-
and my client to be: myval
, а не то, что я ожидал, что будет следующим:
i want my broker to be: -fish-
and my client to be: fish-fish
Если яустановите recurse в false, тогда я получу «правильное» поведение.
i want my broker to be: -@myval@-
and my client to be: @myval@-@myval@
Почему это так?