Flex Ant:编译多个模块

时间:2014-07-25 00:38:33

标签: flex ant

我正在尝试使用Ant编译我的项目。 我做到了。但我有一些问题。我不知道如何解决。

<!-- Compile Modules (S) -->
<target name="compileModules" depends="compileBLP">
    <record name="${LOG_DIR}/LOG_${CURR_TIME_SUBFIX}${LOG_FILE_TYPE}" append="false" action="start" />
    <cpmdl file="com/dou/pi/views/dm/Module1" />
    <cpmdl file="com/dou/pi/views/pim/Module2" />
    <record name="${LOG_DIR}/LOG_${CURR_TIME_SUBFIX}${LOG_FILE_TYPE}" action="stop" />
</target>
<!-- Compile Modules (E) -->

<macrodef name="cpmdl">
    <attribute name="file" />
    <sequential>
        <echo>@{file}</echo>
        <mxmlc file="${SRC_DIR}/@{file}.mxml" output='${DEPLOY_DIR}/@{file}.swf' optimize="true" debug="false" incremental="false" fork="true">
            <compiler.source-path path-element="${SRC_DIR}" />
            <source-path path-element="${FLEX_HOME}/frameworks" />
            <compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
                <include name="libs" />
            </compiler.library-path>
            <compiler.library-path dir="${basedir}" append="true">
                <include name="libs" />
                <include name="src/assets/swc" />
            </compiler.library-path>
            <source-path path-element="${SRC_DIR}" />
        </mxmlc>
    </sequential>
</macrodef>

你可以看到。如果我编译2个模块,我必须加载文件配置2次。

[mxmlc] Loading configuration file C:\Program Files\Adobe\Adobe Flash Builder 4 Plug-in\sdks\4.1.0\frameworks\flex-config.xml
[mxmlc] D:\Projects\BLP\BUILD\DEPLOY\com\dou\pi\views\dm\Module1.swf (1233413 bytes)
[mxmlc] Loading configuration file C:\Program Files\Adobe\Adobe Flash Builder 4 Plug-in\sdks\4.1.0\frameworks\flex-config.xml
[mxmlc] D:\Projects\BLP\BUILD\DEPLOY\com\dou\pi\views\pim\Module2.swf (963045 bytes)

也许,这不好。 不过,我可以加载一次吗?

希望你能给我任何建议。 感谢。

1 个答案:

答案 0 :(得分:2)

这里真的无所事事。配置文件的加载是由mxmlc内部完成的,而不是ant。请记住,每次在ant脚本中调用mxmlc时,它都会启动它的新实例,因此每个实例都必须为自己加载配置。

它类似于如果您启动网络浏览器,关闭它并重新打开它,您将最终加载您的主页两次。环境中没有任何东西可以将页面保存到内存中以将其传递给程序的第二次调用。