Flex编译 - 元数据标签的奇怪行为

时间:2009-11-04 19:18:59

标签: flex ant mxmlc compc

我正在尝试将Flex Builder工作区的构建从IDE移动到Ant任务中,并且我在项目中的某些自定义元数据标记的行为方面遇到了一些问题。

我有一个库项目,编译为.swc,其中包含几个读取传递给它们的类的元数据的类。应用程序依赖于此库,应用程序中的几个类使用应由库读取的元数据标记。

此配置在Flex Builder中进行编译时工作正常,但当移动到使用compc编译库的任务和使用mxmlc编译应用程序时,库无法读取应用程序中的元数据标记。

我缺少compc或mxmlc的参数吗?

compc调用看起来像这样:

    <compc 
        include-classes="lots of classes here"
        output="${APP_ROOT}\libs\${libraryname}.swc">
        <source-path path-element="${localpath}\workspace\HolisticLib\src"/>
    </compc>

mxmlc调用如下所示:

    <mxmlc file="${APP_ROOT}\src\${MXMLname}" 
           output="${swflocation}" 
           keep-generated-actionscript="true"
           services="${servicesconfig}">
        <load-config filename="${FLEX_HOME}\frameworks\flex-config.xml"/>
        <source-path path-element="${FLEX_HOME}\frameworks" />
        <compiler.library-path dir="${APP_ROOT}" append="true">
            <include name="**\*.swc" />
        </compiler.library-path>
    </mxmlc>

1 个答案:

答案 0 :(得分:2)

您必须通过添加标志告诉编译器不要在编译时丢弃自定义元数据。

<keep-as3-metadata name="CustomMeta"/>
<keep-as3-metadata name="OtherCustomMeta"/>