由Tycho构建的产品中的Eclipse“已安装软件”功能层次结构

时间:2012-12-05 11:59:42

标签: eclipse eclipse-rcp tycho

我正在使用Tycho构建基于功能的产品。构建通过,产品工作正常。现在我想通过我的p2更新站点更新一个功能,但这不起作用。

我注意到当我点击帮助 - >关于 - >安装细节,我将产品名称视为根元素,将所有功能视为子元素。所以我无法卸载任何功能和/或更新它们。只能卸载根元素。我显然不想这样做,因为这是整个产品。

当我在Eclipse IDE中打开安装详细信息对话框时,我将所有已安装的功能视为根元素。所以我可以卸载或更新各个功能(例如EMF,Subversive,EGit)。

那为什么Tycho制造的产品有所不同?为什么我的功能不是安装中的顶级元素?


我尝试激活此功能需要独占安装我想要更新的功能,但这没有帮助。

1 个答案:

答案 0 :(得分:2)

实际上,并非Eclipse IDE中的所有功能都安装在根级别上。还将有一个产品元素(例如“Eclipse SDK”),该产品包含无法独立于产品进行更新或卸载的功能。

但是,您有一个有效的观点:如何将功能作为Tycho的根元素安装,以便可以独立于产品进行卸载或更新?

这是可能的since Tycho 0.20.0:您可以在产品文件中指定是否要将要素安装为产品的子元素,或者是否应将要素安装为根元素。对于后者,您需要添加属性installMode="root"

* .product文件中的示例代码段:

<features>
   <feature id="product-child-element-feature"/>
   <feature id="root-element-feature" installMode="root"/>
</features>