Eclipse RCP P2更新,无需更改产品版本

时间:2015-02-01 14:28:24

标签: eclipse eclipse-plugin eclipse-rcp p2

我在每晚构建服务器上使用Tycho构建Eclipse RCP产品。我想允许产品通过p2存储库更新自己,但是如果产品版本发生了变化,Eclipse只会注意到新版本,尽管版本的限定符确实发生了变化。

如何在不手动更改任何内容的情况下升级到最新的每晚构建?我目前使用的是Eclipse集成的更新管理器,但如果可以解决问题,我也可以使用p2 api。

如果我尝试使用“安装新软件”对话框进行更新而不更改产品版本的主要部分或次要部分:

Your original request has been modified.
  "Product" is already installed, so an update will be performed instead.
Cannot complete the install because of a conflicting dependency.
  Software being installed: Product 1.0.0.201502021648 (editor.sdk.feature.group 1.0.0.201502021648)
  Software currently installed: Product 1.0.0 (Product 1.0.0)
  Only one of the following can be installed at once: 
    Product Main Plugin 1.0.0.201502021648 (Product.editor 1.0.0.201502021648)
    Product Main Plugin 1.0.0.201502011807 (Product.editor 1.0.0.201502011807)
  Cannot satisfy dependency:
    From: Product 1.0.0 (Product 1.0.0)
    To: editor.sdk.feature.group [1.0.0.201502011807]
  Cannot satisfy dependency:
    From: CodeInspect 1.0.0.201502011807 (editor.sdk.feature.group 1.0.0.201502011807)
    To: editor [1.0.0.201502011807]
  Cannot satisfy dependency:
    From: Product 1.0.0.201502021648 (editor.sdk.feature.group 1.0.0.201502021648)
    To: editor [1.0.0.201502021648]

在我的产品档案中

   <features>
      <feature id="editor.sdk"/>
   </features>

我的feature editor.sdk的feature.xml包含版本0.0.0的包含插件,所以它不应该是特定于版本的。

更改产品版本后,会显示类似的对话框 Choose one of the following alternate solutions

1 个答案:

答案 0 :(得分:1)

嗯,现在好像有用了。我添加了一个带有内容

的Product.p2.inf
requires.1.namespace = org.eclipse.equinox.p2.iu
requires.1.name = editor.sdk.feature.group
requires.1.range = [1.0.0, 10.0.0)

现在,Eclipse会在没有警告的情况下自动更新。