The m2e project is a proposed open source project under the Eclipse Technology Project. This document describes the content and the scope of the proposed project. This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare its intent and scope. You are invited to comment on and/or join the project. Please send all feedback to the http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.m2e newsgroup.
Maven is a widely used tool for build and release engineering which focuses on headless operation to facilitate automation. Maven is language agnostic and has tool chains for working with Java, .NET, and C/++. The Apache Maven project also has sub-projects which deal specifically with binary artifact repositories (Maven Artifact), SCM abstraction (Maven SCM), Testing abstraction (Maven Surefire), and rapid project prototyping (Maven Archetype). Eclipse is the most widely used IDE, users demand parity between the IDE and headless operations, and so it is natural that users are also demanding seamless integration between Maven and Eclipse. The m2eclipse project's primary focus will be creating this seamless integration between Maven and Eclipse, and we would like to bring this effort to the Eclipse Foundation.
The longest standing effort to unify the Maven and Eclipse worlds has been m2eclipse project at Codehaus. The m2eclipse (m2e) project has rich integration with Maven features, a large community of users, and collaboration with key Maven community members responsible for critical pieces of technology. Examples include the Maven Embedder (Jason van Zyl), Archetype (Jason van Zyl, Raphael Pieroni), and Proximity (Tamas Cservenak). The m2eclipse lead developer, Eugene Kuleshov, is also a committer on projects like Subclipse, and Mylyn which affords us the opportunity for great integration with these tools. So from the perspective of diversity, the m2eclipe project is positioned to create solid integration between Maven and Eclipse.
The m2eclipse project currently has rudimentary integration which allows the issueManagement element of Maven's POM to help bootstrap a typical developer's Mylyn setup. We have many plans for richer integration and look forward to working with the Mylyn team.
The m2eclipse project would like to work with the P2 team to provide integration between Maven repositories and P2. This would allow provisioning runtimes and Eclipse environments from Maven repositories that have been populated with OSGi bundles and Eclipse plug-ins.
The m2eclipse project would like to work with the PDE team to create headless build support for OSGi bundles and Eclipse plug-ins from Maven. We have an initial first form on this system in the Tycho sub-project of m2eclipse that was created by Tom Huybrechts. This initial form requires a POM and some magic swizzling of Eclipse installations, but we would ultimately like to provide a way to directly build native PDE projects with Maven.
The m2eclipse project being driven by its users needs to provide WTP integration. It is one of the popular requests from users. Raghuraman Ramaswamy has prototyped some parts of WTP integration that we plan to include with m2eclipse. We would really like to work with the WTP team to provide first-class integration between Maven and WTP.
The initial committers are:
The following projects have expressed interest using the tools, contributing ideas, guidance and discussion. Key contacts listed.
The vast majority of the work done on m2eclipse thus far has been sponsored by Sonatype, but we are rapidly gathering a following and foresee many of the interested parties getting involved in the development to benefit their organization, or integrate with their commercial offerings. Five of our committers are actually non-Sonatypers so we are already achieving some diversity.
We have the largest community of any Maven/Eclipse integration project, we get more patches then we can deal with, and we are starting to get substantial contributions from the community. The WTP integration from Raghuraman Ramaswamy, the Maven service API developed by Oleg Gusakov and James Ervin, and the Subversive integration for project materialization created by Polarion are the first examples of this type of community involvement. We expect a lot more community involvement in the near future.
Back to the top