如何使用flex ant任务自动构建flex app?

时间:2010-11-08 17:13:28

标签: flex ant build-automation

我知道我可以使用ant & flex ant tasks的组合来自动构建。但是,我不清楚如何编译应用程序的所有mxml和actionscript文件。例如,下面的构建文件是否只是 Main.xml文件或应用程序中的所有文件?

<project name="flex-app-builder">
 <property name="FLEX_HOME" value="C:/flex/sdk"/>
 <property name="APP_ROOT" value="apps"/>
 <property name="DEPLOY_DIR" value="C:/builds/flex/"/>

 <target name="main">
        <mxmlc 
            file="${APP_ROOT}/Main.mxml" 
            output="${DEPLOY_DIR}/Main.swf"
            actionscript-file-encoding="UTF-8"
            keep-generated-actionscript="true"
            incremental="true"
        />
 </target> 
</project>

2 个答案:

答案 0 :(得分:1)

您的问题表明您对SWF的构建方式不太清楚。

MXMLC构建根文件为应用程序或模块的SWF。它从该类开始构建SWF,并在任何使用的类/库中进行链接。

COMPC构建SWC,只需要一个文件列表。它构建包含您指定要构建的任何类的SWC。

MXMLC用于构建应用程序或模块。 (仅限所需文件)

COMPC用于构建库。 (指定了所有文件)

您的问题显示MXMLC,这意味着Main.mxml引用的任何类(以及它们引用的任何类,等等)都将构建到Main.swf中以用作应用程序(或模块,具体取决于root用户)标签在Main.mxml)

答案 1 :(得分:0)

编译器将构建mxml文件和任何链接/包含的.as / mxml文件。如果我没记错的话,它将包含未链接到任何其他文件的文件(就像未使用的实用程序类一样。)

如果要使用实用程序类编译库,则必须指定要包含的每个文件。您可以使用JavaScript插件和ant-contrib库来帮助自动包括递归的所有文件。