在Flex Builder中发布构建操作

时间:2009-08-14 16:24:39

标签: flex build-process build flexbuilder

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

谢谢!

7 个答案:

答案 0 :(得分:4)

我知道这篇文章已经回答了,但我发现了一些更简单的东西。我确信Ant解决方案是可行的方法,但我不想为我的小项目弄乱蚂蚁。我真正想要的是将我的html文件和swf文件放在不同的目录中。我想这要问很多。

我正在构建Windows,所以我创建了一个简单的批处理文件来执行我的构建后步骤(即一些移动命令)。然后我使用windows cmd.exe在flex中创建了一个新的构建器。我刚刚告诉它使用/ C选项调用批处理文件。它工作得很好,设置起来非常简单。我尝试添加屏幕截图,但我想我对网站来说太新了。

答案 1 :(得分:3)

您可以使用extenal程序扩展或替换Flex Builder 3使用的构建器 - ant是一个不错的选择。

如果您运行“Flex Builder 3 standalone”(这是一个简约的Eclipse版本+ Flex构建器插件)而不是标准Eclipse中的Flex构建器插件,则首先需要安装ant支持。我没有找到单独打包的ant,所以我只是从帮助/软件更新中选择了Java构建环境。

现在您可以转到项目属性(右键单击项目,属性)并选择 Builders 。您会注意到默认情况下有一个Flex Builder,您无法删除也无法更改。但是,您可以取消选择它,也可以添加其他构建器。

所以在你的情况下:“添加”一个新的构建器, ant builder ,选择一个 build.xml (可以用不同的名字命名) ,最好从项目文件夹中,并设置正确的目标。这将继续使用内部IDE构建器,同时在之前或之后运行ant任务。屏幕上的排序将是构建顺序,您可以使用箭头按钮进行更改。

我用它来将所需的库复制到我的 / lib 文件夹中,使用IDE构建编译Flex源代码(其中包含Eclipse集成的错误消息,纯粹的基于ant的命令行构建将miss),并将结果复制到一个公共部署目录,在此过程中重命名包装器html文件。

有关如何编写ant文件的详细信息,请参阅ant documentation

答案 2 :(得分:1)

您必须创建自定义构建脚本。无论出于何种原因,包含的默认“构建器”不能通过接口进行编辑,因此您必须复制其许多功能。幸运的是,(或者可能不是)Flex Builder将Apache Ant用于其构建脚本,因此这可能是也可能不是您熟悉的方法。

创建自定义构建脚本:

  1. 在Flex Navigator视图中,选择一个项目,然后右键单击(在Macintosh上按住Control键并单击)以显示上下文菜单,然后选择“属性”。
  2. 选择“构建器”属性页。如果您正在使用其他Eclipse插件,则可能会列出多个构建器。 Flex Builder提供了一个名为Flex的构建器,您无法修改它。
  3. 选择新建。
  4. 在“选择配置类型”对话框中,选择适当的配置类型。 Flex Builder支持程序类型。选择它,然后单击“确定”继续。在新构建器属性页面中,您可以定义构建器属性并引用Ant脚本(XML文件)。
  5. 单击“确定”将其应用于项目。
  6. Flex构建器基于Eclipse 3.1,因此此版本的Ant集成documentation与此相关。

    注意:首先必须在Flex Builder中启用Ant支持。我通常使用Flex Builder作为插件,而不是独立版本,并且独立版本没有开箱即用。 Here's a tutorial on how to do this

答案 3 :(得分:1)

我还建议使用蚂蚁。

我在这里发布了一篇关于如何为flexbuilder设置它的大文章http://dispatchevent.org/mims/ant-for-flex-part-1/我认为我的构建脚本中有一个例子,它在编译后将文件从一个地方复制到另一个地方。

祝你好运!

答案 4 :(得分:0)

史蒂夫,

如果您想在Flex Builder中使用Ant,您可能会看到:http://www.peterelst.com/blog/2006/09/03/flex-builder-2-ant-support/

但我不确定这是否适用于flex builder 3。

答案 5 :(得分:0)

史蒂夫,

以下是有关后期构建脚本的更多详细信息。它将是一个简单的bat文件。例如,将以下行添加到一个简单的文本文件postbuild.bat(名称无关紧要)。

copy bin/*.* 'someother location'

这会将bin文件夹中的所有内容复制到另一个文件夹,只需更改“其他位置”。

答案 6 :(得分:0)

最不优雅的解决方案,但它可以在linux上运行。

创建每分钟执行的cron任务。

使用cp命令和“-u”选项。 来自“man cp”。

-u, --update
          copy  only  when  the  SOURCE file is newer than the destination
          file or when the destination file is missing

在crontab -e add

* * * * * cp -u /path/to/bin-debug/*.swf /path/to/destination/

更优雅的解决方案 - 蚂蚁的方式。