使用Flashbuilder/Flashbuilder-plugins搭建Flex工程每日构建(自动化构建)的方法

前段时间研究flex工程自动编译的时候,遇到了阻碍,就放下了,直到今天每日构建的问题又一次给项目组带来了麻烦,于是我彻底愤怒了。

最后,我的怒火没有白费,写出来以发泄情绪。

【基本原理】:

adobe提供了每日构建的方法:利用ant任务以命令行的形式完全模仿flashbuilder/flashbuilder-plugin的【导出发行版】编译方式来编译。

此种方式编译出的swf的性能是最好的。

官方说明:http://help.adobe.com/zh_CN/Flex/4.0/UsingFlashBuilder/WSbde04e3d3e6474c4-59108b2e1215eb9d5e4-8000.html

【实施前准备】:

安装:jdk1.6 32位 (一定要用32位的,如果是64位的操作系统也要安装32的,64和32的jdk可以共存)

安装:flashbuilder/flashbuilder-plugin

【实施】:

1.用flashbuilder/flashbuilder-plugin将flex项目导入,配置好,并可以手动编译成功;

对于使用flashbuilder-plugin的一定要注意这一步,不要使用本地的eclipse来导入项目,要使用plugin来导入配置项目,否则无法进行命令行

编译。

因为用flashbuilder-plugin创建的工作空间下的E:\Jenkins\workspace\.metadata文件夹下,有一些命令行工具要用的东西,例如:flex工程名。

2.写ant的build.xml,build.xml的位置随意放

<?xml version="1.0"?> 
<project default="main"> 
    <target name="main"> 
        <fb.exportReleaseBuild project="ims-flex-1.0" />
    </target> 
</project>

其中target标签中的name="main"就是ant的执行任务名称,project=“ims-flex-1.0”就是指定要编译的flex工程名称

3.编写调用的命令行

set WORKSPACE=E:\Jenkins\workspace

REM works with either FlashBuilderC.exe or eclipsec.exe 
"D:\Adobe\Adobe Flash Builder 4 Plug-in\eclipse-host-distro\eclipsec.exe" --launcher.suppressErrors -noSplash -application org.eclipse.ant.core.antRunner -data "%WORKSPACE%" -file "%WORKSPACE%\build.xml" main    
pause

上面命令是调用plugin中的eclipsec.exe来编译的。如果使用的是flahbuilder则使用flashbuilderc.exe

  • WORKSPACE就是eclipse的工作空间
  • -file用来指定build.xml的位置
  • 最后一个参数main就是指定在build.xml中要执行的任务名称

4.运行批处理,开始自动编译,编译后,进入flex工程目录,其中会有bin-release目录,这里就是编译后的文件。

【吐槽】

adobe的文档写的如此之烂,文字说明根本没用,只能通过揣测批处理的意义,经过多次尝试失败后才最终解决。

 

 

posted @ 2014-03-07 14:02  虎卧荒丘  阅读(1949)  评论(0编辑  收藏  举报