使用p2 ant tasks,镜像插件的功能非常简单。
但是我如何镜像安装功能所需的一切?
无法p2.mirror
工作;该任务要么反映太多(就像一个特性的所有版本,即使你只对最后一个或特定的一个感兴趣)和/或太少(比如只是特性但没有依赖项)。
我的解决方案是这样的:
eclipse-template
eclipse-install
eclipse-install
cd eclipse-template ; find . -type f -exec rm "../eclipse-install/{}"
从步骤 #1 ( )中删除版本中存在的副本中的任何文件。剩下的就是功能和插件文件。用于org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher
将其转换为 p2 存储库(有关详细信息,请参阅文档)。
[更新 2011-11-01]如果您不需要从命令行运行它,还有另一种解决方案。
这将使用您选择的确切版本以及您选择的文件夹中的所有依赖项导出所有选定的功能。
目标编辑器有点笨拙和缓慢,但它可以工作。
将文件保持在版本控制之下,因为目标编辑器有时会出错。
我正在使用以下 Ant 代码来镜像单个存储库中的 2 个功能:
<!-- Creates single p2 repo from 2 repos -->
<p2.mirror>
<repository location="file:///${DESTINATION}/repo-name" append="false"/>
<source>
<repository location="file:///${feature1-repo}/feature1"/>
<repository location="file:///${feature2-repo}/feature2"/>
</source>
</p2.mirror>
此外,您可以使用<iu>
和功能的 id 来指定要镜像的功能。功能 id 必须以下列方式指定:
your.feature.id.group.group.group
如果您的功能具有特定的平台配置,则 IU 变为
your.feature.id.win32.win32.x86 (OS, Widget system, Architecture)