Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将可配置文件映射列表传递给ant宏?_Ant_Macros_Mapping - Fatal编程技术网

如何将可配置文件映射列表传递给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

我正在尝试将具有许多类似目标的Ant构建文件重构为使用宏的构建文件。大致是这样的:

<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?我无法将它们移动到宏,因为文件列表可能不相同。此外,宏位于一个单独的文件中,该文件应禁止普通用户使用,这些用户可以随意处理文件列表,但对整个构建文件有点害怕。