使用Tycho来构建你的RCP程序(四) —— Update Site
在之前的三篇文章当中,我们已经了解了如何使用Tycho来build RCP程序中的plugin,feature和product。不知道大家是否还记得,在第一篇文章当中我们提到了eclipse-repository这种packaging方式其实是支持两种类型的:Product和Update Site。关于Product,我们之前的一篇已经详细的阐述过。这一篇我们就来说说Update Site。
Update site顾名思义就是你RCP程序升级的时候所需要去连接的那个升级地址,在升级的server中会包含你RCP程序最新的plugins和features等。
和plugin和feature之前的准备工作一样,我们首先需要一个update site项目。
1. File -> New -> Other 在弹出来的对话框中选中Plug-in Development下的Update Site Project -> Next
2. 在New Project的对话框中输入我们update site项目的名字:com.chnic.tycho.mail.updatesite
3. 在Update Site Map的配置界面中,我们点击New Category来创建一个新的Category
4. 在我们新创建的Category下把我们之前feature(com.chnic.tycho.mail.feature)添加到这个Category里
Update site project完成之后,我们接下来就需要把Tycho集成进这个项目中。因为Tycho插件读取update site项目的时候,默认的配置文件名是category.xml, 所以我们需要把site.xml改名成category.xml。接下来,convert to Maven project。需要注意的一点是这里的packaging依然是eclipse-repository。
生成pom文件之后,依然让他继承parent项目。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.chnic.tycho.mail</groupId> <artifactId>com.chnic.tycho.mail.parent</artifactId> <version>1.0.0-SNAPSHOT</version> <relativePath>../com.chnic.tycho.mail.parent/pom.xml</relativePath> </parent> <artifactId>com.chnic.tycho.mail.updatesite</artifactId> <packaging>eclipse-repository</packaging> </project>
并把update site项目添加成为build聚合项目的一个module
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.chnic.tycho.mail</groupId> <artifactId>com.chnic.tycho.mail.parent</artifactId> <version>1.0.0-SNAPSHOT</version> <relativePath>../com.chnic.tycho.mail.parent/pom.xml</relativePath> </parent> <artifactId>com.chnic.tycho.mail.build</artifactId> <packaging>pom</packaging> <modules> <module>../com.chnic.tycho.mail.feature</module> <module>../com.chnic.tycho.mail.plugin</module> <module>../com.chnic.tycho.mail.product</module> <module>../com.chnic.tycho.mail.updatesite</module> </modules> </project>
最后mvn clean install我们的com.chnic.tycho.mail.build项目。
[INFO] Reactor Summary:
[INFO]
[INFO] com.chnic.tycho.mail.plugin ........................ SUCCESS [ 2.039 s]
[INFO] com.chnic.tycho.mail.feature ....................... SUCCESS [ 0.200 s]
[INFO] com.chnic.tycho.mail.product ....................... SUCCESS [ 9.361 s]
[INFO] com.chnic.tycho.mail.updatesite .................... SUCCESS [ 2.108 s]
[INFO] com.chnic.tycho.mail.build ......................... SUCCESS [ 0.074 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 30.331 s
[INFO] Finished at: 2015-04-14T17:28:30+08:00
[INFO] Final Memory: 74M/177M
[INFO] ------------------------------------------------------------------------
控制台的信息告诉我们已经build成功,接下来我们刷新update site项目,在target/repository的目录中你就能找到全部update site的内容。