插件产品 VS 功能产品

5
在RCP应用程序的上下文中,我在思考是否应该将我的产品基于插件或特性构建。
目前我能看到的主要区别在于导出的应用程序内容。
使用插件作为产品基础会导致一个包含所有所需插件的导出文件(我猜测是通过插件清单计算得出)。
相反,当使用特性作为基础时,导出的产品只包含产品文件中列出的特性。因此,我必须手动添加所有所需的特性才能让我的产品正常工作。这也会带来所有特性插件的副作用,即使它们不需要也会被带入。
你对这个问题有什么经验吗?
编辑:如Vonc评论所建议,我创建了自己的特性,其中只包括我从其他特性中需要的插件。这个解决方案有效,但我必须手动将所有所需的插件添加到这个特性中。今天,我找到的唯一解决方案是使用启动配置插件选项卡,然后使用计算所需插件按钮,并手动将所有选定的插件报告给我的特性。这真的很烦人 :-( 还有其他解决方案吗?
谢谢

你不能只使用已导入的插件来定义自己的功能吗?(但是不想导出它们,因为它们包含了不必要的插件) - VonC
是的,我认为我可以做到并且似乎这是正确的方式。我会尝试一下。另外想提一下,这个解决方案在我看来有点像“黑科技”...再次感谢你的帮助。 - Manuel Selva
另一个需要注意的是,找到所有必需的插件可能会相当困难。一种解决方法是使用“运行配置”对话框来计算所有所需的插件,然后手动报告这些插件...真的很无聊。 - Manuel Selva
1个回答

9

在进行了多次调查后,我希望能够就这个问题给出一个“清晰”的(希望如此)状态。

插件产品:

  • 构建时没有问题(GUI或无头)=> 所有必需的插件(与调试应用程序时计算的所需插件相同的插件)都存在
  • RCP应用程序磁盘占用空间得到优化!!没有无用的插件
  • 没有导出功能:因此about对话框的功能列表选项卡为空!!!
  • 似乎不推荐使用插件产品进行自更新的RCP(我还没有测试过)

特征产品:

  • 在导出(无头)时,仅列出.product文件中列出的插件和特性
  • 需要创建一个“依赖项”特性,其中包含所有所需的插件OR依赖于包含所需插件的所有特性=>会带来许多无用的插件
  • 在about对话框中列出的功能

在我的个人情况下,我决定使用特征产品,然后“手动”创建一个特性,其中包括我RCP所需的90个插件。

因为我很懒,讨厌重复的任务,所以我编写了一个简单的Java程序,解析启动配置文件(.launch位于工作区元数据文件夹中)并从模板生成具有所有必需依赖项的特性。

希望这能帮助其他人,如果您需要我的简单Java特性依赖项创建程序,请随时联系我。

Manu


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接