如何将可配置文件映射列表传递给ant宏?
我正在尝试将具有许多类似目标的Ant构建文件重构为使用宏的构建文件。大致是这样的:如何将可配置文件映射列表传递给ant宏?,ant,macros,mapping,Ant,Macros,Mapping,我正在尝试将具有许多类似目标的Ant构建文件重构为使用宏的构建文件。大致是这样的: <macrodef name="build-text"> <argument name="lang" /> <element name="file-list"/> <sequential> <property name="lang" value="@{lang}" /> <xslt style="my_stylesh
<macrodef name="build-text">
<argument name="lang" />
<element name="file-list"/>
<sequential>
<property name="lang" value="@{lang}" />
<xslt style="my_stylesheet.xsl" destdir="build" basedir="src">
<!-- lots of params here -->
<file-list />
</xslt>
</sequential>
</macrodef>
<target name="buildTextDE">
<build-text lang="DE">
<file-list>
<mapper>
<mapper type="glob" from="Text1_${lang}.html" to="Text1_${lang}.fo"/>
<mapper type="glob" from="Text2_${lang}.html" to="Text2_${lang}.fo"/>
</mapper>
</file-list>
</build-text>
</target>
还有另一个名为buildTextEN的任务,除了lang属性外,它几乎相同。但在某些情况下,文件列表会有所不同。现在,我想通过定义一个全局映射列表来进一步简化构建文件,该列表包含德语和英语的文件列表,每个文件都带有该语言的占位符。我想在不需要特殊情况的情况下引用这个全局映射。我该怎么做?如果要将映射器设置为DE和EN全局,为什么不将它们移动到MARC?我无法将它们移动到宏,因为文件列表可能不相同。此外,宏位于一个单独的文件中,该文件应禁止普通用户使用,这些用户可以随意处理文件列表,但对整个构建文件有点害怕。