Building Parsley 3.0 from Source

May 14, 2012

简单说下Parsley框架:

Parsley is an application framework for Flex/Flash/AIR applications written in AS3. Spicelib is a suite of independent AS3 libraries that Parsley builds upon, but that can also be used separately.

以上引用官网,说白了就是Flex前端的提供的IoC容器框架,并提供了消息派发机制和Command模式的实现框架,(我认为)最重要的优点就是“轻”,条条框框少了,瞎写的余地就多了(哈哈~~对于我们这样的小作坊正好适用)。 因为没有太严格的规则,我可以依据框架依赖注入和消息传递控制的优点,可以依据自己的喜好自由搭建项目架构。 加上Adobe将其作为Cairngorm 3框架搭建的主要实现技术,(我认为)官方给予的支持会多一些。 现在看来,从Adobe这个后爹对FLex这穷小子的事实——基于结果——直接证明我错了,但这并不妨碍我用目前最成熟的富客户端FLex语言写项目, 基于依赖注入的浮现式开发框架构建如此复杂的前端项目(有指标构建和GIS等)是不可或缺的,就从这点上看,Parsley足够帅。

parsley发展至今已经到3.0版本:

  • 新版本bug依然不少,比如Command在子上下文中定义会失效的问题,详见JIRA
  • 新版本支持了AS元标签提示,这个新特性无疑可以加快开发进度
  • 有时候你也需要查看框架源代码来coding,这也是我所推荐的

基于以上原因,在官方论坛提问,架构师的回复和修正是很及时的,问题是不会及时更新到新版本中,需要手动git clone编译源码,修正bug,这就是作者写此文的目的。

这里才是正文

Parsley这种框架的多数是构建企业级框架的架构师,向我这样傻乎乎的小白类型的是不会自找麻烦的, 其实Parsley官网说1.4 Building the Framework from Source得很清楚, 写这小文的目的主要是给水平和我差不多的小白看(其实就是给我自己看~~),我把原文摘录在下方:

1.4 Building the Framework from Source

There are two common use cases where you might want to build the framework's SWC files yourself: either you want to apply a fix or enhancement to a local copy or you want to build snapshots from master to take advantage of fixes or enhancements before they make it into the next official release. In both cases it's recommended to check out the project from GitHub. This way you can easily follow the ongoing development. Building from source should be pretty straightforward, so this section just gives you a brief summary of the necessary steps.

The instructions below apply to all projects, Parsley Core, as well as all Spicelib libraries and Parsley extension projects.

Check out Parsley from GitHub

Parsley 3 is hosted on GitHub. If you just want to add something to an official release, it's best to check out the corresponding tag. If you want to follow the ongoing development of the next version and build snapshots you should check out master.

Edit the Properties File

Next you have to adapt the properties for your environment, all projects have a template file calledbuild.properties.tmpl in the build directory. Create a copy of that file under the name build.properties and edit it as instructed in the comments inside this file.

Run the Ant Targets for building the SWCs

Finally you just have to pick the corresponding Ant target. Projects that just produce one SWC have a single compile target, whereas some projects have multiple targets for compilation. The SWCs are built into the directory release/<version>/release.

很清晰的三步:

  1. git 下源码
  2. 编写 build.properties 文件
  3. Ant 编译

我这文章写的必要性是在 MyEclipse+Flash Builder 4 环境下快速编译 Parsley 源码并支持项目开发,这也是绝大多数 Flex 开发者的标配环境。

本文就本着不玩文艺的精神,一切从实际出发,Let's go!

1. 从 GitHub 上将 parsley 源码 close 到 Myeclipse(Flash builder 4)中:

打开MyEclipse (我用的是10.0版本,内置支持Git和Ant,知道方便了吧,如果没有以上插件的话谷百一下"Eclipse Ant","Eclisipse Git"有不少图文教程)。

菜单File --> import... 选择Projects from Git(有哥们说你界面怎么是E文的,为什么我安装好是中文的……好吧,本文为了照顾E文不好的同学,你中文界面更应该看得懂吧)

Projects from Git

下一步选择URI(Uniform Resource Identifier):

选择URI

下一步我们需要在 URI 输入框里 Parsley 的 Git 地址,其他输入框会自动补全,该地址可以在官网找到,为:

https://github.com/spicefactory/Parsley-Core.git

输入 Git 地址

之后的没有什么难度,一直Next....-->Finish,本地Eclipse项目中就会多一个名为Parsley-Core的项目,里面包含了Parsley核心包的源代码,今后你可以通过这个项目同步更新Parsley项目组的最新版本,便捷吧?<

2. 配置build.properties文件

这步骤是最关键的了,很多童鞋直接参照Ant的教程build了项目,出现BUILD SUCCESSFUL,却找不到编译生成release文件夹,多半是少了这个关键步骤(亲!你就不能多看看文档么?)

操作是复制一份build\build.properties.tmpl的副本名为build\build.properties,修改该文件,只需要填写flex3.sdk,flex4.sdk和compc三个配置项的值就行了。

Flex SDK可以在Flash Builder里面查看到,compc根据您当前的操作系统把注释掉的配置反注释即可。

需要注意的是关键冒号等转义字符的编写,路径斜杠方向,不能直接复制文件夹内的路径!在此提供本机(Windows 7 x64)的配置文件供亲参考:

# save a copy of this file as build.properties and then edit the properties below

flex3.sdk =C\:/Program Files (x86)/Adobe/Adobe Flash Builder 4.6/sdks/3.6.0
flex4.sdk =C\:/Program Files (x86)/Adobe/Adobe Flash Builder 4.6/sdks/4.6.0
# for mac uncomment:
# compc = compc

# for win uncomment:
compc = compc.exe

3.  用Ant编译项目

最简单地方法:找到build/build.xml文件,右击该文件,在右键菜单中点击

「Run As..」-->「Ant Build」-->「Run」

一切搞定(如果顺利的话,唉)!


可能遇到的问题:

1. 编译结果只有 BUILD SUCCESSFUL 字样,且编译时间只有一秒左右

多半是没有编写好build.properties文件,或者路径不对,具体第二步骤。如果您说您的电脑配置是神机所以……Orz,不在本文的探讨范围内,谢谢。

2. 报错: [exec] Error: could not find Java 2 Runtime Environment.

亲,您懂的,JDK环境的问题,配置Path环境变量,请谷百“Java 配置”、“Java 环境变量”等教程配置好您的Java环境,并重启MyEclipse。

当然您也可以直接配置Ant项目直接添加Java路径(MyEclipse自带就有,当然如此操作您就是大鸟了,根本没机会看到小菜鸟我写的这篇得瑟文章吧)。

好了,那么多字,客官您休息下眼睛吧,如您对我这个小菜鸟有指导,欢迎您留言批评斧正。