【问题标题】:Building Flex projects in ant/nant在 ant/nant 中构建 Flex 项目
【发布时间】:2008-09-12 00:23:23
【问题描述】:

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

我们开始编写实用程序以将 FlexBuilder 的项目文件转换为 {projectname}-config.xml 文件,但它 a) 没有文档,b) 是一种可怕的 hack。

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

明天,我们将讨论几个我不太喜欢的选项:

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

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

【问题讨论】:

    标签: apache-flex build-process nant flexbuilder


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我发现将 ant 与 Flexbuilder 一起使用的未记录要求之一是在您的 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-07
        • 2010-09-10
        • 2010-11-15
        • 1970-01-01
        相关资源
        最近更新 更多