【问题标题】:Getting a RCP feature to export to a p2 site that supports multiple platforms using Buckminster使用 Buckminster 获取 RCP 功能以导出到支持多个平台的 p2 站点
【发布时间】:2011-06-12 23:17:36
【问题描述】:

我有一个简单的 RCP 插件(带有产品),我希望它至少可以在 Linux 和 Windows(32 位和 64 位)中运行。我有一个产品,其中包含 buckminster 用来创建 p2.site 的功能。 (我只使用 build.properties 和 buckminster.properties 文件,没有使用 *.cspec 和 *.rmap 文件,因为这些文件可能是 buckminster 从 RCP 产品/功能文件中生成的)。

我的问题是我的功能有一个指向 64 位 linux swt 插件的链接(我正在运行 64 位 linux),但是如果我将 windows swt 插件的引用添加到我的 RCP .product buckminster 构建无法解决这些插件和然后无法正确导出 p2.site。

如何让 buckminster 通过查看我的 RCP .product 文件的依赖项来构建 p2 站点,如果它没有从我的工作区解析 win32 或 win64 swt 库,它会在其他地方寻找这些依赖项?

我喜欢 buckminster 从我的 .product 文件确定我的项目依赖项的想法,因此当我对项目的依赖项进行更改时,我不必保持 .cspec 和 .product 文件同步。如果在我的工作区中找不到依赖项,那么我希望 buckminster 从“可能”一个 .rmap 等中找到丢失的依赖项(如果从 Hudson 服务器运行,可能是所有依赖项)

【问题讨论】:

    标签: eclipse build rcp pde buckminster


    【解决方案1】:

    您必须多次执行 site.p2 目标,才能为每个平台提供构建。

    有关更多具体细节,请参阅the Eclipse wikiRalf Ebert's blog 上的教程。

    【讨论】:

    • 我遇到的问题是我的 feature.xml 在其依赖项列表中引用了所有平台(例如:swt_win32 swt_linux32 swt_win64 swt_linux32 等),buckminster 使用此列表来生成站点,但是当它无法解决其中一个依赖项(例如,当它从我的 linux 机器运行时)该站点未正确生成(因为它失败)
    • 我的问题是,如果我的 feature.xml 引用了 buckminster 无法解决的依赖关系,我什至无法让它第一次成功运行;现在我不想要为每个开发人员的 IDE 工作区设置所有“目标平台”,只需将项目构建到 site.p2...
    • 顺便说一句:感谢您的回复 :)
    • 难道你不能让这些依赖于平台的要求成为可选的,以允许按照教程中的描述一个一个地显式加载它们吗?
    • 我从 feature.xml 中删除了与平台相关的要求,它似乎可以工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 2012-05-17
    • 2019-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多