2010-11-08 106 views
0

我知道我可以使用ant & flex ant tasks的組合來自動構建。但是,我不清楚如何編譯應用程序的所有mxml和動作腳本文件。例如,下面的構建文件是否編譯只是 Main.xml文件或應用程序中的所有文件?如何使用flex ant taks自動創建flex應用程序?

<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> 

回答

1

你的問題表明你不太清楚如何構建SWF。

MXMLC構建SWF文件,其中的根文件是應用程序或模塊。它從該類開始構建SWF,並鏈接任何使用的類/庫。

COMPC構建只需要文件列表的SWC。它構建了包含您指定要構建的任何類的SWC。

MXMLC用於構建應用程序或模塊。 (只有需要的文件)

COMPC是用於建立一個圖書館。 (指定的所有文件)

您的問題顯示MXMLC,這意味着Main.mxml引用的任何類(以及它們引用的任何類,等等)都將內置到Main.swf中以用作應用程序(或模塊取決於Main.mxml中的根標記)

+0

感謝您的解釋/澄清。你是對的,我不清楚SWF如何構建;我在印象之下mxmlc工作作爲javac - 即每個文件需要被指定爲了編譯。 – dank106 2010-11-09 16:05:14

0

編譯器將構建mxml文件和任何鏈接/包含的.as/mxml文件。如果我沒有記錯,它將而不是包含未鏈接到任何其他文件的文件(與未使用的實用程序類相同)。

如果您正在編譯具有實用程序類的庫,則必須指定每個文件你想包括。您可以使用JavaScript插件和ant-contrib庫來幫助自動遞歸地包含所有文件。