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

   ## Micronaut-leak audit (post-`228f9a52ce`)
   
   Did a full grep for `io.micronaut` across every `build.gradle` in the main 
`grails-core` multi-project to confirm nothing JDK-25 lives outside the 
`-PskipMicronautProjects` gating. Clean result.
   
   ### Every `build.gradle` referencing `io.micronaut` in the main build
   
   | `build.gradle` | Project | In the island gating? |
   |---|---|---|
   | `grails-bom/micronaut/build.gradle` | `:grails-micronaut-bom` | ✅ |
   | `grails-micronaut/build.gradle` | `:grails-micronaut` | ✅ |
   | `grails-test-examples/micronaut/build.gradle` | 
`:grails-test-examples-micronaut` | ✅ |
   | `grails-test-examples/plugins/issue-11767/build.gradle` | 
`:grails-test-examples-plugins-issue-11767` | ✅ |
   | `grails-test-examples/plugins/micronaut-singleton/build.gradle` | 
`:grails-test-examples-plugins-micronaut-singleton` | ✅ |
   
   Plus the two transitive consumers that depend on `:grails-micronaut` without 
naming `io.micronaut` directly:
   
   - `:grails-test-examples-issue-11767` (`grails-test-examples/issue-11767/`)
   - `:grails-test-examples-micronaut-groovy-only` 
(`grails-test-examples/micronaut-groovy-only/`)
   
   All seven live inside the `if (!skipMicronautProjects) { ... }` block at 
`settings.gradle:511-520`.
   
   ### Heads up: island is 7 projects, not 5
   
   I'd been referring to "5 island projects" in earlier commits and the PR 
description. The correct count from `settings.gradle` is **7 build-graph 
projects** in the island (the two missing in my count were 
`:grails-test-examples-issue-11767` and 
`:grails-test-examples-plugins-issue-11767`). The two `issue-11767` projects 
exist to repro `apache/grails-core#11767` and depend on `:grails-micronaut` + 
`:grails-micronaut-bom`, so they correctly belong in the island gating.
   
   The PUBLISHED subset is still just 2 (`grails-micronaut` plugin + 
`grails-micronaut-bom`), which is what `publishMicronaut` in `gradle.yml` and 
the new JDK 25 publish step in `release.yml` stage. The three test-examples + 
two issue-11767 projects build inside the island but aren't published.
   
   ### `grails-data-graphql` was the only real leak; it's fixed
   
   `grails-data-graphql/plugin` was the only non-island main-build project with 
a direct `io.micronaut.*` dependency, via the rxjava2 HTTP client compileOnly 
in `GraphQLSpec.groovy`. Removed in `228f9a52ce` (replaced with Spring 
`RestClient` + Groovy `JsonSlurper`).
   
   ### `grails-forge/` is intentionally separate
   
   The 50+ `io.micronaut.*` references in `grails-forge/*/build.gradle` are all 
in the **separate composite build** which is itself a Micronaut 4.10.10 app 
(`grails-forge/gradle.properties:27`). Out of scope - the Forge stays on 
Micronaut 4.x regardless of what the main grails-core multi-project does with 
Micronaut 5.
   
   ### Net
   
   Nothing in `grails-core` outside the explicitly-gated 7-project Micronaut 
island pulls Micronaut 5 / JDK 25 onto the JDK 21 classpath. The Forge 
composite is its own Micronaut 4.x universe. Audit clean.
   


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