我正在使用GitHub开发Eclipse插件.我想为我的插件创建一个公共Eclipse更新站点.我可以使用GitHub吗?
我知道GitHub可以通过使用文件信息页面上提供的"原始"链接来托管单个文件.
忘记Github项目发布功能,它不能用作真正的更新站点(参见最后的注释).
为了实现您的目标,您可以创建一个Github仓库,在那里提交/推送您的p2存储库,然后使用原始链接将其作为更新站点提供.例如,对于存储库:
https://github.com/some-user/some-repository/
您可以使用以下链接将其作为更新站点提供:
https://github.com/some-user/some-repository/raw/master/
注意:是的,如果您在浏览器中打开更新站点链接,github将不会为您提供文件列表,而是404.但这没关系.Eclipse更新站点机制不需要父链接有效.相反,Eclipse将直接查找
(或.xml),并且从artifacts.jar中的信息中,它将自己发现存储在更新站点中的其他工件的URL.AFAIK,Eclipse更新机制在任何时候都不需要Web服务器来执行目录的文件列表.
注意2:如果您使用Github项目版本,则只能附加一个压缩的p2存储库.这不是一个正确的更新站点,因为它是一个静态存储库:没有可以上传新版本的URL.Eclipse将无法自动发现新的更新,而是用户需要为他/她想要更新的每个新版本下载zip.(还有一个正确的更新站点,只下载安装/更新/查询所需的工件 - 一个小优势)
Github页面不适合更新站点.
Github页面可能无法正确提供大型二进制文件,如本期中所述.如果你的罐子很小,可能没问题,但总体而言他们建议不要在那里放置二进制文件.相反,他们建议将二进制文件放在存储库的下载部分中.如果这种情况发生变化,我会很高兴,因为通过推送到github发布更新站点会非常方便.
现在,必须使用他们的API以编程方式上载下载部分中的文件.这个问题的答案指向一些使用此API的库和脚本在java/maven,perl,ruby等中使用.
您现在可以在发布页面(2013年7月)中尝试它.
请参阅" 在Github上发布项目发布(二进制文件/源包)? "
原始答案(2013年1月)
我没有对它进行过测试,但从技术上讲,可以在任何共享路径中定义p2存储库(文件系统共享或基于Web共享)
你应该只需要:
生成正确的p2元数据
如有任何问题,请分析p2回购.
将所有结果存储在git托管目录中并将其推送到GitHub仓库.