flex编译、工程打包、插件更新

  • 格式:doc
  • 大小:271.00 KB
  • 文档页数:10

一、flex编译

1、ant编译方式

ant的编译,内部还是调用flex的mxmlc与compc等命令编译as,mxml文件

列出部分代码片段,备用(目前除index外使用第二种编译方式)

classpath="${PROJECT_ROOT}/libs/flexTasks.jar" />

1.1、编译region.mxml生成region.swf,使用${CUSTOM_FLEX_CONFIG}作配置文件,report.xml为抽取公用部分的描述文件(由某一个application抽取,如下面的index.mxml)

output="${DEPLOY_DIR}/base/region.swf">

defaultexcludes="false" />

1.2、编译index.mxml成index.swf,将公用的部分抽取成描述文件report.xml,使用配置文件${CUSTOM_FLEX_CONFIG}

output="${DEPLOY_DIR}/index.swf">

defaultexcludes="false" />

配置文件可以在${FLEX_HOME}/frameworks/flex-config.xml找到

2、flexbuilder编译方式

目前,工程中大部分均以折分成不同的Module

在flex工程的属性中设置flex build path和flex Modules项

2.1、flex build path选项

添加flex的源码目录

设置编译后的相关路径,直接编译到可以打包的flex的插件工程目录下

设置rsl抽取,下图中,除{locale}是直接编译进swf文件外,其他部分均使用External(对于module的编译,不打包额外的swc的包,由包含application的工程将这些包引入即可),使用rsl抽取将会大大减小flex编译出swf文件的大小。

2.2、flex Modules选项 将工程下的module的flex文件,添加到编译路径,将工程clean或是自动编译时,将会自动编译生成swf文件。Optimize for application可以选择为哪个application优化(只限于module与application的flex文件在同一工程下,一般不选只会变大4KB的大小)

注:上面所有的设置将会保存到工程目录下的.actionScriptProperties文件的节点中。

sourcePath="src/base/area.mxml"/>

由于,一个工程中可能会有多个mxml文件,而且,当开发状态下时,对任何的flex文件修改都会导致工程的编译(手动编译除外),所以需要一个批量修改. actionScriptProperties文件

的modules节点的功能(可惜flexbuilder3和flexbuilder4都没有,只能一个一个地加或删)。

利用eclipse的扩展性,自己写一个视图插件(cn.tsoft.platform.extend.flex_1.0.1.jar,为了方便,直接将该jar放在eclipse3.4.2的dropins目录下),视图中列出所有包含. actionScriptProperties文件的工程,并列出下面所有的mxml文件,直接通过ui界面对. actionScriptProperties中编译的module进行修改。(工具栏的三个按钮,分别为:展开/合并,刷新,保存)

二、工程打包

1、插件工程打包设置

打包后,需要包含完整的类(包+*.class),META-INF目录的描述文件,需要的资源文件,如果工程中有需要用的jar文件,同样也要导出。javacDefaultEncoding默认没有,该选项将java文件以指定编译方式进行编译成*.class文件(否则源码中的中文会出现乱码,默认取系统的gbk码时)

工程下的build.properties

通过打开META-INF/MANIFEST.MF的build标签页(在Binary Build中勾选)

2、flex的swf工程

Flex的工程中,用了一个equinox的jetty的http扩展点

下面的plugin.xml指示,将目录/src/cn/tsoft/drp/base/flex/webapp/base发布成别名为base的http服务

即:http://host:port/base/a.swf即是访问

/src/cn/tsoft/drp/base/flex/webapp/base/a.swf

下图需要将src下的相关目录导出

2、eclipse打包工程

使用eclipse自带的工程打包规范

1、 新建一个feature

Feature是一个插件更新站点下的一小部分,我们可以暂理解为一个模块,将一些jar包组合起来,形成一个功能块。

新建feature工程,工程下只有两个文件,build.properties和feature.xml

工程下的feature.xml文件

overview标签页

Information标签页

设置feature的描述与更新地址

Plu-ins标签页

添加需要放到这个feature里的jar文件或工程,右侧的Unpack the plug-in archive…选中后,用户下载后,将会自动将jar包解压(jar中有内部jar 时,只能解压后才能执行)

点击version的版本选项(前两个选项,从jar中得到版,最后一个选项将上图右侧的版本写到jar的MANIFEST.MF文件中)

2、 新建站点

站点即是将多个feature信息组合,新建插件工程选项中的Update Site Project

注:每次发包之前,需更新feature的版本,以便更新的时候能检测到新版本,对于feature内部的jar工程,可以按实际情况升级版本

工程目录结构

Site.xml查看页

新建目录,添加上一步建好的feature,同步(更新所有的feature信息),编译某个或全部的feature

编译过程中,需解决所有插件之间的循环引用,插件报错等问题。编译完成后,若警告数量太多,会生成一个日志,报出错误,一般不影响发布。

编译后将会在site工程的根目录下生成文件artifacts.xml和content.xml

A、需要修改内部的