gnodet opened a new issue, #13464:
URL: https://github.com/apache/maven/issues/13464

   Part of #13460 — Migrate Maven internals from v3 to v4 API
   
   ## Context
   
   The lifecycle execution pipeline is the **largest v3 hotspot** (~44 files) 
and the heart of Maven's build execution. Every class in the chain operates on 
v3 `MavenSession`, `MavenProject`, and `MojoExecution`.
   
   ## Goal
   
   Migrate the lifecycle engine to work with v4 types internally. This is the 
biggest phase and will likely need to be broken into sub-phases.
   
   ## Key files (non-exhaustive)
   
   **Execution pipeline:**
   - `LifecycleStarter` → `BuildPlanExecutor` → `LifecycleModuleBuilder`
   - `MojoExecutor` (both sequential and concurrent variants)
   - `MultiThreadedBuilder`, `SingleThreadedBuilder`, `BuilderCommon`
   - `ConcurrencyDependencyGraph`
   
   **Plan calculation:**
   - `DefaultLifecycleExecutionPlanCalculator`
   - `DefaultLifecycleTaskSegmentCalculator`
   - `BuildPlan`, `BuildStep`, `BuildPlanLogger`
   
   **Resolution:**
   - `LifecycleDependencyResolver`
   - `LifecyclePluginResolver`
   - `DefaultProjectArtifactFactory`
   
   ## Approach
   
   This phase is large enough to warrant sub-phases:
   1. **Define v4 lifecycle execution interfaces** if needed (or reuse existing 
`MojoExecution` from v4 API)
   2. Migrate plan calculation to v4 types
   3. Migrate `MojoExecutor` to work with v4 `MojoExecution`, `Project`, 
`Session`
   4. Migrate builders (multi-threaded, single-threaded)
   5. Migrate `LifecycleModuleBuilder` and `BuildPlanExecutor`
   
   ## Dependencies
   
   - Requires Project Builder (#13461), Session (#13462), and Graph Builder 
(#13463) to be migrated first
   - The lifecycle engine consumes outputs from all three
   
   ## Complexity
   
   Very high. ~44 files, deeply intertwined. Likely 3-5 sub-phases.
   
   _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]

Reply via email to