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]

Reply via email to