【问题标题】:Requiring a version range for a feature要求功能的版本范围
【发布时间】:2014-12-20 21:15:31
【问题描述】:

我有以下情况:

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

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

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

我已经尝试/考虑过以下几点:

  • 在 (B) 的清单之一中添加依赖项。这听起来不对,因为插件可以很好地协同工作;这是一个分配问题
  • 在 (B) 的 feature.xml 中,包括其他功能,例如<includes id="some.feature" version="1.3.0"/> 。这对该版本提出了硬性要求,但我想要一个“至少”约束
  • 在 (B) 的 feature.xml 中,包括具有版本范围的其他功能,例如<includes id="some.feature" version="[1.3.0,)"/> 。这在 feature.xml 文件中是非法的

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

【问题讨论】:

    标签: eclipse eclipse-plugin osgi p2


    【解决方案1】:

    您可以在 feature.xml 中添加对另一个功能的依赖,这可以为该依赖指定匹配规则。在这里您可以说“版本大于或等于”。

    类似:

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

    这是在 feature.xml 编辑器的“依赖项”选项卡上配置的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-26
      • 1970-01-01
      • 1970-01-01
      • 2012-12-15
      • 1970-01-01
      • 1970-01-01
      • 2015-09-25
      • 2021-01-21
      相关资源
      最近更新 更多