2011-10-26 52 views
2

我想使用flex ant任務來構建我的Flex項目。 使用Ant之前,我跑了mxmlc的命令是這樣的:如何使用flex ant任務自定義令牌

mxmlc -load-config mxmlc_conf.xml src\project.mxml -output bin-debug +libs=<absolute_path_to>3rdparty\libs +<other_token>=<absoulte_path_to_value> 

的事情是我現在應該使用柔性Ant任務,它看起來像他們禁用(或忘了),自定義令牌就像+ =爲我還沒有找到將這些傳遞給mxmlc任務的方法。

我已經嘗試使用:

< mxmlc的...> < ARG令牌值= 「...」/> </mxmlc的>

,但不起作用。

我想完成的是擺脫mxmlc配置文件(mxmlc_conf.xml)中的硬編碼路徑,起初我使用mxmlc中的自定義令牌,但現在我不知道如何通過路徑作爲配置文件的變量。

我可以接受建議。

非常感謝。

回答

0

我試圖做同樣的事情(替換配置文件中的硬編碼路徑),我正在尋找相同的解決方案。

看來,我們可能不得不放棄了mxmlc的任務,只是在命令行中使用mxmlc的:

<exec searchpath="true" executable="amxmlc" 
     dir="${project.build.outputDirectory}"> 
     <env key="PATH" 
      path="${env.PATH}:/Applications/Adobe\ Flash\ Builder\ 4.5/sdks/4.5.1/bin" /> 
     <arg value="-load-config" /> 
     <arg value="../src/main/resources/dumpConfig.xml" /> 
     <arg value="+libs=/absolute/path/to/3rd/party/libs" /> 
     <arg value="-output" /> 
     <arg 
      value="${project.build.outputDirectory}/${application.name}.swf" /> 
     <arg value="../src/main/flex/${application.name}.mxml" /> 
    </exec> 

這樣的事情應該工作。我只是希望有一個更好的方法(也就是,我們實際上可以使用MXML Ant目標的方式!)

我希望幫助別人......

0

試試這個

<target> 
    <replace file="mxmlc_conf.xml" token="$${libs}" value="absolute/path/to/3rdparty/libs"/> 
    <mxmlc ...> 
     <load-config filename="mxmlc_conf.xml" /> 
    </mxmlc> 
    <replace file="mxmlc_conf.xml" token="absolute/path/to/3rdparty/libs" value="$${libs}"/> 
</target>