我最近读了很多关于p2的要求。 大多数在线p2文档指向RCP的p2。
我的要求是插件回购。我有一个内部使用的插件 Eclipse IDE。
我想要更改repo位置但是基于Eclipse Version, 如果用户查找需要安装新软件或检查更新 下载相应的插件。
我的repo目前包含所有版本的所有插件。但是我 需要每次根据版本为我的用户提供不同的URL。
例如我正在使用Eclipse 3.7(Indigo)。我通过安装插件 通过添加p2 Repo URL安装新软件。现在用户决定 对于某些需求转移到Eclipse 3.6,我希望他连接到 相同的p2 Repo URL并下载为Eclipse 3.6创建的插件。
这绝对可以使用p2 Discovery,或者我可以归类 使用复合存储库的下载,但我不想做任何 这些。只想知道我有什么API可以坚持,所以 在处理URL并查找更新之前,我可以查看 Eclipse的版本,并根据版本将其重定向到内部 URL。这在RCP中是可能的,如果我可以在Eclipse p2 UI中执行它,那就想知道。
所有p2 UI看起来都是内部类。任何指令都是 赞赏。
Malai
答案 0 :(得分:3)
我不知道为什么要自定义p2的UI。实际上,您可以限制可以在bundle的版本上安装哪些功能。
如果您的插件仅适用于Eclipse 3.6,您可以将其定义为需要' org.eclipse.ui.workbench '[3.6.0,3.7.0)
,使用版本范围[3.7.0, 3.8.0)对于Indigo。 P2将严格遵循这些合同,只允许将它们安装到Eclipse版本中。