-
Notifications
You must be signed in to change notification settings - Fork 12
Upgrade Grails Cache Redis Plugin and Prepare for New Grails 6.x Release #9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
These are the versions we're using for most of our Spieker Point applications.
I assume that the `get(String, Callable<T>)` method signature was added to Spring Framework's Cache interface sometime after this cache-redis plugin was originally developed. For now we'll just ignore the Callable argument, since it isn't having an impact on our usage.
There is now a separate `grails.cache.redis.enabled` config option to allow the cache-redis plugin to be disabled while still having the grails-cache plugin enabled. The change is based off of grails-plugins#8
This is related to ARKLEM-846.
* All functional tests now uses Micronaut Http Client * Using test-containers for Redis instance * Updating documentation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR upgrades the Grails Cache Redis plugin and its test suite for Grails 6.x by modernizing build scripts, configs, documentation, and CI/CD.
- Replace Groovy-based logging with XML Logback config and adjust application YAML.
- Revamp Gradle wrapper scripts (
gradlew
,gradlew.bat
) and bump to Gradle 7.6.4; update plugin/dependency versions. - Add Apache 2.0 license, update README, and introduce GitHub Actions workflows (CI, release, release notes, Renovate).
Reviewed Changes
Copilot reviewed 77 out of 77 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
functional-tests/grails-app/conf/logback.xml | Added XML logging config for functional tests |
functional-tests/grails-app/conf/logback.groovy | Removed old Groovy logging config |
functional-tests/grails-app/conf/application.yml | Updated datasource settings for all environments |
functional-tests/grails-app/conf/TestCacheConfig.groovy | Removed test cache configuration |
functional-tests/gradlew.bat | Revamped Windows Gradle wrapper script |
functional-tests/gradlew | Revamped Unix Gradle wrapper script |
functional-tests/gradle/wrapper/gradle-wrapper.properties | Bumped Gradle distribution to 7.6.4 |
functional-tests/gradle.properties | Updated Grails and Gradle plugin versions |
functional-tests/build.gradle | Migrated build script to modern Gradle DSL |
functional-tests/.gitignore | Added /bin/ to ignore list |
buildSrc/settings.gradle | Configured version catalogs for buildSrc |
buildSrc/build.gradle | Added buildSrc plugin dependencies |
README.md | Updated badges, documentation links, and contributing |
LICENSE | Added Apache 2.0 license text |
.travis.yml | Removed Travis CI config |
.github/workflows/release.yml | Added release GitHub Action workflow |
.github/workflows/release-notes.yml | Added release-drafter workflow |
.github/workflows/gradle.yml | Added Java CI workflow |
.github/renovate.json | Added Renovate bot configuration |
.github/release-drafter.yml | Added release drafter configuration |
Comments suppressed due to low confidence (3)
functional-tests/grails-app/conf/TestCacheConfig.groovy:1
- The test cache configuration was removed entirely; ensure that critical cache behaviors (e.g., eviction and persistence settings) are still covered by existing tests or add new ones.
config = {
functional-tests/grails-app/conf/application.yml:45
- [nitpick] Using a magic number (
2
) for isolation level is unclear; consider re-adding or updating the comment (e.g.,# TRANSACTION_READ_COMMITTED
) for readability.
defaultTransactionIsolation: 2
functional-tests/gradlew.bat:74
- The original
%CMD_LINE_ARGS%
was replaced with%*
, but the-Dorg.gradle.appname
JVM arg and potentially other options may not be applied correctly on Windows; please verify argument propagation and restore missing flags if needed.
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
@matrei any chance you have time to look at this so that I can release a RC1 or perhaps even a GA? |
* @param name cache name | ||
* @param prefix | ||
* @param template | ||
* @param ttl | ||
* @param prefix prefix to use | ||
* @param template Spring template | ||
* @param ttl time to live for cache |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we align the space usage for all the @param
s?
@@ -0,0 +1,9 @@ | |||
[versions] | |||
grails-gradle-plugin = '6.2.0' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update to 6.2.4
?
@@ -0,0 +1,9 @@ | |||
[versions] | |||
grails-gradle-plugin = '6.2.0' | |||
nexus-publish-gradle-plugin = '1.3.0' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update to 2.0.0
?
[versions] | ||
grails-gradle-plugin = '6.2.0' | ||
nexus-publish-gradle-plugin = '1.3.0' | ||
asciidoctor-gradle-plugin = '4.0.2' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update to 4.0.4
?
tasks.named('jar', Jar) { | ||
enabled = true // Enable the jar task again, as the bootJar task has been disabled | ||
archiveClassifier = '' // Remove '-plain' suffix from jar file name | ||
exclude('_testemails', 'messages*.properties') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove? (This looks like leftover from copying from grails-mail
)
gradleWrapperVersion=2.13 | ||
projectVersion=6.0.0-SNAPSHOT | ||
grailsVersion=6.2.3 | ||
javaVersion=17 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove? This seems unused and also has the wrong value.
projectVersion=6.0.0-SNAPSHOT | ||
grailsVersion=6.2.3 | ||
javaVersion=17 | ||
asciidoctorGradlePluginVersion=4.0.4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove? This seems unused and the value is set in buildsrc.libs.versions.toml
.
javaVersion=17 | ||
asciidoctorGradlePluginVersion=4.0.4 | ||
|
||
grailsGradlePluginVersion=6.2.4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove? This seems unused and the value is set in buildsrc.libs.versions.toml
.
asciidoctorGradlePluginVersion=4.0.4 | ||
|
||
grailsGradlePluginVersion=6.2.4 | ||
version=0.1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove? This seems unused and also has the wrong value.
publications { | ||
register('grailsMailPlugin', MavenPublication) { | ||
from javaComponent.get() | ||
versionMapping { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can remove this versionMapping
block.
This PR includes a series of updates and improvements to the Grails Cache Redis plugin in preparation for a new release. Key changes:
🛠️ Framework and Dependency Updates
Upgraded Grails to 6.2.x
Updated Gradle and associated build dependencies to align with newer Grails versions
✅ Functional Improvements
Implemented get() method to satisfy the Cache interface
Allowed cache-redis to be disabled independently of grails-cache
Replaced deprecated JedisShardInfo with RedisStandaloneConfiguration for better compatibility with newer Redis clients
📘 Documentation
Updated plugin documentation to reflect recent changes and usage patterns