【问题标题】:Command-line build of a Flex 4 projectFlex 4 项目的命令行构建
【发布时间】:2011-08-07 13:44:54
【问题描述】:

我们的产品中有一个 Flex 4.0 项目,我们正在尝试为其设置命令行构建。这将在我们的构建服务器上使用。

到目前为止,我们已经尝试了三种方法,但似乎没有一种是令人满意的:

1) 使用 mxmlc - 这样做的缺点是我们必须明确给出所有依赖项,而不是使用项目中已经存在的那些。

2) 使用 ant(特别是 fb.exportreleasebuild) - 效果很好,但我不知道如何使用它设置工作区。现在,我可能可以事先设置一个工作区,但我相信这不会起作用,因为 Eclipse 使用绝对路径(请参阅http://forums.adobe.com/thread/826995)。

3) 使用 maven - 我还没有尝试过,但是通过阅读一些教程(例如 http://ria.dzone.com/articles/flex-and-maven?page=0,1&mz=8019-adobe),看起来依赖项也必须手动指定。此外,我必须指定确切的 Flex 编译器版本,这似乎不太优雅 - 我不想在更改编译器版本时更新我的​​构建脚本。

有没有办法从命令行构建一个 flex 项目,而无需手动指定所有依赖项,也无需手动创建工作区?

【问题讨论】:

    标签: ant maven flex4 build-automation


    【解决方案1】:

    在上周,我“很高兴”为我们的项目设置了 maven 构建。

    对于一个没有自定义字体、资源、单元测试、第 3 方框架等的简单项目,运行起来相对容易。对于其余的东西,在你得到它之前,需要大量的试验和错误。

    管理需要手动安装的依赖项的一种方法是制作一个 shell 脚本,它可以自动将 libs 目录中的工件安装到本地存储库中,您也可以将其放入项目工作区中。通过这种方法,您可以将 libs 目录用于 Eclipse 构建,并将本地 maven 存储库用于 maven 构建。

    关于 Flex 的版本 - 它只是 POM 中的单个属性值。这就是它在 maven 世界中的完成方式——您管理 POM,而不是下载新的 SDK,然后更新项目属性等。它真的非常简单。

    但是当您需要嵌入字体时,您需要手动安装一些属于 Flex SDK 的工件,所以这并不是那么简单。为了实现自动化,我还将整个 Flex SDK 作为项目工作区的一部分,这样我就可以在脚本中使用相对路径而不是绝对路径来引用它。

    到目前为止,Flex 社区中使用最多的方法是使用 Ant 构建。

    Maven 的设置和采用还是比较困难的。

    【讨论】:

    • 感谢您分享您的经验。我最终所做的是在构建机器上手动设置工作区以指向一个路口,将项目签出到该路口,然后使用 ant (fb.exportReleaseBuild) 进行构建。这很好用,只是我不能进行并发构建(我可以接受)。
    • 我的方法有点不同。我将一个 Maven 项目导入 Eclipse。然后添加了Flex性质。然后配置源/输出目录。 Flex builder 不允许您配置某些内容,例如 FlexUnitApplication.mxml 的位置,以及 AIR 应用程序所需的 XML 应用程序描述符。在这种情况下,我通常会复制它们,因此它们会出现在 Flex Builder 源(默认)包中,但也会出现在 maven 的约定位置中。然后我从 Maven 构建中排除重复的资源。
    猜你喜欢
    • 2010-10-17
    • 2010-09-27
    • 2010-09-17
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    相关资源
    最近更新 更多