我要设计一个插件,它是操作系统的特定要求。 取决于OS(MAC或Windows),插件的内容会有所不同。
目前,我们正在维护两个不同的插件,一个用于Windows和其他的MAC,插件ID的com.core.win和com.core.mac。
我的主要插件是依赖于上述插件。 但正如我的插件ID是不同的操作系统而定,这两个插件在插件的依赖添加为“可选”。
com.core.win; resolution:=optional,
com.core.mac; resolution:=optional
但在现实的依赖是必须的,“需要”。 如何设计我的插件结构,使得紧张的依赖性可以被定义? 有没有什么标准溶液的方法呢?
谢谢!
通常你必须为每个平台的平台特定的片段一个基本的插件。
您可以使用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编辑这是在“概览”选项卡上的“常规信息”部分的“平台过滤器”字段。
下面是关于片段一个很好的介绍,Eclipse的PDE帮助也有文档。 此外,SWT是平台特定的代码段的使用情况的一个很好的例子。 见这个FAQ条目以了解如何获得检查SWT代码(你不需要进行实际的构建和出口的部分)。