Какие токены доступны (по умолчанию) для использования в конфигурационном файле mxmlc? - PullRequest
1 голос
/ 14 июля 2011

Компилятор flex (mxmlc) позволяет использовать замену токена в файле XML конфигурации компилятора, , как указано в документации .

Из связанной документации ясно, что вы можетеукажите свои собственные токены для подстановки в командной строке, но есть также некоторые доступные по умолчанию / магические токены, которые Adobe установила на место ...

Например, приведенный ниже фрагмент кода уменьшен с для примера Adobe о том, как работать с источником RSL:

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

Я выделил два используемых здесь токена, а именно hosted.rsl.url и build.number.Они работают «волшебным образом» без указания их в командной строке.

Вот еще один пример , который смутно показывает существование токена ${flexlib}.

К сожалению, кромеэти ограниченные примеры Я не могу найти шепот документации о том, какие токены доступны ... Документирован ли список токенов где-то, что я не могу найти? Если нет, кто-нибудь знает, какие доступны токенытак что этот вопрос SO может быть документацией?


Примечание: Поскольку я ссылался на build.number, я мог бы также отметить, что build.number, похоже, работает не совсем так, как кажется AdobeЯ думаю, что это так, потому что для меня это просто номер сборки, а не вся строка.то есть: для flex 4.5.0.20967 ${build.number} просто дает мне 20967, что не сильно помогает).У меня была веб-ссылка, на которой кто-то жаловался на изменение реализации этих токенов, но я больше не могу его найти.

Ответы [ 2 ]

2 голосов
/ 15 июля 2011

Вы найдете их в файлах сборки - выполните поиск build.xml как в вашей директории sdk, так и в том случае, если она у вас есть (а так как она с открытым исходным кодом, вы можете получить бесплатную копию из Adobe http://opensource.adobe.com/wiki/display/flexsdk/Get+Source+Code) для файлов build.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 голосов
/ 25 февраля 2012

Это довольно старый вопрос, но я только недавно задавался вопросом. Токены накапливаются в компиляторе ConfigurationBuffer с. Mxmlc заполняет flexlib, framework, configname, build.number и системные свойства, начиная с flex., тогда как CommandLineConfigurator анализирует пользовательские токены. Не уверен насчет hosted.rsl.url однако. Я подозреваю, что ConfigurationBuffer предоставляет дополнительные переменные, такие как DefaultsConfigurator по умолчанию, но не достаточно трудолюбив, чтобы запустить его. Я использовал flexlib исторически, но нашел , где по умолчанию это текущий каталог.

...