作者:Vivien Shen, Eric Cai,Caddie Song, Paul Zhang
背景
Eclipse插件的开发工作,通常包括插件的开发测试和插件的发布管理,开发周期大致如下:开发人员开发插件,完成后移交测试人员,测试通过后再发布到Update Site,用户通过Eclipse从指定的Update Site安装插件。对于开发和测试人员来说,他们的首要工作是确保插件满足用户需求,而非频繁的管理和发布插件。由于插件的管理和发布通常需要执行一系列冗长的命令,不仅低效,且易于出错,因此我们开发了Eclipse Plugin Repository Portal(下文简称EPRP) ,旨在让插件管理变得简单且更有条理。这个工具目前已经开源,感兴趣的朋友可以从https://github.com/eBay/P2Portal下载并安装,也可以通过在Github上提交pullrequest参与开发讨论。
概述
EPRP简而言之就是一个Eclipse插件(Plugin)管理系统,如图1所示,它提供了一个统一的web接口供开发和测试人员进行插件的发布和升级等等,终端用户通过其生成的Update Site进行插件的安装与更新。它具有如下的特点:
1) 可视化管理界面
2) 简化的流程和操作
3) 可靠的发布流程
通过这个系统,用户可完成如下操作:
1) 创建和管理Repository 和Composite
2) 发布(Publish)和镜像(Mirror)插件
3) 编辑用于插件分组的Category信息
4) 查看及回滚(Rollback)操作历史
5) 同步(Synchronize)Site
EPRP相关术语如下:
1) Plugin----译作插件,指一个独立的符合OSGI规范的Bundle,可导出为一个自包含(self-contained)和自描述(self-describing)的 Java™Archive (JAR),插件可依赖别的插件。
2) Feature----本文特指插件的组合,便于分发安装
3) Product----本文特指用于创建一个类Eclipse的富客户端产品(也叫RCP),包含了一组Feature及产品的基本信息如启动参数,图标和闪屏等。
4) Update Site----译作更新服务器, 用于发布和管理插件,用户通过该服务器安装或升级Eclipse插件。
5) Repository----特指插件仓库,简单的说就是Eclipse安装软件的地方,位于UpdateSite上的一个目录,目录中存放相互关联的一组插件和插件安装所需的元信息。
6) Composite----聚合多个子Repository作为一个统一入口。用户可以通过其URL查看到所有子Repository的内容。
7) Category----用于将插件分组,如Findbugs,TestNG可以归