问题标签 [p2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4088 浏览

eclipse - Eclipse RCP p2 更新不起作用

我有一个com.example.product基于一个个人特性 ( com.example.feature) 的个人 Eclipse RCP 产品 (),它由一个个人插件 ( com.example.plugin) 和 Eclipse Helios (3.6) 中的一堆其他插件组成。我希望该应用程序检查更新并在必要时从 p2 站点进行更新。我希望它是无头的,即用户不会在更新过程中进行交互,但可能会在对话框中看到进度。

我基于RCP Mail 应用程序的更新实现。我稍微更改了P2Util.checkForUpdates方法以包含一些日志记录,因此我可以看到那里出了什么问题(如果有的话):

我的功能中有一个p2.inf文件与我的文件处于同一级别example.product。它包含:

我使用设置为 1.0.0 的插件、功能和产品 ID 构建产品。我可以使用产品导出向导从 eclipse 中导出和运行我的产品。generate metadata repository当我这样做时,我会 打勾。

Create an Update Site Project我使用Feature Manfiest Editor 中的选项创建我的更新站点。我添加我的“com.example.feature”并构建它。只是为了看看它是否有效,我尝试通过 eclipse IDE 安装新软件选项浏览它,我可以在那里看到该功能。

我构建了更新站点,将所有 3 个 ID 更改为 1.0.1。当我启动应用程序时,它说没有要安装的更新,日志中没有错误。

我不知道为什么它没有从更新站点更新,但我想到的事情是:

1)我可能需要 p2.inf 文件中的更多信息,但我不确定是什么,可能是命名空间、名称和范围之类的,但我找不到一个好的实际示例。

2)在这种checkForUpdates方法中,我可能需要对配置文件做一些事情来更改正在更新的可安装单元。同样,我只发现了暗示这一点的评论,而不是任何显示如何的示例代码。

在这里非常感谢任何提示或想法,这会占用很多时间。

0 投票
1 回答
4041 浏览

eclipse - 从包含捆绑包的文件夹创建 Eclipse P2 更新站点?

通常,通过创建包含一个或多个插件/捆绑包的功能项目并将此功能添加到 Eclipse 更新站点项目的过程在 Eclipse 中创建 Eclipse p2 更新站点。最后构建更新站点,可以通过eclipse中的更新管理器引用。

但是是否可以从仅包含一组已构建插件的文件夹中创建 Eclipse 之外的 p2 更新站点?

我看过:

http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/p2_publisher.html

但它假定捆绑包和功能都已创建。

我也看过:

http://wiki.eclipse.org/Equinox_p2_director_application http://wiki.eclipse.org/Equinox_p2_Getting_Started_for_Releng

但这并没有描述如何从捆绑列表中创建 p2 站点。

为了简化我的问题:

是否可以从包含 osgi 包的本地文件夹创建完整的工作 p2 更新站点?

0 投票
1 回答
214 浏览

eclipse - 如何使用 P2 为多个平台创建配置相同的 IDE?

我在运行 Linux、Windows 和 OSX 的机器上分别安装了 Eclipse,但它们的配置都有些不同。例如,Linux 上的有 avr-eclipse,但 Mac 上的甚至没有 CDT。

就安装的特性而言,使所有这些 Eclipse 安装相互一致的最简单方法是什么?我想我可以手动完成它,但肯定有一种方法可以使用 P2 来生成这些信息吗?

0 投票
2 回答
7594 浏览

eclipse - 用于管理/托管自己的 p2 存储库的工具?

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

目前,我们正在开发基于 Eclipse 的产品。我们使用第谷来做到这一点。

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

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

我们发现这个过程太繁琐了。有没有像 Nexus 这样的工具,会更方便?

UPD .:关于第谷用户列表的讨论

0 投票
2 回答
1674 浏览

eclipse - P2 存储库聚合器

我们有几个内部 p2 存储库。每个存储库都有许多不同功能的版本。我们需要为我们的客户提供一个外部更新站点。我们只想聚合特定功能的特定版本。将是“聚合”它们的好方法/工具吗?

例如,我们有一个 p2 存储库repo1,其功能feature1版本1.0.0为 , 2.0.03.0.0另一个 p2 存储库repo2的功能feature2版本为1.0.02.0.0
我们想聚合版本1.0.03.0.0的和的feature1版本:2.0.0feature2

目前我们正在研究b3Nexus Pro。但也许有更好的东西?

b3只允许聚合功能范围而不是特定版本。
Nexus Pro更像是代理或“魔盒”。我们希望拥有 p2 存储库的单独物理副本(镜像副本)。

有什么建议么?

0 投票
3 回答
2861 浏览

eclipse - 用于自定义安装处理程序的 Eclipse p2 替代方案

在 p2 之前,可以编写一个自定义安装处理程序,该处理程序具有在安装期间执行以执行任何“自定义”任务的功能。

我看到 p2 不再支持自定义安装处理程序。我一直听说“自定义接触点”可以替代它。

但是我找不到任何具体的示例/文档。

谁能告诉我如何使用 p2 更新管理器获取自定义安装处理程序的功能。

编辑:我想做什么的描述 -

我需要编辑 eclipse.ini 文件并将 -Xmx 属性设置为基于我们是在 64 位还是 32 位环境中运行的值。

编辑 2:我尝试使用以下行在我的功能中创建一个 p2.inf 文件 -

它可以工作,但是它不区分 32 位和 64 位。

0 投票
2 回答
367 浏览

eclipse - 如何使用 Google 站点设置 Eclipse P2 服务器?

我正在尝试使用 Google 站点来托管 Eclipse P2 站点。

但是,由于未找到功能和插件目录,安装新软件失败。Google 协作平台似乎只模拟 FileCabinet 页面上的子目录。

是否有替代的 Google 协作平台方法?

或者有没有办法设置一个没有子目录的 P2 站点,或者安装新软件将引用一个 zip 文件?

有什么替代建议吗?

0 投票
1 回答
3088 浏览

java - Eclipse p2:category.xml 和 site.xml 之间的区别

p2 存储库创建 ant 任务(如 eclipse.publish.featuresAndBundles)似乎采用了指定类别信息的 site.xml 或 category.xml 文件。

我看到 Eclipse 生成的 site.xml 和 category.xml 的内容与标签完全相同。

那么两者有什么区别呢?

编辑 - 要明确:
category.xml 中存在哪些添加/减法,将其与 site.xml 与文件名区分开来?

0 投票
1 回答
2652 浏览

eclipse - 如何在无头服务器上构建 Eclipse 插件更新站点?

在过去的几天里,我一直在尝试在无头 Debian VM 上测试构建我的 eclipse 插件。无头 Debian VM 的原因是,一旦我进行了构建设置,构建和 UpdateSite 将托管在远程服务器上。到目前为止我所取得的成就:

  • 构建插件本身(${Projectname}-${version}.jar)
  • 构建功能 (${Prohjectname}_Feature_${version}.jar)
  • 将功能和插件以及 site.xml 移动到带有 ./features 和 ./plugins 的文件夹 ${structured-folder}

在带有完整 Ubuntu 的开发盒上,我可以在 CLI 上运行以下命令来构建所需的 content.jar 和 artifacts.jar:

在我的无头构建中,我尝试用“/usr/bin/eclipse/”替换

但这根本没有给我任何输出。然后我尝试安装 eclipse 本身,它没有带来任何积极的结果,因为运行 /usr/bin/eclipse 需要 GTK 和 X。

所以我的问题是:在无头模式下构建和发布 Eclipse 插件的正确设置是什么样的?我需要什么插件?我需要下载哪些 Eclipse 以及我应该如何运行该过程?

0 投票
2 回答
1381 浏览

eclipse - 从远程 p2 站点创建本地 p2 站点?

在 Eclipse 中,我创建了一个 .target 文件,我在其中添加了来自远程 Eclipse p2 站点的功能。

现在我想创建一个本地 p2 站点,它是目标定义中定义的聚合功能的副本(最好适用于所有环境)。

我需要这个本地 p2 站点与使用 maven3/tycho 的构建系统一起使用,但还没有找到一种“稳定”的方式来做到这一点。我尝试了以下方法:

1) 将目标文件导出到本地目录。

问题:不创建 p2 站点,只创建一个包含功能/插件的文件夹。

2) 将目标文件导出到本地目录并在该目录上运行 eclipse FeaturesAndBundlesPublisher 应用程序。

问题:这会创建一个 p2 站点,但缺少一些原始功能/捆绑包。

3) 使用 buckmeister 从 .target 文件初始化的功能创建 p2 站点:

p2.site 使用 buckmeister

问题:.target 文件内容中的原始特征没有保留在生成的 p2 站点中。尤其是如果目标文件包含以下功能,则会出现问题: org.eclipse.equinox.executable.feature 生成的 p2 站点中将缺少此功能。

4) 复制以下内容:

workspace.metadata.plugins\org.eclipse.pde.core.bundle_pool

问题:不是有效的 p2 站点。

关于如何从远程 p2 站点创建工作(具有完整功能)本地 p2 站点的任何建议?