Conversation
Summary of Changes 1. Version Upgrades - Grails: Updated from '6.2.3' to '7.0.7'. - Java: The Minimum version increased from '11' to '17'. - Gradle: Wrapper upgraded from '7.6.6' to '8.14.4'. - Plugin Version: Incremented from '4.0.1-SNAPSHOT' to '5.0.0-SNAPSHOT'. 2. Dependency Management & Repositories - Repositories: Switched from 'https://repo.grails.org/grails/core' to 'https://repo.grails.org/grails/restricted'. - BOM Usage: Introduced the Grails Bill of Materials ('grails-bom') for consistent dependency management. - Updated Plugins: - 'asset-pipeline' moved to 'cloud.wondrify:asset-pipeline-gradle'. - 'grails-mail' updated to '5.0.3'. - 'grails-quartz' updated to '4.0.0' (group changed from 'org.grails.plugins' to 'org.apache.grails'). - Removed explicit 'micronaut-inject-groovy' dependencies. 3. Namespace Migration (Jakarta EE) - The plugin has migrated from 'javax.*' to 'jakarta.*' namespaces, which is required for Grails 7/Spring Boot 3 compatibility: - 'javax.annotation.Resource' → 'jakarta.annotation.Resource' - 'javax.activation.*' → 'jakarta.activation.*' - 'javax.mail.*' → 'jakarta.mail.*' 4. Code Improvements & Refactoring - 'AsynchronousMailMessage.groovy': Replaced 'org.apache.commons.lang.StringUtils.isBlank()' with Java/Groovy's native APIs, reducing dependency on Apache Commons Lang. - 'Validator.java': Added Javadoc to the 'isMailbox' method to eliminate compiler warnings. - Plugin Definition: Updated 'grailsVersion' constraint in 'AsynchronousMailGrailsPlugin.groovy' to '"7.0.0 > *"'. 5. Documentation - Updated 'README.md' to include installation instructions for Grails 7.x using version '5.0.0' of the plugin.
|
I’ve been happily using the grails-asynchronous-mail While upgrading my application from Grails 6.2.3 to 7.0.7, I discovered that io.github.gpc:asynchronous-mail:4.0.0 is no longer compatible with Grails 7. To unblock my upgrade, I forked the project and made a set of changes to bring the plugin in line with Grails 7.x. I’ve tested the updated plugin with Grails 7.0.6 and 7.0.7, and it’s now successfully integrated and running in my application. I’d like to share these changes with the community by contributing them back to the project. I’m happy to adjust the implementation based on any feedback or suggestions. |
|
Thanks @curd0! |
|
Sure, no problem, I can live with a fork for a while. Looking forward for the official release! |
1. Version Upgrades
6.2.3to7.0.7.11to17.7.6.6to8.14.4.4.0.1-SNAPSHOTto5.0.0-SNAPSHOT.2. Dependency Management & Repositories
https://repo.grails.org/grails/coretohttps://repo.grails.org/grails/restricted.grails-bom) for consistent dependency management.asset-pipelinemoved tocloud.wondrify:asset-pipeline-gradle.grails-mailupdated to5.0.3.grails-quartzupdated to4.0.0(group changed fromorg.grails.pluginstoorg.apache.grails).micronaut-inject-groovydependencies.3. Namespace Migration (Jakarta EE)
javax.*tojakarta.*namespaces, which is required for Grails 7/Spring Boot 3 compatibility:javax.annotation.Resource→jakarta.annotation.Resourcejavax.activation.*→jakarta.activation.*javax.mail.*→jakarta.mail.*4. Code Improvements & Refactoring
AsynchronousMailMessage.groovy: Replacedorg.apache.commons.lang.StringUtils.isBlank()with with Java/Groovy's native APIs, reducing dependency on Apache Commons Lang.Validator.java: Added Javadoc to theisMailboxmethod to eliminate compiler warnings.grailsVersionconstraint inAsynchronousMailGrailsPlugin.groovyto"7.0.0 > *".5. Documentation
README.mdto include installation instructions for Grails 7.x using version5.0.0of the plugin.