-
-
Notifications
You must be signed in to change notification settings - Fork 962
Groovy 5 compatibility #14737
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
base: 7.0.x
Are you sure you want to change the base?
Groovy 5 compatibility #14737
Conversation
# Conflicts: # dependencies.gradle # gradle/functional-test-config.gradle # grails-gradle/plugins/src/e2eTest/groovy/org/grails/gradle/test/GrailsPublishPluginSpec.groovy # grails-test-examples/async-events-pubsub-demo/src/integration-test/groovy/pubsub/demo/TaskControllerSpec.groovy
Groovy's `MetaClassHelper.capitalize` method has been deprecated for removal since Groovy 3.
I have been experimenting with a local snapshot of Spock fixed with Eric's suggestions here: spockframework/spock#2160 (reply in thread) One of the issues I found was:
|
@jdaugherty Yes, I have created a ticket for that here: https://issues.apache.org/jira/browse/GROOVY-11736 |
# Conflicts: # dependencies.gradle
This is an issue with Groovy 5.0.0: |
# Conflicts: # grails-bootstrap/src/main/groovy/org/grails/config/NavigableMap.groovy # grails-core/src/main/groovy/org/grails/compiler/injection/AbstractGrailsArtefactTransformer.java # grails-core/src/main/groovy/org/grails/compiler/injection/GrailsASTUtils.java # grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/reflect/NameUtils.java
These test now pass with Groovy 5.0.1
This fixes compilation error: No explicit/default value found for annotation attribute 'value' in @jakarta.annotation.Generated
I merged 7.0.x into this branch, but there are 2 errors that stand out:
|
GormEntityDirtyCheckable is fixed by adopting the Generated annotation from Groovy - like we use everywhere else. |
Running compileGroovy causes a failure similar to code narc's failure:
But GrailsApplicationPostProcessor implements an onApplicationEvent() so I'm not sure why Groovy is failing to find the inherited method from the parent. I tried variations on this code here: https://github.com/jdaugherty/groovy5.0.1-inheritance-problem - eventually I even included the spring classes and it doesn't fail to compile. There's some edge case I'm missing. To test this: |
This is the start of checking compatibility with Groovy 5 and eventually adding a CI workflow for Groovy 5.0.0-SNAPSHOT.