代码之家  ›  专栏  ›  技术社区  ›  Decado

定义动作脚本

  •  6
  • Decado  · 技术社区  · 16 年前

    我正在尝试将一个版本号从Hudson传递到Flex应用程序中。

    我找到了Adobe的文件( http://livedocs.adobe.com/flex/3/html/help.html?content=compilers_21.html

    所以在我的ant构建文件中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>
    

    然后我试着用

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

    但是编译器拒绝了:


    [mxmlc]专用静态const\u buildNumber:String = BUILD::BuildNumber;

    有什么建议吗?

    4 回复  |  直到 10 年前
        1
  •  2
  •   Chris Welsh    15 年前

    这里的其他建议的组合似乎是有效的。

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

    请注意 &quot; 没有任何引号。另外请注意,您可以将此语法用于compc。

    然后,您的actionscript代码可以有如下内容:

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

        2
  •  1
  •   SqueeDee    16 年前

    这绝对是一个引用问题。我为此奋斗了很长一段时间。但是,我在ant中使用标记来运行mxmlc和compc,因此不确定我的分辨率是否相同。这对我来说当然有效,但:

    <arg value="-define+=ENV::build,&quot;${build.id}&quot;" />
    <arg value="-define+=ENV::version,&quot;${build.version}&quot;" />
    

    <define name="BUILD::BuildNumber" value="&quot;20100707.800&quot;"/>
    
        3
  •  0
  •   bug-a-lot    16 年前

    &quot;

    mxmlc任务),使用 & . 例如:

        <compiler.define name="NAMES::AppName" value="&quot;'FooBar'&quot;" />
    

        4
  •  0
  •   user56512 user56512    16 年前

    我刚刚用引号解决了一个javascript flashvars问题,这激发了一个“试试这个”的想法:

    <compiler.define name=“NAMES::AppName”value=“\'FooBar\'”/>

    推荐文章