2014-04-02 39 views
2

我正在嘗試構建一個Grails插件,它將充當其他Grails應用套件的「主插件」。鏈接Grails插件?

我想知道是否有可能以某種方式插件一起transitively?假裝插件甲取決於插件乙,並且Grails的應用GA1用途(安裝)插件甲。當開發者這個插件甲(「主」),以Grails的應用安裝的GA1,他們最終安裝插件甲以及插件乙,傳遞性。

這可能嗎?如果是這樣,怎麼樣?如果沒有,爲什麼,並且有沒有辦法破解這個或者是否有更好的方法來通用地安裝插件?

回答

4

假裝插件A依賴於插件的使用b

這意味着你的Plugin的一個BuildConfig將有:

plugins { 
    compile ':pluginB:...' 
} 

當你在你的應用程序安裝插件A,Grails將自動下載並安裝插件B.

這對於依賴性塊也是如此。所以是的,你可以有一個插件,取決於插件列表和應用程序將安裝所有這些。這是在Grails中使用插件的默認行爲。

相反,如果你想得到插件Ç(如果有任何這是由插件中使用),當插件中在Grails的應用程序使用,那麼你可以選擇性阻斷將Plugin C拉入應用程序的傳遞性。裏面插件A的BuildConfig,您可以指定:

plugins { 
    compile(':pluginC:...') { 
     //makes sure Plugin C is not available 
     //when Plugin A is used in the app 
     export = false 
    } 
} 
+0

新增拉動插件的依賴關係的另一面。 2美分。 ;) – dmahapatro