共享 Target Platform for Eclipse RCP 项目的最佳方式

Best way to share a Target Platform for Eclipse RCP project

共享目标平台的最佳方式是什么?

例如以及一些RCP项目的源代码。

我可以定义一个 .target 文件并用远程 p2 站点填充它并共享此文件。这里的问题首先是,这些网站往往非常缓慢且不可靠。根据经验,解决此类目标平台时常会失败。

更可靠、更快速(就加载此目标平台而言)的方法是定义一个包含所有插件和功能的本地目录。

这个目录可以是源存储库本身的一部分,或者我可以提供一个(快速且可靠的)远程站点,我可以随时从中下载这个目标平台。

这里的难点在于,我怎样才能将 p2 站点列表转换成目录,其中包含更新站点提供的那些插件和功能?

当我从 Eclipse 中设置一个特定的目标平台时,这些工件实际保存在哪里?我想我可以复制这个目录。

尽管 Eclipse p2 存储库有时很慢并且目标平台编辑器很糟糕,但我仍然建议使用 .target 文件。它们很容易共享,因为它们可以存储在源代码存储库中。

在解析目标平台时,PDE 将包缓存在工作区的 .metadata/.plugins/org.eclipse.pde.core/.bundle_pool 目录中。

使用 .target 文件还可以让您将 Tycho 用作构建工具。但是请注意,Tycho 无法从本地(即 file://)存储库中读取。

这是为 RCP/plug-in 开发提供依赖项的最常见和最被接受的方式。

为了减轻 Eclipse p2 存储库的不可靠性能,您可能需要镜像这些存储库并在目标平台定义中指定镜像站点。

如果您对 PDE 目标平台编辑器的可靠性不满意,也可以尝试使用 Target Platform Definition DSL and Generator 作为替代品。