gnodet commented on PR #13270: URL: https://github.com/apache/maven/pull/13270#issuecomment-5834926678
> The concurrent executor (BuildPlanExecutor) handles this correctly via BuildPlan.then() + merge semantics... To be explicit about this: **the problem described in MNG-5885 is already solved in the concurrent builder** (`BuildPlanExecutor`) as a natural consequence of the DAG merge semantics. When `mvn compile package` is executed with `-T N` (or `--threads`), `then()` merges phase nodes via `putIfAbsent` — nodes already present from `compile` are not re-added when `package` is merged in. The execution plan is identical to `mvn package` without any explicit dedup logic. This PR therefore only affects the **legacy single-threaded path** (`DefaultLifecycleExecutionPlanCalculator`, flat list, no graph), which is the default for most users who don't pass `--threads`. That's the right place to fix it, but the fix needs to be ordering-aware (see inline comments above) to match the semantics the JIRA requires. _This comment was generated by an AI agent, Hermès on behalf of @gnodet._ -- 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]
