Я пытаюсь передать номер сборки из Хадсона в приложение Flex.Определяет в действии скрипт
Я нашел документ Adobe (http://livedocs.adobe.com/flex/3/html/help.html?content=compilers_21.html) на условной компиляции, который, кажется, должен его решить, но я должен что-то упустить.
Так что в моем муравей построить файл у меня есть: -
<mxmlc
file="${app.dir}/${application.name}.mxml"
output="${dist.dir}/${application.name}.swf"
context-root="${application.name}"
debug="true"
locale="${locales}"
allow-source-path-overlap="true">
<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
<compiler.library-path dir="${lib.dir}" append="true">
<include name="*.swc" />
</compiler.library-path>
<define name="BUILD::BuildNumber" value="'20100707.800'"/>
<source-path path-element="${src.dir}"/>
<source-path path-element="${cfg.dir}"/>
<source-path path-element="${locale.dir}" />
</mxmlc>
Тогда я пытаюсь получить с
public static const buildNumber:String = BUILD::BuildNumber;
Однако компилятор отвергает с:
SomeModel.as(31): col: 47 Error: Access of undefined property BUILD.
[mxmlc] private static const _buildNumber:String = BUILD::BuildNumber;
Какие-либо предложения?
Основано на документах относительно условной компиляции; похоже, что вы делаете все правильно. Я немного потерял. http://livedocs.adobe.com/flex/3/html/help.html?content=compilers_21.html. Является ли компилятор Flex превращением вашего открытого static const в методы getter/setter с приватным var? Может ли такое преобразование каким-то образом вызвать проблему? – JeffryHouser
Может быть. Теперь это прямолинейно.Я могу заставить его работать в Flash Builder, с -define + = BUILD :: BuildNumber, '00000000.000' в разделе дополнительных команд. Он просто не пропускает его из сборки ant mxmlc. – Decado