2016-08-26 33 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)和其他許多文章。 –