需要功能的版本范围

时间:2014-10-25 00:08:40

标签: eclipse eclipse-plugin osgi p2

我有以下情况:

  • 包含基本功能的Eclipse插件(A),分为两个功能
  • 一个Eclipse插件(B),它在一个功能中包含附加功能,并在第一个插件上构建

这两个插件具有独立的生命周期,但周期性插件(B)已发布,其更新站点包含(A)和(B)的最新功能。

我想强制执行的是插件(B)中的某个功能只能安装至少某个版本的插件(A)的功能。因此,例如在安装(B)1.1.0时,我应该能够强制执行(A)中的功能至少是版本(1.3.0)。

我已经尝试/考虑了以下内容:

  • 在(B)中的一个清单中碰撞依赖关系。这听起来不对,因为插件可以很好地协同工作;这是一个发行问题
  • (li)的feature.xml中的
  • 包括其他功能,例如: <includes id="some.feature" version="1.3.0"/>。这对该版本提出了严格要求,但我想要一个'至少'约束
  • 在(B)的feature.xml中,包括具有版本范围的其他功能,例如: <includes id="some.feature" version="[1.3.0,)"/>。这在feature.xml文件中是非法的

我需要哪些选项来要求具有版本范围的功能?

1 个答案:

答案 0 :(得分:2)

您可以将另一个功能的依赖项添加到feature.xml,这可以为该依赖项指定匹配规则。在这里,您可以说&#39;版本大于或等于&#39;。

类似的东西:

<requires>
  <import feature="org.eclipse.e4.rcp" version="1.3.100" match="greaterOrEqual"/>
</requires>

这是在&#39;依赖关系&#39; feature.xml编辑器的选项卡。