2016-08-26 35 views
0

我有要求设计一个操作系统特定的插件。根据操作系统(MAC或Windows),插件的内容会有所不同。我们如何创建操作系统专用插件

目前,我们正在维护两个不同的插件,一个用于Windows和其他的MAC,插件ID的com.core.win和com.core.mac。

我的主要插件是依赖于上述插件。但是由于我的插件ID根据操作系统的不同而不同,因此这两个插件都作为“可选”添加到插件依赖项中。

com.core.win; resolution:=optional, 
com.core.mac; resolution:=optional 

但实际上,依赖是必须的,“必需的”。我如何设计我的插件结构,从而可以定义紧密的依赖关系?有没有标准的解决方案?

谢谢!

+0

您通常使用一个平台特定[片段]插件(http://www.vogella.com/tutorials/EclipseFragmentProject/article.html) –

+0

如何指定特定于平台的片段? – Priyadarshini

回答

2

通常你必须为每个平台的平台特定的片段一个基本的插件。

您使用Eclipse-PlatformFilter MANIFEST.MF项指定平台,是这样的:

Eclipse-PlatformFilter: (& (osgi.ws=cocoa) (osgi.os=macosx) (osgi.arch=x86_64)) 

指定可可视窗系统,Mac OS X的操作系统和64位(这是当前的正常设置Mac电脑)。

在“概览”选项卡上的“常规信息”部分plugin.xml中/ MANIFEST.MF编辑这是“平台过滤器”字段。

Here约为片段一个很好的介绍,Eclipse的PDE帮助也有文档。此外,SWT是针对平台特定代码使用片段的一个很好的例子。请参阅this FAQ entry以了解如何获取SWT代码以进行检查(您不需要实际执行构建和导出部分)。

+0

感谢@greg回答。我对碎片概念非常陌生。考虑到我所说的例子,你能否向我解释层次/结构? ? 还有哪些更新需要完成更新网站的工作? – Priyadarshini

+0

我在答案中添加了一些链接。 –

+0

这对Stack Overflow答案来说太宽泛了。 Eclipse插件开发环境指南包含片段信息,还有[this](https://wiki.eclipse.org/FAQ_What_is_a_plug-in_fragment%3F)和[this](http://www.vogella.com /tutorials/EclipseFragmentProject/article.html)和其他许多文章。 –