apache / apache/grails-core

Document Plugin Best Practices

Open
#15,326 2 comments 1 reaction 1 assignee Claimed by @jdaugherty View on GitHub
relates-to: documentation
Dominant language
Groovy
Stars
2.9k
Forks
975
Avg merge
1d 22h
Merged PRs (30d)
92

Description

### Issue description

The Grails documentation does a great job on how to create a plugin, but after the upgrade to Grails 7 we have learned several best practices. These practices should be added to the documentation.

Should be based on https://github.com/grails-plugins/grails-server-timing

Some topics that need included:
1. Build: Using a multiproject build to separate example/test code from plugin code
2. Continuous Builds: Adopting CI via GitHub actions (https://github.com/apache/grails-github-actions)
3. Publishing: Publishing configuration (https://github.com/apache/grails-gradle-publish)
4. Init: Publishing a github template for getting started
5. Documentation: How to publish documentation
6. Development: Easy environment configuration by adopting sdkman
7. Licensing: Ensuring licensing is clear and recommending the ASF license by default
8. Build: Gradle multiproject design using composition instead of if/else in the root of the project
9. Discoverability: Adding the plugin to our index of plugins (https://github.com/apache/grails-plugins-metadata)
10. Advanced Design: when to include the Grails Plugin Gradle Plugin and went to not.
11. Testing: testing approaches and how to ensure the project is maintained longer term.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.