2014-04-02 36 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