2

我正在尝试构建一个 Grails 插件,它将充当一套其他 Grails 应用程序的“主插件”。

我想知道是否有可能以某种方式将插件链接在一起传递?假设Plugin A依赖于Plugin B,并且Grails App GA1使用(安装)Plugin A。当开发人员将插件 A(“主”)安装到Grails App GA1时,他们最终会传递地安装插件 A插件 B

这可能吗?如果是这样,怎么做?如果不是,为什么,有没有办法破解这个,或者有没有更好的方法来安装插件?

4

1 回答 1

4

假设插件 A 依赖于插件 B

这意味着您的插件 A BuildConfig 将具有:

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

当您在应用程序中安装插件 A 时,Grails 也会自动下载并安装插件 B。

对于依赖项块也是如此。所以的,您可以拥有一个依赖于插件列表的插件,并且应用程序将安装所有这些插件。这是在 Grails 中使用插件的默认行为。

相反,如果你不想获取Plugin C(如果有 Plugin A 使用的),当Plugin A在 Grails App 中使用时,你可以选择性地阻止将 Plugin C 拉入应用程序的传递性。在插件 A 的BuildConfig中,您可以指定:

plugins {
    compile(':pluginC:...') {
        //makes sure Plugin C is not available 
        //when Plugin A is used in the app
        export = false 
    }
}
于 2014-04-02T02:48:31.540 回答