是否可以在 Github 上托管 Eclipse 更新站点?

2022-09-01 09:56:35

我正在使用GitHub开发一个Eclipse插件。我想为我的插件建立一个公共的Eclipse更新站点。我可以使用 GitHub 来实现此目的吗?

我知道GitHub可以通过使用文件信息页面上提供的“原始”链接来托管单个文件。


答案 1

忘记Github项目发布功能,该功能将无法作为真正的更新站点(请参阅末尾的注释)。

为了实现你想要的,你可以创建一个Github存储库,在那里提交/推送你的p2存储库,然后使用原始链接将其作为更新站点。例如,对于存储库:

https://github.com/some-user/some-repository/

您可以使用以下链接将其作为更新站点:

https://github.com/some-user/some-repository/raw/master/

注意:是的,如果您在浏览器中打开更新站点链接,github不会为您提供任何文件列表,而是404。但没关系。Eclipse 更新站点机制不需要父链接有效。相反,Eclipse将直接查找(或.xml),并从工件中的信息.jar,它本身将发现存储在更新站点中的其他工件的URL。AFAIK,Eclipse更新机制在任何时候都不需要Web服务器来做目录的文件列表。<update-site URL>/artifacts.jar

注意2:如果您使用Github项目版本,则只能将压缩的p2存储库附加到其中。这不是一个合适的更新站点,因为它是一个静态存储库:没有可以将新版本上传到的URL。Eclipse将无法自动发现新的更新,而是用户需要为他/她想要更新的每个新版本下载zip。(同样使用适当的更新站点,将仅下载安装/更新/查询所需的工件 - 这是一个小优势)


答案 2

Github 页面不是更新站点的合适位置。

Github 页面可能无法正确提供大型二进制文件,如本期所述。如果你的jar很小,这可能很好,但总的来说,他们建议不要在那里放置二进制文件。相反,他们建议将二进制文件放在存储库的下载部分。如果这种情况发生变化,我会很高兴,因为通过推送到github来发布更新站点非常方便。

目前,必须使用他们的API在下载部分中以编程方式上传文件。这个其他问题的答案指向一些库和脚本,这些库和脚本使用此API在java / maven,perl,ruby等中使用。


推荐