如何使用自定义令牌与flex ant任务

时间:2011-10-26 18:14:30

标签: flex mxmlc

我正在尝试使用flex ant任务来构建我的Flex项目。 在使用ant之前,我运行了mxmlc命令,如下所示:

mxmlc -load-config mxmlc_conf.xml src\project.mxml -output bin-debug +libs=<absolute_path_to>3rdparty\libs +<other_token>=<absoulte_path_to_value>  

现在我应该使用flex ant任务,看起来他们禁用(或忘记)自定义标记,比如+ =因为我还没有找到将这些标记传递给mxmlc任务的方法。

我尝试过使用:

  

&LT; mxmlc ...&gt;&lt; arg token value =“...”/&gt;&lt; / mxmlc的&GT;

但这不起作用。

我想要完成的是摆脱mxmlc配置文件(mxmlc_conf.xml)中的硬编码路径,起初我在mxmlc中使用了自定义标记,但现在我不知道如何传递路径作为配置文件的变量。

我可以接受建议。

提前多多感谢。

2 个答案:

答案 0 :(得分:0)

我正在尝试做同样的事情(替换配置文件中的硬编码路径),我正在寻找相同的解决方案。

似乎我们可能不得不放弃mxmlc任务,只需从命令行使用mxmlc:

<exec searchpath="true" executable="amxmlc"
        dir="${project.build.outputDirectory}">
        <env key="PATH"
            path="${env.PATH}:/Applications/Adobe\ Flash\ Builder\ 4.5/sdks/4.5.1/bin" />
        <arg value="-load-config" />
        <arg value="../src/main/resources/dumpConfig.xml" />
        <arg value="+libs=/absolute/path/to/3rd/party/libs" /> 
        <arg value="-output" />
        <arg
            value="${project.build.outputDirectory}/${application.name}.swf" />
        <arg value="../src/main/flex/${application.name}.mxml" />
    </exec>

这样的事情应该有效。我只是希望有更好的方法(也就是说,我们可以实际使用mxml蚂蚁目标!)

我希望能帮到某人......

答案 1 :(得分:0)

试试这个

<target>
    <replace file="mxmlc_conf.xml" token="$${libs}" value="absolute/path/to/3rdparty/libs"/>
    <mxmlc ...>
        <load-config filename="mxmlc_conf.xml" />
    </mxmlc>
    <replace file="mxmlc_conf.xml" token="absolute/path/to/3rdparty/libs" value="$${libs}"/>
</target>