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]
