Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Defines in Action script

I'm trying to pass a build number from Hudson into a Flex application.

I've found Adobe's document (http://livedocs.adobe.com/flex/3/html/help.html?content=compilers_21.html) on conditional compilation which seems it should solve it but I must be missing something.

So in my ant build file I have:-

<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>

Then i'm trying to retrieve with

public static const buildNumber:String = BUILD::BuildNumber;

However the compiler is rejecting with:

SomeModel.as(31): col: 47 Error: Access of undefined property BUILD.
[mxmlc] private static const _buildNumber:String = BUILD::BuildNumber;

Any suggestions?

like image 341
Decado Avatar asked Jul 07 '10 14:07

Decado


1 Answers

A combination of the other suggestions here seems to work.

This should go in your build.xml (it assumes that your build.xml has already assigned a value to BUILD_NUMBER before this point):

<mxmlc>
    ...
    <define name="CONFIG::build" value="&quot;${BUILD_NUMBER}&quot;" />
    ...      
</mxmlc>

Note the use of the &quot; without any quotation marks. Note also that you can use this syntax with compc.

Then your actionscript code can have something like this:

public static const buildNumber:String = CONFIG::build;

I don't think you necessarily need to use the CONFIG namespace, but it's a popular convention.

like image 184
Chris Welsh Avatar answered Oct 15 '22 20:10

Chris Welsh