GitHub user jamesfredley edited a discussion: Volunteer Effort to update Existing Grails Plugins for Grails 7
Let's use this discussion to coordinate requests for Grails plugins that need updates for Grails 7, along with volunteers willing to take them on. The `om.netflix.nebula.jakartaee-migration` Gradle plugin is a convenient way to resolve the `javax` to `jakarta` changes for older Grails plugins: https://grails.apache.org/docs/snapshot/guide/upgrading.html#_12_2_javax_jakarta **The vast majority of Grails plugins have historically been maintained by external developers.** Now that Grails is under the Apache Foundation, all contributions—including plugin maintenance—are handled entirely by volunteers. As outlined in the [upgrading guide](https://grails.apache.org/docs/latest/guide/upgrading.html#_12_1), all Grails plugins require updates to be compatible with Grails 7. The most common and primary plugins have already been updated, but for the others, we recommend reaching out to the original authors first. Keep in mind there are hundreds of plugins accumulated over the past 20 years, so community involvement is key. With Grails 7 several additional best practices have been applied to existing plugins. A few good examples: - https://github.com/grails-plugins/grails-audit-logging-plugin - https://github.com/apache/grails-redis These steps include: - separating the plugin from the test/example project(s) for the plugin - adjusting Gradle configuration scope for dependencies always provided by the end Grails project to `compileOnly` or `testImplementation` - setting springDependencyManagement = false to generate a simpler POM file - Utilizing Grails dependency starters: `compileOnly "org.apache.grails:grails-dependencies-starter-web"` and `testImplementation "org.apache.grails:grails-testing-support-web"` - ensuring github actions are setup to build your plugin - using grailsPublish to ensure your sources, javadoc, groovydoc, etc are published correctly If an author is no longer interested in maintaining their plugin, it can be transferred to either [grails-plugins](https://github.com/grails-plugins/) or [gpc](https://github.com/gpc/). However, this requires an end user or volunteer to step up, complete the necessary updates, and commit to ongoing maintenance. The update process typically takes just 1 to a few hours, and future maintenance is usually minimal—unless the plugin has pre-existing issues that need addressing. Once a plugin is updated, submit the details via a pull request to [grails-plugins.json](https://github.com/apache/grails-plugins-metadata/blob/main/grails-plugins.json), which feeds into the official plugin list at [grails.apache.org/plugins.html](https://grails.apache.org/plugins.html). Feel free to share specific plugin requests or your availability to volunteer in the comments below! **List of Grails Plugins moved to Apache:** | old group id | old artifact id | new group id | new artifact id| | -------- | ------- |------- |------- | |org.grails.plugins |cache |org.apache.grails |grails-cache |org.grails.plugins |database-migration |org.apache.grails |grails-data-hibernate5-dbmigration |org.grails.plugins |fields |org.apache.grails |grails-fields |org.grails.plugins |geb |org.apache.grails |grails-geb |org.grails.plugins |quartz |org.apache.grails |grails-quartz |org.grails.plugins |grails-redis |org.apache.grails |grails-redis |org.grails.plugins |scaffolding |org.apache.grails |grails-scaffolding |org.grails.plugins |spring-security-acl |org.apache.grails |grails-spring-security-acl |grails-spring-security |org.grails.plugins |spring-security-cas |org.apache.grails |grails-spring-security-cas |grails-spring-security |org.grails.plugins |spring-security-core |org.apache.grails |grails-spring-security |grails-spring-security |org.grails.plugins |spring-security-ldap |org.apache.grails |grails-spring-security-ldap |grails-spring-security |org.grails.plugins |spring-security-oauth2 |org.apache.grails |grails-spring-security-oauth2 |grails-spring-security |org.grails.plugins |spring-security-rest |org.apache.grails |grails-spring-security-rest |grails-spring-security |org.grails.plugins |spring-security-rest-gorm |org.apache.grails |grails-spring-security-rest-datamapping |grails-spring-security |org.grails.plugins |spring-security-rest-grailscache |org.apache.grails |grails-spring-security-grails-cache |grails-spring-security |org.grails.plugins |spring-security-rest-memcached |org.apache.grails |grails-spring-security-rest-memcached |grails-spring-security |org.grails.plugins |spring-security-rest-redis |org.apache.grails |grails-spring-security-rest-redis |grails-spring-security |org.grails.plugins |spring-security-ui |org.apache.grails |grails-spring-security-ui GitHub link: https://github.com/apache/grails-core/discussions/15044 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
