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]