Tycho build 1: 构建插件

准备工作:

使用github上的例子:

Setp 1: 安装 Tycho Configurator

Eclipse 为 RCP and RAP 开发者已经安装了m2e,m2e是eclipse的maven集成工具。

打开eclipse,菜单进入Window->Preferences/Maven/Discovery,打开Open Catalog。

image

搜索Tycho Configurator,选择安装,安装完成后重启eclipse。

Setp 2: 构建一个简单插件项目

开始构建com.codeandme.tycho.plugin。在该工程上右键,选择Configure/Convert to Maven Project

​​image

packaging必须手动输入eclipse-plugin。

该向导需要Group Id,使用你想构造组件的名字,使用类似my_product,JDT,PDE等名字。所有的项目都包含在通用的Group Id中。

Artifact Id使用你工程的名字,实际上需要匹配MANIFEST.MF中的Bundle-SymbolicName。

版本需要符合MANIFEST.MF中的Bundle-Version。以后我们将会看到如何保持这些一致。

Maven的SNAPSHOT和plug-in中的qualifier非常相似

最后Packaging告诉Maven构建类型,设置为eclipse-plugin。

Maven将会创建一个pom.xml,使用下面的pom替换自动生成的。

<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>
 <groupId>tycho_example</groupId>
 <artifactId>com.codeandme.tycho.plugin</artifactId>
 <version>1.0.0-SNAPSHOT</version>
 <packaging>eclipse-plugin</packaging>

 <properties>
  <tycho.version>0.23.0</tycho.version>
 </properties>

 <repositories>
  <!-- add Mars repository to resolve dependencies -->
  <repository>
   <id>Mars</id>
   <layout>p2</layout>
   <url>http://download.eclipse.org/releases/mars/</url>
  </repository>
 </repositories>

 <build>
  <plugins>
   <plugin>
    <!-- enable tycho build extension -->
    <groupId>org.eclipse.tycho</groupId>
    <artifactId>tycho-maven-plugin</artifactId>
    <version>${tycho.version}</version>
    <extensions>true</extensions>
   </plugin>
  </plugins>
 </build>
</project>

第9行到11行,是tycho的版本,将来tycho的版本会需要升级这一项。

为了解决mavne构建是的依赖,第13行到20行添加Mars的p2仓库。

最后的22-32行告诉tycho使用tycho插件构建。

现在,你在Problems View中看到如下错误:

image

每次从项目转到maven都会遇到这个错误。解决这个问题可以右键上下文菜单选择Quick Fix(快捷键Ctrl+1)。

右键项目选择Run As/Maven build... 在Goals中输入:clean install。Goals == maven lifecycle。类似make target,先删除之前的构建,然后重新构建一遍插件。

第一次构建会花费多一点时间,因为需要从maven的中央仓库下载Mars p2的依赖。最后你讲在控制台视图看到如下提示:

[INFO]
[INFO] --- tycho-p2-plugin:0.23.0:update-local-index (default-update-local-index) @ com.codeandme.tycho.plugin ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15:58 min
[INFO] Finished at: 2018-08-20T14:55:48+08:00
[INFO] Final Memory: 83M/247M
[INFO] ------------------------------------------------------------------------


现在检查project目录,会新增一个新的文件夹target。它包含构建artifacts的所有中间文件。Tycho不会刷新你的workspace,你需要手动查看target目录。

===================

未完待续。。。

posted @ 2018-08-20 12:03  snddman  阅读(2056)  评论(0编辑  收藏  举报