gnodet opened a new pull request, #12135:
URL: https://github.com/apache/maven/pull/12135

   ## Summary
   
   - Add explicit `module-info.java` to 17 modules (11 API + 6 impl) with 
proper `requires`, `exports`, `uses`, and `provides` directives
   - Add `Automatic-Module-Name` manifest entries to all 17 remaining modules 
(4 impl + 13 compat) via `maven-jar-plugin` configuration in root POM
   - Resolves #11642
   
   ## Details
   
   ### Modules with `module-info.java` (17)
   
   **API modules (11):** `maven-api-annotations`, `maven-api-di`, 
`maven-api-xml`, `maven-api-metadata`, `maven-api-model`, `maven-api-settings`, 
`maven-api-toolchain`, `maven-api-plugin`, `maven-api-core`, `maven-api-spi`, 
`maven-api-cli`
   
   **Impl modules (6):** `maven-di`, `maven-xml`, `maven-support`, `maven-impl` 
(open module), `maven-jline`, `maven-logging`
   
   ### Modules with `Automatic-Module-Name` only (17)
   
   **Impl (4):** `maven-core`, `maven-cli`, `maven-executor`, `maven-testing` — 
cannot use `module-info.java` due to split packages with compat modules or 
complex DI/compat dependencies
   
   **Compat (13):** All compat modules — split packages among themselves 
prevent named module status
   
   ### Notable decisions
   
   - `maven-impl` is an `open module` because Maven's DI framework needs 
reflective access to instantiate components
   - `maven-cli` was originally planned for `module-info.java` but was 
downgraded to `Automatic-Module-Name` due to split packages between compat 
modules it depends on (e.g., `org.apache.maven.settings` in both 
`maven-settings` and `maven-core`)
   - `maven-api-model` declares `uses ModelObjectProcessor` for ServiceLoader 
support
   - `maven-impl` declares `uses RootDetector` for ServiceLoader support
   - `maven-impl` surefire configured with `useModulePath=false` to preserve 
existing test behavior
   
   ## Test plan
   
   - [x] `mvn verify -B -DskipTests` — all 34 modules compile successfully
   - [x] `mvn verify -B` — all tests pass except pre-existing failures 
unrelated to this PR (Mimir daemon tests in maven-cli/maven-executor, DI 
binding tests in maven-impl that also fail on master)
   - [x] Verified `jar --describe-module` shows correct module descriptors for 
all 17 module-info modules
   - [x] Verified `Automatic-Module-Name` manifest entries present in all 17 
remaining module JARs
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


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