Last updated by 2 years ago

Page: Creating Plugins, Version:19

Publishing Plugins

Imagine you have created a new plugin as described in the user guide and that you now want to make it publicly available so that any Grails developer can use it. The process for making this wish a reality is straightforward:

  1. Register on this site if you haven't already done so
  2. Email dev@grails.codehaus.org (you will have to subcribe to the mailing list first) and provide:
    • your grails.org username
    • the name of the plugin (whatever you passed to the create-plugin command)
    • a link to the source code for your plugin
You will then get a response on the dev mailing list as to whether you have been given permission to publish the plugin or not. If for any reason you're rejected, an explanation will be given. Note that it's unlikely that permission will be granted unless the plugin has the appropriate information in the plugin descriptor and at least some effective documentation for getting started.

If your application is successful, then you can publish your plugin right away. Simply install the Release plugin and execute the publish-plugin command:

bc. grails publish-plugin --no-scm

You will be asked for your grails.org credentials (for the repository and the plugin portal) and then your plugin will be published. If that completes successfully, a plugin will be added to the portal automatically at /plugin/<name> @. Review it to check everything is OK.

At the end of this process, your plugin will appear in the output of the @list-plugins command as well as in the plugin portal. And of course users will be able to install the plugin either via a dependency declaration in grails-app/conf/BuildConfig.groovy or via the install-plugin <name> command.

We do recommend that you check out the full Release plugin user guide, because there are many options available to you, including a mechanism to put your grails.org credentials in the ~/.grails/settings.groovy file (so you don't have to enter them every time you publish a plugin).

Next: Understanding Plugins