【发布时间】:2010-11-26 14:54:54
【问题描述】:
我想自动构建一个 flex 库项目,而不是当前进程,这涉及我们的一位开发人员在他的机器上编译它,然后我们签入生成的 .swc 文件。太恶心了。
我是从 Java 开发人员的角度来解决这个问题的,所以我很难掌握 Flex Builder 3 应用程序中提供的编译工具的窍门,但这是我已经拥有的:
- 我创建了一个 ant 文件,可以正确加载 ant 任务库,因此可以执行
<mxmlc/>和<compc/>任务。 - 我已经找到了我需要构建的源代码,并且知道我想要最终得到什么样的 .swc。
我想要的是一个相当于这些步骤的 ant 脚本:
- 我们将项目中的所有源代码(actionscript 和 MXML)和资产构建到一个 swc 文件中。
- library.swf 文件被提取并优化
到目前为止,我有这个:
<target name="compile-component" depends="init">
<compc output="${DEPLOY_DIR}/${SWC_NAME}.swc">
<source-path path-element="${FLEX_HOME}/frameworks"/>
<source-path path-element="${SRC_DIR}"/>
</compc>
</target>
但是,它不包含任何内容:
[compc] Loading configuration file /Applications/Adobe Flex Builder 3/sdks/3.2.0/frameworks/flex-config.xml
[compc] Adobe Compc (Flex Component Compiler)
[compc] Version 3.2.0 build 3958
[compc] Copyright (c) 2004-2007 Adobe Systems, Inc. All rights reserved.
[compc]
[compc] Error: nothing was specified to be included in the library
[compc]
[compc] Use 'compc -help' for information about using the command line.
看起来我需要枚举我想包含在库中的每个类,这……可笑。一定会有更好的办法。我该怎么做?
【问题讨论】:
-
据我所知,命令行 MXMLC 编译器一次只编译一个文件(如果我错了,那就太好了!)。对于具有各种
.mxml文件的应用程序,我们最终要做的是创建一个迭代每个.mxml文件的Ant 目标(使用ant-contribfor任务),并为每个文件运行mxmlc任务依次归档。如果您愿意,我可以提供我们的<target>代码,但是将一堆组件编译成单个 SWF 略有不同
标签: apache-flex ant flex3 adobe flexbuilder