jamesfredley commented on PR #15654:
URL: https://github.com/apache/grails-core/pull/15654#issuecomment-4568489254

   ## Carve-out complete - detailed merge order
   
   All the changes that @matrei asked to be reviewed independently have now 
been carved out of this PR into focused, single-topic PRs. This comment is the 
authoritative merge order and a conservation check confirming nothing was lost.
   
   ### The full stack
   
   | PR | Topic | State | Base |
   | :-- | :-- | :-- | :-- |
   | [#15682](https://github.com/apache/grails-core/pull/15682) (PR-B) | Async 
defensive cleanup | **Merged** | `8.0.x` |
   | [#15683](https://github.com/apache/grails-core/pull/15683) (PR-C) | 
`addAllDomainClasses` TCK helper | Open | `8.0.x` |
   | [#15684](https://github.com/apache/grails-core/pull/15684) (PR-D) | 
`DetachedCriteriaSpec` command-chain style | Open | `8.0.x` |
   | [#15685](https://github.com/apache/grails-core/pull/15685) (PR-E) | 
`MongoDatastoreSpec` base class + mongo package rename | Open | `8.0.x` |
   | [#15689](https://github.com/apache/grails-core/pull/15689) (PR-F) | 
`grails-hibernate5-micronaut` BOM (Micronaut BOM split) | Open | `8.0.x` |
   | [#15686](https://github.com/apache/grails-core/pull/15686) (PR-G) | 
`grails-code-analysis` plugin + violation aggregation | Open | `8.0.x` |
   | [#15687](https://github.com/apache/grails-core/pull/15687) (PR-H) | 
`grails-jacoco` plugin + Codecov coverage | Open | 
**`feat/grails-code-analysis-plugin`** (PR-G) |
   | [#15688](https://github.com/apache/grails-core/pull/15688) (PR-I) | 
`grails.gorm.tests` -> `grails.gorm.specs` rename | **Draft** | `8.0.x` |
   
   ### Dependencies
   
   - **PR-H depends on PR-G** - it targets PR-G's branch. Either merge PR-G 
first then retarget PR-H to `8.0.x`, or merge them in order.
   - **PR-I is a draft** pending the naming-convention discussion 
(@borinquenkid). Nothing else depends on it.
   - **B, C, D, E, F, G are mutually independent** and can land in any order.
   
   ### How this PR was reduced
   
   Each carved topic was reverted on this branch (`8.0.x-stage-hibernate7`) via 
three revert commits, matching the original B/C/D/E pattern:
   
   - `ba235da8f7` - B/C/D/E (async, TCK helper, DetachedCriteria style, mongo 
base class + mongo rename)
   - `33412eebc7` - G/H (code-analysis + jacoco infrastructure)
   - `f0d82f64b8` - F/I (h5 Micronaut BOM split + `specs` -> `tests` rename for 
the hibernate5 and datamapping test trees)
   
   The reverts only shrink this PR's visible diff. Once a carved PR lands on 
`8.0.x` and `8.0.x` is merged back into this branch, the reverted content 
returns through the merge, so the **final state of `8.0.x-stage-hibernate7` is 
unchanged**.
   
   ### Recommended merge sequence
   
   1. Land whichever of **C, D, E, F** the team approves on `8.0.x` 
(independent; B already merged).
   2. Land **G** (code-analysis) on `8.0.x`, then retarget **H** (jacoco) to 
`8.0.x` and land it.
   3. If the team keeps the rename, land **I** (`tests` -> `specs`) on `8.0.x`. 
If not, close it - this branch already reverted it, so no further action is 
needed here.
   4. Merge `8.0.x` into `8.0.x-stage-hibernate7`. The revert commits plus the 
incoming carved changes reconcile to the intended end state.
   5. Apply the Hibernate 7 mirror pass (see caveat below).
   6. Merge this PR (**#15654**) last, now reduced to the actual hibernate5 -> 
hibernate7 clone.
   7. Rebase Step 2 
([#15568](https://github.com/apache/grails-core/pull/15568)) on the updated 
stage branch.
   
   ### Hibernate 7 mirror caveat (important)
   
   The carved PRs are based on `8.0.x`, which does not yet contain the 
Hibernate 7 modules. So three things that the carved PRs add to the 
**hibernate5/original** modules must be mirrored onto the **hibernate7 clone** 
modules after the merge-back, because no `8.0.x`-based PR can touch files that 
only exist here:
   
   - the `grails-code-analysis` / `grails-jacoco` plugin `apply`-lines on the 
`grails-data-hibernate7/*` modules (and their PMD/SpotBugs opt-out 
`gradle.properties`), and
   - the `grails.gorm.tests` package naming on the hibernate7 `core` test tree, 
if PR-I lands.
   
   These were removed here so this PR compiles cleanly without the carved 
plugins; re-applying them to the h7 clone is part of finalizing this PR after 
the merge-back, and keeps the h7 modules a faithful mirror of h5.
   
   ### Conservation check
   
   Every file the reverts removed from this branch is present in its standalone 
PR (verified): all `grails-code-analysis` / `grails-jacoco` / 
violation-aggregation sources, workflows, the PMD ruleset and plugin specs are 
in PR-G/PR-H; the h5 Micronaut BOM and its sample app are in PR-F; the 
`specs`/`tests` rename for h5 + datamapping is in PR-I (mongo in PR-E). All 
Hibernate 7-specific content - the h7 BOM, h7 Micronaut BOM, the 
`micronaut-hibernate7` sample, and the `grails-data-hibernate7/*` modules - 
remains here on this PR.
   
   ### Copilot review
   
   All Copilot feedback across B-I has been addressed, replied to, and resolved 
(zero unresolved Copilot threads remain on any of them).
   


-- 
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