在eclipse中,我创建了一个.target文件,在其中添加了来自远程eclipse p2站点的特性。
现在,我想创建一个本地p2站点,它是目标定义中定义的聚合特性的副本(最好是针对所有环境)。
我需要这个本地的p2站点与一个使用maven3/tycho的构建系统一起使用,但还没有找到一个“稳定”的方法来做到这一点。我尝试过以下几种方法:
1)将目标文件导出到本地目录。
问题:不创建p2站点,只创建一个包含特性/插件的文件夹。
2)将目标文件导出到本地目录,并在该目录上运行eclipse FeaturesAndBundlesPublisher应用程序。
问题:这会创建一个p2站点,但是缺少一些原始的特性/包。
3)使用buckmeister根据从.target文件初始化的功能创建p2站点:
p2.site using buckmeister
问题:在生成的p2站点中不会保留.target文件内容中的原始功能。尤其是,如果目标文件包含特性: org.eclipse.equinox.executable.feature,则这是一个问题。在生成的p2站点中将缺少此特性。
4)复制内容:
workspace.metadata.plugins\org.eclipse.pde.core.bundle_pool
问题:不是有效的p2站点。
关于如何从远程p2站点创建工作(具有完整功能)的本地p2站点,有什么建议吗?
发布于 2011-03-05 05:47:14
您想要使用p2镜像命令。为它提供一个远程存储库URL和一个要镜像到的本地目录。下面是一个Ant宏来实现这一点。请注意,它是如何进行两个镜像调用的,因为大多数p2存储库实际上是两个存储库合二为一(工件和元数据)。
它需要"bootstrap.platform“属性集,这是您想要使用其p2的Eclipse install的位置。
<macrodef name="p2.mirror">
<attribute name="source"/>
<attribute name="destination"/>
<sequential>
<echo message="Mirroring repository @{source} to @{destination}..."/>
<java classname="org.eclipse.core.launcher.Main" fork="true" failonerror="true">
<classpath>
<fileset dir="${bootstrap.platform}/plugins">
<include name="**/org.eclipse.equinox.launcher_*.jar"/>
</fileset>
</classpath>
<arg line="-application org.eclipse.equinox.p2.artifact.repository.mirrorApplication"/>
<arg line="-source @{source}"/>
<arg line="-destination @{destination}"/>
</java>
<java classname="org.eclipse.core.launcher.Main" fork="true" failonerror="true">
<classpath>
<fileset dir="${bootstrap.platform}/plugins">
<include name="**/org.eclipse.equinox.launcher_*.jar"/>
</fileset>
</classpath>
<arg line="-application org.eclipse.equinox.p2.metadata.repository.mirrorApplication"/>
<arg line="-source @{source}"/>
<arg line="-destination @{destination}"/>
</java>
</sequential>
</macrodef>发布于 2015-05-01 20:56:10
您可以直接从命令行运行Ant,而不是使用Ant:
eclipse -nosplash -verbose
-application org.eclipse.equinox.p2.artifact.repository.mirrorApplication
-source http://download.eclipse.org/releases/luna
-destination file:/temp/lunaclone
eclipse -nosplash -verbose
-application org.eclipse.equinox.p2.metadata.repository.mirrorApplication
-source http://download.eclipse.org/releases/luna
-destination file:/temp/lunaclone当然,每个命令在输入时都应该是一行。
如果您使用的是windows系统,目标路径将如下所示
-destination file:C:/temp/lunaclone如果您需要一个与Eclipse Project Update Sites不同版本(-source)
https://stackoverflow.com/questions/5199296
复制相似问题