首页 / 知识

关于构建过程:在ant / nant中构建Flex项目

2023-04-15 01:36:00

关于构建过程:在ant / nant中构建Flex项目

Building Flex projects in ant/nant

由于Flex项目的构建中断,我们公司经常遇到问题。出现此问题的主要原因是,开发人员在其本地计算机上进行的构建与在构建计算机上进行的构建从根本上有所不同。开发人员正在使用FlexBuilder/eclipse构建项目,而构建计算机正在使用命令行编译器。不可避免地,运行构建的{projectname}-config.xml和/或批处理文件与eclipse使用的项目文件不同步,因此,构建在开发人员的计算机上成功,但在构建计算机上失败。

我们从编写实用程序的路径开始,将该实用程序将FlexBuilder的项目文件转换为{projectname}-config.xml文件,但这是a)没有文档记录,b)可怕的骇客。

我研究了-dump-config开关以获取配置文件,但这有两个问题:1)生成的配置文件具有绝对路径,在我们的环境中不起作用(某些开发人员使用macs,某些Windows 2)仅在从IDE运行时正确运行,因此无法构建到构建过程中。

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

a)向Subversion添加签入后事件以删除这些绝对引用,或者
b)添加一个删除绝对引用的预构建过程。

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


虽然不是解决您特定问题的解决方案,但解决方法是使用连续集成服务器。

使用Cruise Control之类的工具,每当有人向源代码管理提交某些内容时,您就可以自动启动构建。 然后,如果构建因任何原因(包括环境不一致)而失败,则由开发人员自行修复以进行修复。 您可以配置它以各种方式发送有关失败/成功的电子邮件。


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

1
2
3
4
5
6
7
<!– Module properties –>
<property environment="env"/>
<property name="build.dir" value="build"/>
<property name="swf.name" value="MyProjectSwf"/>
<property name="root.mxml" value="Main.mxml"/>
<property name="locale" value="en_US"/>
<property name="FLEX_HOME" value="${env.FLEX_HOME}"/>

这看起来似乎很麻烦,但是如果您为开发人员使用多个平台,则这是一种在各个平台和环境之间获得一致性的更为合理的方法。

高温超导


项目开发人员计算公司

最新内容

相关内容

猜你喜欢