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

我们开始编写实用程序,将FlexBuilder的项目文件转换为{projectname}-config.xml文件,但它是a)未记录的,b)可怕的黑客攻击。

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

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

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

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

#1楼 票数:1

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

<!– 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}”/>

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

HTH

#2楼 票数:1

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

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

  ask by B'gok translate from so

未解决问题?本站智能推荐:

2回复

Flex构建的推荐项目结构

我正在使用Flex3启动一个新项目,该项目用于一个相当复杂的UI,它从RESTful Web服务的集合中获取其数据。 我想知道其他人在构造一个中等复杂的Flex项目方面有什么经验。 我正在考虑的问题包括: 我想使用我们的FlexBuilder许可证在Eclipse上可视化编辑布局和
1回复

如何获得在Flex中自动更新Web服务引用的版本?

从FlexBuilder3中,我可以转到“数据/管理Web服务...”,选择一个Web服务,然后单击“更新”以确保我的代码和服务器同步。 我如何使它自动化,以便每次构建时都重新生成自动生成的Web服务代码? 如果服务器接口在开发过程中发生了变化,但是我的代码却没有,则无论如何都将无法工作
7回复

在Flex Builder中发布构建操作

如何在Flex Builder中添加构建后操作? 例如,我希望我的构建工作正常,并从bin文件夹执行; 但是我也想要将最终SWF的副本自动复制到另一个文件夹(我自己也不厌其烦)。 谢谢!
3回复

如何排除文件被复制到构建时的bin-debug

单独使用Adobe Flex Builder Pro,如何在构建期间过滤或排除项目源文件夹中的某些文件被复制到bin-debug文件夹中? Flex Builder基于Eclipse平台IDE,这可能是关于Eclipse的问题,因为它是Flex Builder。
2回复

用Nant构建Flex?

我想知道我是否在树错树皮。 是否可以用Nant构建脚本替换用于构建Flex项目的Ant构建脚本? 具体来说,似乎Nant或Nant-contrib提供的Ant <mxmlc> , <macrodef>和<taskdef>任务没有替代品。 我对Na
2回复

使用nAnt构建包含EDMX的项目

在过去的几天里,我一直在努力训练自己使用nAnt的方式,偶然发现了一个问题。 在开发过程中,我一直在使用新工具(例如实体数据模型)进行数据库访问。 当您尝试构建包含Edmx产品的库/可执行文件时,无法从Visual Studio嵌入所需的文件。 现在,我意识到我可以在nAnt内执行一个
3回复

如何使用Nant构建类库

如何使用Nant(0.86)将.net 3.5类库编译为dll? 这是我到目前为止: 如何在GAC中引用系统dll? 完成这条线似乎有效。 这是我的脚本: 我通过使用JP Boodhoos帖子得到了这一点
3回复

在NAnt中,我可以创建VS项目中列出的文件的文件集吗?

我正在重写我们的NAnt构建脚本,以使它们更简洁,更通用。 我们构建过程中的一个步骤是将某些文件打包到一个zip文件中。 在我们创建包含大量包含文件类型的fileset之前,尝试捕获可能在项目中的所有内容。 当我们想要在项目中包含非标准文件类型时,偶尔会出现问题。 我希望我能找到