Adding in-place plugin to grails 3 project

2020-03-24 03:27发布

In grails 2.x, we were allowed to add an in place plugin by adding following in BuildConfig.groovy

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

My question is, can we add our local plugins similarly in-place in grails3.0 as well or there is some other way to do this in grails.

Actual purpose is to test the plugin whether it's working properly or not before pushing it to bintray.

2条回答
一纸荒年 Trace。
2楼-- · 2020-03-24 03:52

Yes, there is. Grails 3 is based on Gradle so multi-project gradle builds solve your issue.

Basically you add dependency as: compile project(':../my-custom-plugin') and has to modify settings.gradle to include plugin: include '../my-custom-plugin'

Check Grails documentation on Plugins and Multi-Project Builds in http://grails.github.io/grails-doc/latest/guide/plugins.html

Other way is to install plugin in local maven repository using gradle publishToMavenLocal command and resolve if from there, before publishing to Bintray or other dependency repository.

Additionally since Grails 3.1.1, reloading is now supported for 'inline' plugins. Check https://github.com/grails/grails-core/releases/tag/v3.1.1 and http://grails.io/post/138665751278/grails-3-gradle-multi-project-builds

It is done using grails { plugins { syntax. Copied from docs:

grails {
    plugins {
        compile ":hibernate"
        compile project(':myplugin')
    }
}
查看更多
Rolldiameter
3楼-- · 2020-03-24 04:08

This multi-project thing is a bit too big to answer in a short post. I just recently started with it, but, thankfully, I now have the hang of it. There's a tutorial on my site with a plugin handling the domain classes and services and all other sub-projects (just one, a web application in this example) using the plugin. The code is also downloadable. Here's the link: http://www.databaseapplications.com.au/grails-multi-app.jsp Make no mistake, there are a few things to watch out for.

查看更多
登录 后发表回答