Grails 3.2.9自定义插件依赖项

时间:2017-05-30 15:32:05

标签: maven grails gradle grails-3.0

是否可以在Grails 3中制作一个自定义插件依赖于另一个自定义插件?这是我的项目结构:

  • grails3家庭
    • 对myApp
    • customPlugin1
      • 的build.gradle
      • settings.gradle
    • customPlugin2 ...

我想使customPlugin1依赖于customPlugin2。我读过的所有内容都表明这可以通过Grails 3中的应用程序和插件之间的多项目构建实现。而且我可以在myApp中将这两个插件声明为依赖项而没有任何问题。但是,我没有成功地让这两个插件之间的工作。

我已将以下行添加到customPlugin1> settings.gradle

include "customPlugin2"

到customPlugin1>的build.gradle

grails {
    plugins {
        compile project(':customPlugin2')
    }
}

但是当我尝试构建customPlugin1时,我收到以下错误:

失败:构建因异常而失败。

  • 出了什么问题: 配置根项目'customPlugin1'时出现问题。
      

    无法解析配置':runtime'的所有依赖项。   Project:声明从配置'compile'到配置'default'的依赖项,它没有在project:customPlugin2的描述符中声明。

是否有人知道我正在尝试做什么是可能的,如果是的话,我可能会缺少什么?

更新 如果我将配置更改为

include "../customPlugin2"

grails {
    plugins {
        compile project(':../customPlugin2')
    }
}

插件构建成功,但我无法再将customPlugin2中的域类导入customPlugin1域类

1 个答案:

答案 0 :(得分:0)

您应该在root settings.gradle

中执行include

include 'myApp', 'customPlugin1', 'customPlugin2'

然后在插件1中:

grails {
    plugins {
        compile project(':customPlugin2')
    }
}

请注意,这只是定义了一个依赖项。如果你需要在插件1之前或之后加载插件2,你需要在插件描述符中定义它。