【问题标题】:grails: are plugins in a plugin, 'migrated' to the project level's plugins?grails:插件中的插件是否“迁移”到项目级别的插件?
【发布时间】:2013-02-18 19:33:11
【问题描述】:

我们有一个名为 Subscriber 的插件。在它的插件中是 build-info 插件。我们可以使用 run-app 运行应用程序并测试订阅者。我们进一步将订阅者定义为 Main 项目的插件。

令我惊讶的是,build-info,插件出现在 Main 的插件列表中。我预计它会被订阅者“封闭”,并且不会立即在 Main 中可见。这是插件插件的明显“迁移”吗?应该发生什么?

我在工作区中搜索了所有“*.groovy”文件中的 build-info 引用。它只出现在两个地方(通过 .link_to_grails_plugins):1. Main 中的 build-info 插件,以及 2. 再次,在 Subscriber 中。因此,我们在 Main 中没有对 build-info 的任何意外的直接引用。

build-info 插件存在于 Subscriber\pluginsMain\plugins$user_home$\.grails\projects\ 中。

一切都应该如此吗?

约翰

【问题讨论】:

    标签: grails plugins


    【解决方案1】:

    如果您在插件中将 build-info 声明为依赖项,则默认情况下 build-info 是订阅者工作必需的

    您可以在依赖项声明中更改此行为。如果你不想导出这个,只需设置:

    plugins {
      runtime(':theplugin:version') {
        export = false
      }
    }
    

    【讨论】:

    • 感谢您的回答,塞尔吉奥。我们确实希望订阅者的构建信息插件在主应用程序中可用。看到它在主应用程序的插件中列出,我感到很惊讶。我想象构建信息将被封装在订阅者中。如果 Grails 是这样工作的,它的存在不是问题。我想检查我所看到的是否正确,并且我们没有两次错误地获得构建信息。约翰
    • 是的,你看到的是正确的,因为“主要需要订阅者和订阅者需要构建信息”。
    • @JohnOrmerod 插件依赖项的工作方式与 maven 等中的标准 jar 文件依赖项的工作方式相同。
    猜你喜欢
    • 2011-01-07
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    • 2012-05-20
    相关资源
    最近更新 更多