Я использую цели concat в ant macrodef для генерации ddl-файлов. Одна часть строки в нескольких строках свойств дублируется в полученном ddl.
Это дублирование наблюдается только при создании из конкатных целей.
Я пробовал 1) использовать тире вместо подчеркивания, 2) использовать $ {property-name} вместо @ {property-name}, 3) использовать echo target вместо concat target, 4) переключиться с муравья 1.9. С 3 по 1.10.5 и 5) поиск в Интернете
Свойство устанавливается в скрипте муравья
<property name="SCHEMA_ID" value="REPLACE_SCHEMA_ID" />
Атрибут устанавливается в macrodef
<attribute name="schema-id" default="${SCHEMA_ID}" />
Конкретная цель
<concat destfile="@{dest-dir}/@{spname}.ddl">
SET CURRENT SCHEMA = '@{schema-id}'
@@@@
SET CURRENT SQLID = '@{sql-id}'
@@@@
</concat>
Выходная строка в файле ddl
SET CURRENT SCHEMA = 'REPLACE_REPLACE_SCHEMA_ID'
Я ожидаю, что строка вывода в файле ddl будет:
SET CURRENT SCHEMA = 'REPLACE_SCHEMA_ID'