欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用Tycho来构建你的RCP程序(四) —— Update Site

程序员文章站 2022-05-18 10:53:33
...

在之前的三篇文章当中,我们已经了解了如何使用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


使用Tycho来构建你的RCP程序(四) —— Update Site
            
    
    博客分类: RCP RCPBuildMavenTychoUpdate Site
 

4. 在我们新创建的Category下把我们之前feature(com.chnic.tycho.mail.feature)添加到这个Category里


使用Tycho来构建你的RCP程序(四) —— Update Site
            
    
    博客分类: RCP RCPBuildMavenTychoUpdate Site
 

Update site project完成之后,我们接下来就需要把Tycho集成进这个项目中。因为Tycho插件读取update site项目的时候,默认的配置文件名是category.xml, 所以我们需要把site.xml改名成category.xml。接下来,convert to Maven project。需要注意的一点是这里的packaging依然是eclipse-repository。


使用Tycho来构建你的RCP程序(四) —— Update Site
            
    
    博客分类: RCP RCPBuildMavenTychoUpdate Site
 

生成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] ------------------------------------------------------------------------
[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的内容。

  • 使用Tycho来构建你的RCP程序(四) —— Update Site
            
    
    博客分类: RCP RCPBuildMavenTychoUpdate Site
  • 大小: 26.1 KB
  • 使用Tycho来构建你的RCP程序(四) —— Update Site
            
    
    博客分类: RCP RCPBuildMavenTychoUpdate Site
  • 大小: 36.7 KB
  • 使用Tycho来构建你的RCP程序(四) —— Update Site
            
    
    博客分类: RCP RCPBuildMavenTychoUpdate Site
  • 大小: 31.3 KB