2011-07-14 43 views
1

flex編譯器(mxmlc)允許在編譯器config xml文件as referenced in the documentation中使用令牌替換。在mxmlc配置文件中使用哪些令牌(默認情況下)?

從鏈接文件很清楚,你可以在命令行進行替代指定自己的標記,但也有一些默認/魔令牌可用,Adobe已經到位......

例如,摘錄如下,從an Adobe example減少有關如何使用框架RSL採購不甘示弱:

 
<runtime-shared-library-path> 
    <path-element>libs/framework.swc</path-element> 
    <rsl-url>${hosted.rsl.url}/flex/${build.number}/framework_${build.number}.swz</rsl-url> 
    <policy-file-url>${hosted.rsl.url}/crossdomain.xml</policy-file-url> 
</runtime-shared-library-path> 

我已經在使用中突出兩個標記出現,即hosted.rsl.urlbuild.number。這些工作「神奇地」沒有在命令行中指定它們。

這裏是another example,含糊地表示存在${flexlib}標記。

不幸的是,除了那些有限的例子,我找不到有關什麼標記可用的文檔的耳語... 標記列表記錄在我找不到的地方嗎?如果沒有,是否有人知道可用的標記是什麼,以便這個SO問題可以是文檔?


注:因爲我引用build.number,我也還可能會注意到,build.number似乎並不十分正常工作,如Adobe似乎認爲它,因爲對我來說,只是給我的版本號,而不是整個串。即:對於Flex 4.5.0.20967,${build.number}只是給我20967這是沒有太大的幫助)。我有一個網絡鏈接,有人在抱怨這些令牌的變化實施,但我再也找不到它了。

+0

我對文檔的解釋是,您必須將該標記定義爲編譯器參數才能在配置文件中訪問它。 – JeffryHouser

+0

@ www.Flextras.com - 是的,這正是文檔所說的。除此之外,還有一些默認/魔術可用,無需明確指定它們作爲編譯器參數。我在那些之後。對不起,如果我不夠清楚。 – Russ

+0

@ www.Flextras.com - 我編輯了這個問題來澄清 – Russ

回答

2

你可以在構建文件中找到它們 - 在你的sdk目錄中搜索build.xml,如果你有它(因爲它是開源的,你可以從adobe http://opensource.adobe.com/wiki/display/flexsdk/Get+Source+Code免費獲得)用於構建。 xml文件。

在他們中你會看到他們實際定義的位置。您需要針對框架的不同部分進行不同的構建。例如,你可以看到第幾行如下:

(通知指定的build.number你好像好奇等等)

<project name="sdk" default="main" basedir="."> 

<property name="FLEX_HOME" location="${basedir}"/> 

    <!-- Required for OSX 10.6/Snow Leopard Performance --> 
<condition property="local.d32" value="-d32" > 
    <and> 
     <equals arg1="${sun.arch.data.model}" arg2="64"/> 
     <equals arg1="${os.arch}" arg2="x86_64"/> 
      <os family="mac"/> 
    </and> 
</condition> 

<property file="${FLEX_HOME}/local.properties"/> 
<property file="${FLEX_HOME}/build.properties"/> 
<property environment="env"/> 
<property name="debug" value="true"/> 
<property name="strict" value="true"/> 
<property name="javac.src" value="1.5"/> 
<property name="build.number" value="0"/> 
<property name="target.player" value="10"/> 

快樂狩獵! (記住,你可以添加自己的呢!)

:)

0

這是一個比較古老的問題,但我只是最近不知道。令牌在編譯器的ConfigurationBuffer中積累。 Mxmlc填充flexlib,framework,configname,build.number和系統屬性以flex.開始,而CommandLineConfigurator分析用戶令牌。然而,不知道hosted.rsl.url。我懷疑ConfigurationBuffer公開了其他變量,如DefaultsConfigurator的默認值,但沒有足夠的努力來解決問題。我以前使用flexlib,但發現where它默認爲當前目錄。

相關問題