Fund m2e Migration to Maven 4 Runtime
Proposal Summary ----------------- Maven 4 is approaching release and brings substantial architectural changes (new provisioning model, resolver/model changes, revised extension and plugin APIs, and a distinct runtime layout from Maven 3). m2e, the Eclipse IDE's Maven integration, embeds and drives the Maven runtime directly, and its correct operation depends on deep, version-specific integration with Maven internals rather than only its public APIs. A working, in-progress effort already exists (eclipse-m2e/m2e-core PR #2053, "Use Maven 4 as the runtime for m2eclipse"), which demonstrates both the feasibility and the scope of the task: m2e needs to run on Maven 4 as its default embedded runtime going forward, while still offering Maven 3.9 as an optional, separately installable runtime for users who are not yet ready to migrate (as already done for the 3.9.6 runtime). Why This Cannot Rely on Volunteer Effort Alone ----------------------------------------------- - Depth of integration: m2e's core (project configuration, workspace resolution, incremental builds, launching, embedder lifecycle) is tightly coupled to Maven internals. Every internal change in Maven 4 potentially ripples through m2e's build path, dependency resolution, and IDE tooling. - Breadth of impact: The change touches nearly every subsystem of m2e: the embedded Maven distribution, dependency/model resolution, project configurators, connectors (m2e-extension) API compatibility, and regression testing across both Maven 3 and 4 runtimes simultaneously. - Compatibility risk: m2e must keep supporting existing Maven 3 projects and third-party m2e connectors while introducing Maven 4 support, requiring careful abstraction work and non-trivial testing across two runtime generations. - Sustained availability: This is not a one-off patch but a multi-month effort requiring continuous attention as Maven 4 stabilizes toward its final release, along with follow-up fixes as real-world projects and connectors surface issues. This level of sustained, predictable commitment is very hard to obtain from unpaid volunteer contributions, especially given the complexity and the risk of regressions for the entire m2e user base. - Ecosystem-wide benefit: Every Eclipse IDE user working with Maven depends on m2e. Without a properly funded, coordinated migration, the community risks either a delayed, poor-quality transition to Maven 4, or prolonged fragmentation between Maven 3 and Maven 4 tooling support. Proposed Scope of Funded Work ------------------------------ 1. Complete and stabilize the Maven 4 runtime integration started in eclipse-m2e/m2e-core#2053, including embedder lifecycle, dependency resolution, and project configuration paths. 2. Ensure continued support for Maven 3.9.x as an optional runtime, preserving backward compatibility for existing users and connectors. 3. Update and validate the m2e connector/extension API surface against Maven 4 so third-party m2e extensions continue to work or receive clear migration guidance. 4. Extend automated test coverage (unit/integration/build) to run against both Maven 3 and Maven 4 runtimes. 5. Address regressions and compatibility issues reported by the community during the Maven 4 stabilization period. Expected Outcome ----------------- A production-ready m2e release that runs on Maven 4 by default, with Maven 3.9 available as a supported fallback runtime, ensuring the Eclipse IDE remains a first-class, up-to-date environment for Maven-based development and avoiding a prolonged, unfunded, best-effort migration that could degrade the experience for the entire Eclipse Maven user base. Reference --------- - Work-in-progress PR: https://github.com/eclipse-m2e/m2e-core/pull/2053
issue

Copyright © Eclipse Foundation AISBL. All rights reserved.     Privacy Policy | Terms of Use | Copyright Agent