2014-07-25 50 views
1

我想通過使用Ant來編譯我的項目。 我做到了。但我有一些問題。我不知道如何解決。Flex 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) 

也許,那不好。 雖然我可以只加載一次嗎?

希望你能給我任何建議。 謝謝。

回答

2

這裏真的沒有什麼可做的。配置文件的加載由mxmlc內部完成,而不是ant。請記住,每次在您的ant腳本中調用mxmlc時,它都會啓動它的一個新實例,因此每個實例都必須爲其自身加載配置。

這與您如何啓動網絡瀏覽器,關閉並重新打開網頁瀏覽器的方式類似,您將最終加載主頁兩次。環境中沒有任何東西可以將頁面保存到內存中,以將它傳遞給第二次調用該程序。

+0

這對我很好。謝謝! – Luc