gnodet opened a new issue, #13466:
URL: https://github.com/apache/maven/issues/13466
Part of #13460 — Migrate Maven internals from v3 to v4 API
## Context
`DefaultMaven` is the top-level build orchestrator. It has ~42 references to
v3 types vs only ~7 to v4 API. Once all subsystems below it are migrated, it
can work with v4 types directly.
The CLI (`maven-cli/MavenInvoker`) is mixed — it uses some v4 services but
ultimately drives `Maven.execute(MavenExecutionRequest)` and processes v3
`MavenExecutionResult`.
## Goal
Final phase: make the orchestrator and CLI work with v4 types natively.
## Key files
- `impl/maven-core/.../DefaultMaven.java`
- `impl/maven-cli/.../MavenInvoker.java`
- `impl/maven-core/.../execution/MavenExecutionRequest.java`
- `impl/maven-core/.../execution/MavenExecutionResult.java`
## Approach
1. `DefaultMaven` creates a v4 `Session` directly (instead of v3
`MavenSession`)
2. Calls v4 graph builder, v4 lifecycle executor
3. v3 `MavenExecutionRequest` / `MavenExecutionResult` become compat
wrappers or are replaced by v4 equivalents
4. CLI creates v4 session and invokes v4 entry points
## Dependencies
- This is the **final phase** — requires all previous phases to be complete:
- Project Builder (#13461)
- Session (#13462)
- Graph Builder (#13463)
- Lifecycle (#13464)
- Plugin System (#13465)
## Complexity
Medium once dependencies are done. `DefaultMaven` is a single (central) file.
_Claude Code on behalf of Guillaume Nodet_
--
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]