将就地插件添加到 grails 3 项目

Adding in-place plugin to grails 3 project

在 grails 2.x 中,我们可以通过在 BuildConfig.groovy

中添加以下内容来添加就地插件

grails.plugin.location."my-plugin" = "../my-plugin"

我的问题是,我们能否在 grails3.0 中同样就地添加我们的本地插件,或者在 grails 中有其他方法可以做到这一点。

实际目的是在推送到bintray之前测试插件是否正常工作。

是的,有。 Grails 3 基于 Gradle,因此多项目 gradle 构建可以解决您的问题。

基本上你添加依赖为: compile project(':../my-custom-plugin') 并且必须修改 settings.gradle 以包含插件: include '../my-custom-plugin'

查看 http://grails.github.io/grails-doc/latest/guide/plugins.html

中关于 Plugins and Multi-Project Builds 的 Grails 文档

其他方法是使用 gradle publishToMavenLocal 命令在本地 maven 存储库中安装插件并从那里解析,然后再发布到 Bintray 或其他依赖存储库。

此外,自 Grails 3.1.1 起,'inline' 插件现在支持重新加载。检查 https://github.com/grails/grails-core/releases/tag/v3.1.1 and http://grails.io/post/138665751278/grails-3-gradle-multi-project-builds

这是使用 grails { plugins { 语法完成的。从文档复制:

grails {
    plugins {
        compile ":hibernate"
        compile project(':myplugin')
    }
}

这个multi-project事情有点太大了,无法简短地回答post。我最近才开始使用它,但谢天谢地,我现在掌握了它的窍门。我的网站上有一个教程,其中有一个插件可以使用该插件处理域 类 和服务以及所有其他 sub-projects(本例中只有一个 Web 应用程序)。代码也可以下载。 link:http://www.databaseapplications.com.au/grails-multi-app.jsp 别搞错了,有几点需要注意。