【问题标题】:How to build RCP application based on Product Configuration and Target Platform Definition?如何根据产品配置和目标平台定义构建 RCP 应用程序?
【发布时间】:2012-01-02 21:19:27
【问题描述】:

我正在为我的 Eclipse RCP 应用程序设置一个自动(命令行)构建。

我已经找到了以下方法:

  • 巴克敏斯特
  • 通过pde-maven-plugin 使用 Maven
  • 无头 PDE 构建

所有这些选项的问题在于,它们需要我为目标平台定义中已包含的信息创建本质上的新表示。例如,在 Buckminster 中,这将是 .rmap 文件。

在我看来,当我具备以下条件时,构建产品的所有信息都应该已经存在:

  • 带有产品配置文件 (foo.product) 的插件项目
  • 目标平台定义文件 (foo.target)

因此,我希望会有如下命令:

build-rcp-product foo.product foo.target win32

有什么我可能错过的吗?

【问题讨论】:

    标签: eclipse eclipse-rcp buckminster


    【解决方案1】:

    使用 Buckminster,您无需在目标定义文件中复制信息。您可以使用importtargetdefinition 命令简单地导入目标文件。如果您在目标定义文件中定义了所有依赖项,那么在 rmap 中您仅定义从何处实现您的插件(svn、git、maven、文件系统等)。

    使用 PDE 构建,有一个提交的请求 (Bug 266311),似乎仍然无法直接使用目标文件,但其中建议了一些解决方法(我没有尝试,我正在使用巴克敏斯特)。

    【讨论】:

    • 如果你为 buckminster 和开发使用相同的工作空间,你根本不需要 rmap,也不需要 importtargetdefinition。使用 '-data path/to/workspace' 作为 buckminster 参数,然后跳过位于 link 的脚本中的两个 'import' 语句
    【解决方案2】:

    我使用 PDE 构建,它非常简单。它本质上是从 MANIFEST.MF 文件和 build.properties 文件中获取所需的。

    运行它的命令更复杂,因为您必须启动 Eclipse 并将其指向一些东西,但它与 IDE 很好地集成在一起。它通过制作 Ant 脚本来完成所有工作。

    【讨论】:

    • 您所指的内容仅在所有必需的插件都已在给定文件夹中时才有效。我希望它们能够从我的目标平台定义 (foo.target) 中定义的位置自动获取。
    【解决方案3】:

    你可以试试第谷
    这是一个好的开始:
    Tycho tutorial
    Reference card
    使用 tycho,您只需要一个 POM,您通常不会更改此信息,这些信息是通过 maven 生成的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-02
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      相关资源
      最近更新 更多