有谁知道将 mxmlc Flex Ant 任务与用户定义的源或库路径列表一起使用的方法?
用户应该能够在 Ant 属性文件中定义源和/或库 (.swc) 路径的任意列表,并且构建文件可以在 mxmlc 任务中使用这些值。
是否有任何技巧(可能使用过滤/字符串替换)来使其正常工作?
有谁知道将 mxmlc Flex Ant 任务与用户定义的源或库路径列表一起使用的方法?
用户应该能够在 Ant 属性文件中定义源和/或库 (.swc) 路径的任意列表,并且构建文件可以在 mxmlc 任务中使用这些值。
是否有任何技巧(可能使用过滤/字符串替换)来使其正常工作?
不知道这是否有帮助,但您可以在 Ant 构建文件中包含一个外部 XML:
<?xml version="1.0" ?>
<project name="test" default="test" basedir=".">
<target name="setup">
...
</target>
<import file="./common.xml" />
</project>
我遇到了您的问题,寻找一种在外部文件中定义库(和源路径)定义的方法。循环遍历已定义属性列表对我来说似乎有些问题,因为您可能必须定义库路径列表以及列表中每个已定义路径中的文件子列表。
似乎包括定义库和各种源路径的外部文件可能是一种更好且可扩展的方式。
我这样做的方式是在外部 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。
我不知道是否可以从属性文件中做到这一点。
您可以在 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 的作用,但是嘿:)