gnodet commented on issue #13223:
URL: https://github.com/apache/maven/issues/13223#issuecomment-6165463728

   _Claude Code on behalf of Guillaume Nodet_
   
   ## Layer 0 implementation — PR stack
   
   Layer 0 (internalize plexus-classworlds) has been split into three 
incremental PRs:
   
   ### PR A — #13490: Internalize plexus-classworlds and expose stable API
   - Forks `plexus-classworlds` 2.x into `impl/maven-classworlds`
   - New `api/maven-api-classworlds` module with stable `ClassWorld`, 
`ClassRealm`, `Strategy`, exceptions under `org.apache.maven.api.classworlds`
   - Replaces the external `plexus-classworlds` dependency across all modules
   - Backward-compatible: the `org.codehaus.plexus.classworlds` package 
structure is preserved in `impl/maven-classworlds`, so Sisu and embedders 
continue to work unchanged
   
   ### PR B — #13491: Load JLine on module-path for targeted 
`--enable-native-access`
   - Builds on #13490
   - Moves JLine JARs to `lib/modules/` and loads them on the JPMS module-path 
via `m2.conf`
   - Replaces the broad `--enable-native-access=ALL-UNNAMED` with targeted 
grants to `org.jline.terminal.ffm` and `org.jline.nativ`
   - Graceful fallback: JDKs that cannot read the module descriptors continue 
with classpath loading
   
   ### PR C — #13494: Per-plugin JPMS ModuleLayer support
   - Builds on #13490 (independent of #13491)
   - Plugins can opt in via `<modular>true</modular>` in their plugin descriptor
   - Plugin JARs and dependencies are resolved into an isolated per-plugin 
`ModuleLayer` via `Configuration.resolveAndBind()` + 
`defineModulesWithOneLoader()`
   - No fallback — a modular plugin that cannot be loaded as a module causes a 
hard `ModuleLayerCreationException`
   - `ClassRealm` gains `getModuleLayer()`, `isModular()`, `addExports()`, 
`addOpens()` for module access control
   - `PluginRealmCache` keys encode the `modular` flag
   
   All three PRs compile and the classworlds unit tests pass. CI is green on 
#13490.


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