3

我最近一直在阅读很多关于 p2 的内容以满足我的要求。大多数在线 p2 文档都指向 RCP 的 p2。

我的要求是插件仓库。我有一个在 Eclipse IDE 中使用的插件。

我不想更改存储库位置,但基于 Eclipse 版本,如果用户查找安装新软件或检查更新,则需要下载相应的插件。

我的仓库目前包含所有版本的所有插件。但我每次都需要根据版本为我的用户提供不同的 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 看起来都是内部类。任何指令将不胜感激。

马来语

4

1 回答 1

3

我不知道你为什么要自定义 p2 的 UI。实际上,您可以根据捆绑包的版本限制可以安装哪些功能。

如果您的插件仅适用于 Eclipse 3.6,您可以将其定义为 require ' org.eclipse.ui.workbench ' [3.6.0,3.7.0),对 Indigo 使用版本范围 [3.7.0,3.8.0)。P2 将严格遵守这些合同,只允许将它们安装到相应的 Eclipse 版本中。

于 2012-07-12T06:51:35.950 回答