【问题标题】:Chaining Grails Plugins?链接 Grails 插件?
【发布时间】:2014-05-13 02:06:09
【问题描述】:

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

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

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

【问题讨论】:

    标签: grails grails-plugin grails-2.3


    【解决方案1】:

    假设插件 A 依赖于插件 B

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

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

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

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

    相反,如果你想让得到Plugin C(如果有Plugin A使用的),当Plugin A 在 Grails App 中使用,那么您可以选择性地阻止将 Plugin C 拉入应用程序的传递性。在 Plugin A 的 BuildConfig 中,您可以指定:

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

    【讨论】:

    • 添加了拉取插件依赖的另一面。 2 美分。 ;)
    猜你喜欢
    • 2014-06-08
    • 2014-03-10
    • 1970-01-01
    • 2015-07-18
    • 2013-03-22
    • 1970-01-01
    • 2017-09-16
    • 1970-01-01
    • 2020-02-14
    相关资源
    最近更新 更多