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]
