Conversation
This reverts commit 457d6cd.
# Conflicts: # build.gradle # dependencies.gradle # grails-forge/build.gradle # grails-gradle/build.gradle
# Conflicts: # buildSrc/build.gradle # dependencies.gradle # grails-bootstrap/src/main/groovy/org/grails/config/NavigableMap.groovy # grails-gradle/buildSrc/build.gradle
# Conflicts: # dependencies.gradle # gradle/test-config.gradle # grails-forge/settings.gradle # settings.gradle
|
9574fe8 - should be a comprehensive list of the remaining Groovy 5 issues which need to be addressed, not necessary the solutions. |
It seems the way we solved this was making it dynamically resolve, while before it was compilestatic. These don't seem like real solutions - the developer impact of method resolution is going to be very painful. |
|
@jamesfredley we should recreate this PR so your change shows correctly in the diff history. |
Why GormEntity Works but HibernateEntity Didn'tThe issue is NOT that Groovy 5 prohibits static methods in traits.
The Technical ProblemWhen a Java file in the same module imports a Groovy trait with static methods that return generic type parameters ( // Generated stub (INVALID Java)
@groovy.transform.Generated() static java.util.List<D> findAllWithSql(java.lang.CharSequence sql);
// ^ ERROR: non-static type variable D
// cannot be referenced from static contextIn Java, you cannot use a class-level type parameter ( Protential SolutionApproach: Remove Java Import via ReflectionInstead of removing the static methods from the trait, we modified Updated commit with this change: 425d2da Approach: move class locations to other modules or change Java Class to Groovy Class@jdaugherty these commits are not indented to be part of the real PR they are just a map for the real commit, it identifies everything that breaks trying to build. |
# Conflicts: # gradle.properties # grails-core/src/test/groovy/org/grails/plugins/BinaryPluginSpec.groovy
🚨 TestLens detected 295 failed tests 🚨Here is what you can do:
Test Summary
🏷️ Commit: 393bbfd Test Failures (first 5 of 295)ApiDelegateSpec > Test that delegate methods are added (:grails-core:test in CI / Build Grails-Core (macos-latest, 21))ApiDelegateSpec > Test that subclasses can have methods added for classes declared to use the parent class (:grails-core:test in CI / Build Grails-Core (macos-latest, 21))CacheableParseSpec > test include tenant id when used with @CurrentTenant (:grails-cache:test in CI / Build Grails-Core (macos-latest, 21))CacheableParseSpec > test include tenant id when used with @CurrentTenant and @transactional (:grails-cache:test in CI / Build Grails-Core (macos-latest, 21))ConfigMapSpec > should support merging ConfigObject maps (:grails-bootstrap:test in CI / Build Grails-Core (macos-latest, 21))Muted TestsNote Checks are currently running using the configuration below. Select tests to mute in this pull request: 🔲 AcceptHeaderParserSpec > testAcceptExtensionWithCustomVndTypeAndVersion Reuse successful test results: 🔲 ♻️ Only rerun the tests that failed or were muted before Click the checkbox to trigger a rerun: 🔲 Rerun jobs Learn more about TestLens at testlens.app. |
Supersedes #14737