具有任意源/ lib路径列表的Ant MXMLC任务?

时间:2010-06-10 05:57:56

标签: flex ant mxmlc

是否有人知道将mxmlc Flex Ant任务与用户定义的源路径或库路径列表一起使用的方法?

用户应该能够在Ant属性文件中定义源和/或库(.swc)路径的任意列表,并且构建文件可以在mxmlc任务中使用这些值。

是否有任何技巧(可能使用过滤/字符串替换)才能使其正常工作?

3 个答案:

答案 0 :(得分:1)

不知道这是否有帮助,但你可以include an external XML in your Ant build file

<?xml version="1.0" ?>
<project name="test" default="test" basedir=".">

  <target name="setup">
    ...
  </target>

  <import file="./common.xml" />

</project>

我遇到了你的问题,寻找一种在外部文件中定义库(和源路径)定义的方法。循环遍历已定义属性的列表对我来说似乎有些问题,因为您可能必须定义库路径的列表以及列表中每个定义路径中的文件子列表。

似乎包括定义库和各种源路径的外部文件可能是更好,也是可扩展的方式。

答案 1 :(得分:1)

我这样做是在外部mxmlc配置文件(例如flex-config.xml)中列出我的源路径,库路径等,我的或多或少的通用build.xml文件就是

<mxmlc file="${app.mainClass}" output="${swf}">
    <load-config filename="${air.sdk.config}" />
    <load-config filename="${app.config}" />
</mxmlc>

其中air.sdk.config指向SDK的默认配置xml,app.config是应用程序的自定义配置xml。

答案 2 :(得分:0)

我不知道是否可以从属性文件中执行此操作。

您可以在Ant脚本中使用它:

<source-path>
    <source-path path-element="my/src/dir" />
</source-path>
<library-path dir="my/libs/dir" append="true">
    <include name="*.swc" />
</library-path>

或者可以开发一些Ant模块来从您的属性文件中模拟它。

我无法理解你为什么要让你的属性文件动态化,它通常是build.xml的角色,但是嘿:)