【发布时间】:2012-09-18 01:36:30
【问题描述】:
我尝试左右搜索,但找不到 Eclipse 使用的 p2 存储库格式的规范。
我有兴趣阅读 p2 元数据(content.xml/jar 和 artifacts.xml/jar),我想知道它们的语法、存储库布局(复合与简单等)
当然,我可以通过查看一些现有的存储库对此进行逆向工程,但我想知道是否有详细描述此内容的文档。
【问题讨论】:
标签: eclipse-plugin p2
我尝试左右搜索,但找不到 Eclipse 使用的 p2 存储库格式的规范。
我有兴趣阅读 p2 元数据(content.xml/jar 和 artifacts.xml/jar),我想知道它们的语法、存储库布局(复合与简单等)
当然,我可以通过查看一些现有的存储库对此进行逆向工程,但我想知道是否有详细描述此内容的文档。
【问题讨论】:
标签: eclipse-plugin p2
这些文件的格式不被视为 API,因此没有规范。这些实际上只是 p2 存储库的一种格式,如果您愿意,可以插入自己的格式。存储库格式的唯一 API 是 IMetadataRepository 和 IArtifactRepository 的实现。
如果您想处理这些文件,我建议加载存储库(使用 IMetadataRepositoryManager 和 IArtifactRepositoryManager)并使用这些接口公开的 API。
【讨论】:
是的,没有 OSGi,p2 实际上无法使用。但是,如果您需要使用 p2 API 的小型命令行应用程序示例,我建议您查看p2diff。您可能还会发现以下链接很有趣:Query Language for p2。如果您真的不喜欢使用 Equinox,您可以尝试查看 org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryIO.Parser 和 org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepositoryIO.Parser - 毕竟它只是 XML(尽管很复杂)。
【讨论】: