2011-10-26 51 views
2

我想使用flex ant任务来构建我的Flex项目。 使用Ant之前,我跑了mxmlc的命令是这样的:如何使用flex ant任务自定义令牌

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

的事情是我现在应该使用柔性Ant任务,它看起来像他们禁用(或忘了),自定义令牌就像+ =为我还没有找到将这些传递给mxmlc任务的方法。

我已经尝试使用:

< mxmlc的...> < ARG令牌值= “...”/> </mxmlc的>

,但不起作用。

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

我可以接受建议。

非常感谢。

回答

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 Ant目标的方式!)

我希望帮助别人......

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>