从文件加载变量&在ant build中作为arg值传递

时间:2010-11-29 09:13:19

标签: flex ant build-automation

我想要做的是加载文件的内容并将其作为参数参数发送到mxmlc编译器。
我可以使用loadfile加载和读取文件的内容,并设置propertypropery="filecontent"。但问题是我可以将它传递给mxmlc(flex)编译器 我无法将其(${filecontent}尝试)传递给arg line。它给出了一个错误:“值包含未知令牌'filecontent'”
如何将文件的内容作为参数值传递给编译器参数?
编辑:
问题出在include-resource-bundles个参数上。使用命令行时,它可以工作。但是使用ant build不会。我们是否需要通过生成资源文件来手动提供资源包的名称?

<exec executable="${MXMLC}" dir="${APP_ROOT}/src" >
    <arg line="-locale 'en_US'"/>
  .. .. ..
    <arg line="-include-resource-bundles 'collections,components,containers,controls,core,effects,formatters,layout,modules,skins,states,styles'"/>
    .. .. 

我试图通过以下方式替换参数:

... ....
<loadfile property="resources" srcFile="${APP_ROOT}/src/resources.txt"/>
... ....
<exec executable="${MXMLC}" dir="${APP_ROOT}/src" >
  ...
    <arg line="-include-resource-bundles '${resources}'"/>
  ....
</exec>

哪个不起作用并给出和错误 - &gt; command line: Error: configuration variable 'include-resource-bundles' value contains unknown token 'resources'

那么如何自动化?

1 个答案:

答案 0 :(得分:0)

构建文件没有明显错误。但是错误消息表明在调用MXMLC编译器时未设置${resources}。如果未设置Ant属性,则在使用该属性的任何位置替换属性名称(带有美元符号和括起大括号)。

可以插入类似

的内容吗?
<echo message="Resources: ${resources}" />
在'loadfile'之后检查该任务是否正常工作?请注意,例如,如果resources.txt为空,则不会设置该属性。