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

关于构建过程:在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}"/>

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

高温超导


推荐阅读

    linux命令中断复原?

    linux命令中断复原?,系统,暂停,软件,命令,信息,密码,名称,状态,后台,进程,重

    linux用计算器的命令?

    linux用计算器的命令?,代码,环境,情况,异常,工具,数据,位置,平台,精密,设计,

    linux的数学计算命令?

    linux的数学计算命令?,工作,系统,信息,地址,数字,目录,命令,百分比,情况,管

    linux中断进程命令?

    linux中断进程命令?,系统,管理,软件,进程,命令,传播,暂停,结束,信号,程序,在L

    命令查看linux中断?

    命令查看linux中断?,网络,系统,状态,管理,地址,进程,命令,数据,信息,基础,Lin

    linux命令创建项目组?

    linux命令创建项目组?,管理,密码,项目,命令,系统,位置,文件,用户组,用户,文

    linux云计算查看命令?

    linux云计算查看命令?,系统,信息,地址,工作,命令,情况,标准,服务,软件,网络,l

    linux打开计算器命令?

    linux打开计算器命令?,密码,电脑,工作,设备,数字,系统,手机,指数,情况,服务,

    复制项目的linux命令?

    复制项目的linux命令?,系统,项目,文件,命令,目录,源文件,语法,选项,目标,功

    linux命令输出计算?

    linux命令输出计算?,标准,地址,工作,信息,系统,命令,软件,数据,文件,控制台,l

    linux命令项目部署?

    linux命令项目部署?,项目,服务,环境,软件,系统,代理,管理,统一,做好,业务,怎

    linux中断程序命令?

    linux中断程序命令?,系统,管理,软件,传播,进程,命令,名称,程序,终端,指令,lin

    linux部署项目的命令?

    linux部署项目的命令?,项目,系统,设备,环境,工作,基础,传播,信息,标准,代码,L

    linux项目常用命令?

    linux项目常用命令?,工作,地址,系统,信息,管理,项目,命令,目录,标准,网络,lin

    linux项目更新命令?

    linux项目更新命令?,系统,信息,网络,地址,网站,通信,管理,时间,项目,命令,lin

    启动项目命令linux?

    启动项目命令linux?,工作,经理,产品,技术,地址,数字,系统,项目,命令,信息,怎

    linux计算总数命令?

    linux计算总数命令?,系统,第一,情况,数据,信息,电脑,命令,百分比,单位,工作,l

    linux中计算器命令?

    linux中计算器命令?,地址,数据,位置,网络,设备,时间,环境,平台,软件,命令,说

    linux编译项目的命令?

    linux编译项目的命令?,系统,工作,地址,软件,工具,信息,代码,项目,命令,环境,l

    linux退出计算器命令?

    linux退出计算器命令?,工作,地址,系统,命令,通信,信息,电脑,目录,路径,操作,