jamesfredley commented on PR #15654: URL: https://github.com/apache/grails-core/pull/15654#issuecomment-4615506805
## Merge-back + Hibernate 7 mirror pass complete `8.0.x` has been merged into this branch and the post-merge Hibernate 7 mirror pass applied. Pushed as four commits: | Commit | What | | :-- | :-- | | `9c17ce7870` | Merge `8.0.x` into `8.0.x-stage-hibernate7` | | `5549cece1c` | Mirror PR-C `registerDomainClasses` onto the 27 hibernate7 test specs | | `7931bc72a6` | Mirror PR-H `grails-jacoco` onto the 6 hibernate7 modules | | `637da9ce75` | Register domain classes in two h7 specs the new TCK API requires | ### Merge-back The carved PRs that landed on `8.0.x` returned through the merge - **B** (async cleanup), **C** (`registerDomainClasses`), **F** (h5 Micronaut BOM), **G** (code-analysis), **H** (jacoco). The ones we declined stayed out - **D** (`DetachedCriteria` command-chain style), **E** (Mongo base spec / package rename), **I** (`tests` -> `specs`). Conflict resolution took the finalized `8.0.x` content for the shared / hibernate5 / datamapping trees, while preserving the hibernate7-specific adaptations that a blunt "take theirs" would have dropped: - `hibernate7.gorm.suite` `@IgnoreIf` / `@PendingFeatureIf` skips on the shared TCK specs (`GroovyProxySpec`, `NullValueEqualSpec`, `OptimisticLockingSpec`, `PagedResultSpec`, `ValidationSpec`), plus the dead `hibernate6` -> `hibernate7` rename; - the deliberate `contextAvailable` guard on `QueryEventsSpec` / `SessionCreationEventSpec` (kept, but adopting `8.0.x`'s `registerDomainClasses`); - the `Hibernate5*` spec renames and the `grails.gorm.tests.entities` subpackage (re-added the entity imports `DetachedCriteriaJoinSpec` lost when it took the finalized `8.0.x` body with the new LEFT-JOIN subquery test). ### Hibernate 7 mirror pass (what `8.0.x` cannot carry) Because the `grails-data-hibernate7` clone does not exist on `8.0.x`, three carve-outs had to be mirrored here after the merge-back: - **PR-C** (`5549cece1c`): the merged `GrailsDataTckManager` makes `domainClasses` a private set with an **empty** default, so `manager.domainClasses.addAll([...])` no longer compiles. Migrated the 27 affected h7 specs to `registerDomainClasses(...)`. Two more specs used patterns the bulk migration didn't match (no `setupSpec`; `domainClasses +=`) and are fixed in `637da9ce75` (`HibernateOptimisticLockingSpec`, `HibernateValidationSpec`) to match their hibernate5 counterparts. - **PR-H** (`7931bc72a6`): added the `grails-jacoco` apply-line to the six h7 modules so each matches its hibernate5 counterpart. `grails-code-analysis` is intentionally **not** applied per-module - the finalized carve-out applies it only at the root via `grails-violation-aggregation`, and no per-module PMD/SpotBugs `gradle.properties` exist - so none were added here. - **PR-F** (Micronaut BOM) was already mirrored earlier in `76123ad48a`; **PR-B** has no hibernate7 footprint. ### Verification `./gradlew clean aggregateViolations :grails-test-report:check --continue` -> **BUILD SUCCESSFUL**: - aggregated tests: **9366 run, 0 failures, 0 errors, 241 skipped**; - `:grails-data-hibernate7-core:test`: **571 run, 0 failures, 26 skipped** (the `@IgnoreIf(hibernate7.gorm.suite)` ones); - all four violation reports (Checkstyle, CodeNarc, PMD, SpotBugs): **No violations found**. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
