【发布时间】:2019-04-01 16:31:54
【问题描述】:
我在 ant 宏定义中使用 concat 目标来生成 ddl 文件。一些属性字符串中的一部分字符串在生成的 ddl 中重复。
只有在从 concat 目标生成时才会观察到这种重复。
我尝试过 1) 使用破折号而不是下划线,2) 使用 ${property-name} 而不是 @{property-name},3) 使用 echo 目标而不是 concat 目标,4) 从 ant 1.9 切换。 3 到 1.10.5,以及 5) 进行在线搜索
在 ant 脚本中设置属性
<property name="SCHEMA_ID" value="REPLACE_SCHEMA_ID" />
在宏定义中设置的属性
<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'
【问题讨论】:
标签: apache ant concat macrodef