在ant/nant中构建Flex项目

B'g*_*gok 7 apache-flex nant flexbuilder build-process

在我的公司,我们的Flex项目中存在构建中断问题.问题主要是因为开发人员在本地计算机上执行的构建与构建计算机上发生的构建根本不同.开发人员正在使用FlexBuilder/eclipse构建机器并且构建机器正在使用命令行编译器.不可避免地,{projectname}-config.xml运行构建的和/或批处理文件与eclipse使用的项目文件不同步,因此构建在dev的机器上成功,但在构建机器上失败.

我们开始编写实用程序以将FlexBuilder的项目文件转换为{projectname}-config.xml文件,但它是a)无证件和b)可怕的黑客.

我查看了-dump-config开关以获取配置文件,但这有几个问题:1)生成的配置文件具有绝对路径,这在我们的环境中不起作用(一些开发人员使用mac,一些窗口机器),2)仅在从IDE运行时才有效,因此无法构建到构建过程中.

明天,我们将讨论几个选项,这两个选项都不是我非常喜欢的:

a)向Subversion添加一个post-in-event事件以删除这些绝对引用,或者
b)添加一个删除绝对引用的预构建过程.

我无法相信我们是第一批遇到此问题的开发人员,但我无法在Google上找到任何好的解决方案.其他小组如何处理这个问题?

Rob*_*ert 1

我发现将 ant 与 Flexbuilder 结合使用的未记录要求之一是在 ant 脚本中设置变量 FLEX_HOME。通常在 build.xml 中有以下内容:

\n\n
<!\xe2\x80\x93 Module properties \xe2\x80\x93>\n<property environment=\xe2\x80\x9denv\xe2\x80\x9d/>\n<property name=\xe2\x80\x9dbuild.dir\xe2\x80\x9d value=\xe2\x80\x9dbuild\xe2\x80\x9d/>\n<property name=\xe2\x80\x9dswf.name\xe2\x80\x9d value=\xe2\x80\x9dMyProjectSwf\xe2\x80\x9d/>\n<property name=\xe2\x80\x9droot.mxml\xe2\x80\x9d value=\xe2\x80\x9dMain.mxml\xe2\x80\x9d/>\n<property name=\xe2\x80\x9dlocale\xe2\x80\x9d value=\xe2\x80\x9den_US\xe2\x80\x9d/>\n<property name=\xe2\x80\x9dFLEX_HOME\xe2\x80\x9d value=\xe2\x80\x9d${env.FLEX_HOME}\xe2\x80\x9d/>\n
Run Code Online (Sandbox Code Playgroud)\n\n

这可能看起来很麻烦,但如果您为开发人员使用多个平台,那么这是一种更合理的方法来获得跨平台和环境的一致性。

\n\n

华泰

\n