标签: p2

管理/托管自己的p2存储库的工具?

我们公司使用Maven.我们使用Nexus存储库管理器来存储我们的快照和版本.

目前,我们正在开发基于Eclipse的产品.我们用Tycho来做那件事.

问题如下:在我们基于Eclipse的产品中,我们有许多功能.我们的想法是分别构建每个功能(或功能组)并将它们放在内部p2存储库中.当一个功能需要另一个功能时,我们将目标平台指向必要的内部p2存储库.

目前,我们用Tycho构建应用程序.我们使我们的功能"可部署",因此Tycho生产了一个P2站点target.我们将P2站点推送到我们的服务器,然后运行Eclipse FeaturesAndBundlesPublisher,它将最近构建的功能与P2存储库合并.因此,我们有一个内部P2存储库,其中包含所有必需功能的版本.

我们发现这个过程太麻烦了.是否有像Nexus这样的工具,哪个更方便?

UPD .: 有关Tycho用户列表讨论

eclipse p2 nexus tycho maven

40
推荐指数
1
解决办法
6895
查看次数

Eclipse不会在dropins文件夹中加载插件

我刚刚下载了Eclipse SDK 3.5.1并希望安装一些附加组件,如GEF,EMF等.

我下载了所有我需要的zip文件,并决定将它们安装在dropins文件夹中.我按照指定阅读了http://wiki.eclipse.org/Equinox_p2_Getting_Started并构建了我的dropin文件夹:

eclipse/  
   dropins/  
     emf/  
       eclipse/  
         features/  
         plugins/  
     gef/  
       eclipse/  
         features/  
         plugins/  
     ... etc ...
Run Code Online (Sandbox Code Playgroud)

当我启动Eclipse时,它无法识别我在上面的结构中添加的任何功能或插件.有任何想法吗?

eclipse p2

29
推荐指数
3
解决办法
5万
查看次数

是否有可能使eclipse p2配置机制在本地运行*?

Eclipse 3.4 [.x] - 也称为Ganymede - 带有这种称为p2的新配置机制.

"供应"是允许按需发现和更新应用程序某些部分的过程,如Sun Web站点上的本文中所述.

Eclipse有一个扩展的 wiki部分,其中显示了p2详细信息.具体来说,它在这个wiki页面中说p2将寻找新组件但是在阅读之后.

我想(但你可以根据自己的经验确认这一点),p2可以运行文件"file://"协议,这将允许它使用本地文件(在您的计算机上或在UNC路径'\ server上)\path'),如此处所示,也可以通过文件:

  • [蚀-SDK-3.4-的win32] \蚀\配置\ .settings\org.eclipse.equinox.p2.artifact.repository.prefs
  • [蚀-SDK-3.4-的win32] \蚀\配置\ .settings\org.eclipse.equinox.p2.metadata.repository.prefs

p2机制用于通过eclipse 3.4更新站点更新eclipse本身,并在那些'.prefs'文件中引用,如下所示:

库/文件:_C:_jv_eclipse_eclipse-SDK-3.4-win32_eclipse/URL =文件:/ C:/jv/eclipse/eclipse-SDK-3.4-win32/eclipse/

现在,我如何将该更新站点中存在的eclipse组件复制到本地目录中,并通过提到的".prefs"文件引用这些组件,以使升级过程完全在本地运行,而无需访问Web?
我想,远程"更新站点"中存在的某些p2元数据文件也需要复制和更改.

你对此有什么想法/建议/提示吗?(即如何发现和检索并更新完整eclipse安装所需的完整结构,以便在本地运行该安装)

java eclipse p2 provisioning

26
推荐指数
1
解决办法
4245
查看次数

组合/聚合eclipse p2存储库/可扩展的p2存储库

使用Nodeclipse Eclipse插件的maven/tycho构建,每个版本都有新的p2存储库.

发布在Bintray完成,不允许更新文件.所以每个版本都在其文件夹中.

BaseFolder
BaseFolder/VersionFolder1
BaseFolder/VersionFolder2
BaseFolder/VersionFolder3
Run Code Online (Sandbox Code Playgroud)

是否可以BaseFolder准备一次作为可扩展的p2存储库,并VersionFolderN在以后添加?

因此,只有一个用于更新的URL,Eclipse平台可以发现存储库中的更新.

eclipse repository p2 aggregation tycho

12
推荐指数
1
解决办法
1761
查看次数

是否有可能从p2 repo解析maven插件中的依赖关系

我正在开发一个maven插件,它将用于覆盖默认的maven生命周期,并将使用我的代码.我有多个jar依赖项(eclipse和我的另一个应用程序插件).我有那些罐子的p2回购.如何将这两个集成以解决所有依赖关系?Tycho不能使用,因为它只能用于RCP应用(我的理解/误解).

与此类似 - 问题

还有其他解决方法吗?

dependencies p2 maven-plugin tycho maven-lifecycle

12
推荐指数
1
解决办法
855
查看次数

如何修改Eclipse位置以防止写入user.home目录?

我尝试了所有不同的设置,是的,我知道eclipse.ini和config.ini,并尝试了不同的命令行参数!没有什么能解决我的问题!

所有的尝试,仍然每次我运行eclipse.exe它想要写我的userhome即.eclipse和.p2文件夹.

我尝试了其他所有设置,也有不同的组合:

-Dosgi.user.area=file:/c:/eclipse-conf/e46
-Dosgi.configuration.area=file:/c:/eclipse-conf/e46
-Dosgi.instance.area=file:/c:/eclipse-conf/e46
-Declipse.p2.data.area=file:/c:/eclipse-conf/e46/p2
-Dorg.eclipse.equinox.p2.configurationFolder=file:/c:/eclipse-conf/e46/p2
-Dorg.eclipse.equinox.p2.installFolder=file:/c:/eclipse-conf/e46/p2
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=file:/c:/eclipse-conf/e46/p2
-Dorg.eclipse.equinox.p2.cache=file:/c:/eclipse-conf/e46/p2
-Dorg.eclipse.equinox.p2.roaming=file:/c:/eclipse-conf/e46/p2
-Dorg.eclipse.equinox.p2.cache.shared=file:/c:/eclipse-conf/e46/p2
Run Code Online (Sandbox Code Playgroud)

这没有用!好吧它写入/e46/e46/p2文件夹,但它创建/写入c:\users\mrsimplemind\.eclipse & .eclipseextension & .p2 即使我手动创建文件夹之前它将无济于事.

现在请这里有人成功完全隔离eclipse配置输出吗?

我实现这一目标的唯一方法是改变user.home但我不喜欢这种解决方法,因为在eclipse中需要原始的"user.home"中的东西,例如.ssh,.git,.m2 maven等.不想为每个eclipse user.home保留配置文件设置的重复项

我只是想隔离eclipse,这应该是可配置的!我不喜欢user.home的输出..这不是一个选项!我希望控制eclipse在每个eclipse安装的文件夹中创建的内容.

(我只能从windows os告诉我,我不知道Mac上的Eclipse如何使用上面的设置更好地工作)


我不使用OOMPH安装程序,下面的一些评论具有误导性

eclipse p2 equinox eclipse-luna eclipse-neon

12
推荐指数
1
解决办法
2815
查看次数

你知道*latest*eclipse组件的更新站点地址吗?

我正在寻找与以下相关的所有地址:

  • 3.x eclipse本身(里程碑和/或集成构建)
  • 3.x其他组件(GEF,GMF,EMF,......)

本着回答我自己的问题的精神,我确实有一个答案:

但是,如果您有其他地址,无论是eclipse还是其他eclipse组件,请在此处发布.

eclipse build p2

10
推荐指数
2
解决办法
6068
查看次数

在Eclipse外部运行P2 Ant任务

我在Eclipse里面运行了很好的ant脚本以下是它的一部分:

<p2.composite.repository failOnExists="true">
            <repository location="file:/${basedir}/compRepo" name="Repository description goes here" />
            <add>
                <repository location="http://url/Eclipse/repo/Galileo-3.5.1/" />
                <repository location="http://another-url/Java/repo/4.0/" />
                <repository location="${diag.location}" />
            </add>
        </p2.composite.repository>
Run Code Online (Sandbox Code Playgroud)

但我希望Hudson CI服务器能够运行它,但是,无论我放在ANT_HOME/lib中的所有jar都无法让这个任务在一个简单的命令行中运行ant ...我被困在这个错误:

C:\workspaces\workspace\project\junit.script\createCompRepo.xml:10: Problem: failed to create task or type p2.composite.repository
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
Run Code Online (Sandbox Code Playgroud)

p2 ant任务在哪里定义?有没有办法在Eclipse之外运行它们?非常感谢你的帮助!安东尼

eclipse ant p2

10
推荐指数
1
解决办法
5814
查看次数

添加更新站点URL以在安装期间查找第三方依赖项

我有一个Eclipse功能,在Helios上安装时需要一个额外的更新站点URL才能找到某些依赖项.是否可以自动添加此类URL,以便用户不必手动执行此操作?或者这被认为是不好的做法?

我试图将addRepository动作添加到该功能的p2.inf文件中,但它没有被执行.

eclipse eclipse-plugin p2

10
推荐指数
1
解决办法
2427
查看次数

使用Maven构建Eclipse插件

我正在尝试配置Maven来构建Eclipse应用程序(与所有Eclipse EXE打包在一起的Eclipse插件等).

我已经完成了项目的几十个依赖项,并将它们部署到我们的内部Nexus(OSS)服务器.我还安装了Nexus P2 Repository插件和P2 Bridge插件(2.6.3-01)以及Nexus Unzip插件(0.12.0).我可以浏览到我们的组存储库的.meta/p2文件夹,但它当前是空的.

这应该比目前看起来简单得多.我的目标是Windows上的Eclipse 3.4.2(Ganymede).如果它有所不同,我们实际上将我们的应用程序部署为精简版/自定义Eclipse安装.

Eclipse的仓库

当我对着pom运行maven时,<packaging>eclipse-repository</packaging>我收到以下错误:

[ERROR]   Missing requirement: MyApp 0.0.0 requires 
          'org.eclipse.equinox.executable.feature.group 0.0.0' 
          but it could not be found
Run Code Online (Sandbox Code Playgroud)

...我从哪里获得,以及如何将其添加到Nexus?

当我对着pom运行maven时,<packaging>eclipse-plugin</packaging>我收到以下错误:

[ERROR]   Missing requirement: MyApp 0.0.0 requires 
          'bundle org.eclipse.ui 0.0.0'
          but it could not be found
Run Code Online (Sandbox Code Playgroud)

...但是我在本地文件系统上找到了以下目录(怀疑itp-04-rcp生成了第一个目录):

D:\maven\repository\p2\osgi\bundle\org.eclipse.ui\3.6.2.M20110203-1100
D:\maven\repository\p2\osgi\bundle\org.eclipse.ui\3.7.0.v20110928-1505
Run Code Online (Sandbox Code Playgroud)

第谷POM-第一件文物

我还尝试了pom-first-dependencies和manifest-first-dependency组合:http://wiki.eclipse.org/Tycho/How_Tos/Dependency_on_pom-first_artifacts

我不明白这是如何工作的 - 我可以从Git构建itp02.我可以看到它构建了两个包:

+---------------------+---------------------+--------------------------------------+
| artifactId          | Bundle-Name         | Bundle-SymbolicName                  |
+---------------------+---------------------+--------------------------------------+
| pomfirst-bundle     | pomfirst-bundle     | tycho.demo.itp02.pomfirst-bundle     |
| pomfirst-thirdparty | pomfirst-thirdparty | tycho.demo.itp02.pomfirst-thirdparty | …

eclipse-plugin p2 eclipse-rcp tycho maven

10
推荐指数
1
解决办法
4034
查看次数