blob: d1f7b72b4991019ecfafba28a1c4b5e2066a693c [file] [log] [blame]
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
$pageTitle = "";
$pageKeywords = "";
$pageAuthor = "";
ob_start();
?>
<div id="maincontent">
<div id="midcolumn">
<h1>The Eclipse Integration for Apache Maven (IAM)</h1>
</p>
<?php
include_once($_SERVER['DOCUMENT_ROOT'] . "/projects/fragments/proposal-page-header.php");
generate_header("IAM");
?>
<H2>Introduction</H2>
<P>The <B>Eclipse Integration for Apache Maven (IAM)</B>
Project is a new project proposal under the <A HREF="http://www.eclipse.org/technology/">Eclipse
Technology Project</A>.</P>
<P>This proposal is in the Project Proposal Phase (as
defined in the <A HREF="http://www.eclipse.org/projects/dev_process/">Eclipse
Development Process document</A>) and is written to
declare its intent and scope. This proposal is written to solicit
additional participation and input from the Eclipse community. You
are invited to comment on and/or join the project. Please send all
feedback to the <a href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.iam">http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.iam</a>
newsgroup.</p></P>
<H2>Background</H2>
<P>Apache Maven is a very popular project
comprehension tool, and rivals Apache Ant as the most widely used
build system. While Eclipse has very good support for Apache Ant it
does not provide any integration for Apache Maven out of the box or
under the umbrella of the Eclipse Foundation, and users are not
necessarily aware of third party integrations.</P>
<P>Apache Maven offers
significant improvements in the overall speed and quality of software
development. But because Apache Maven is designed to deliver
real-time transparency regarding the state of any project, it helps
to not only eliminate build process failures, it also enables
organizations to control and protect against the inclusion of
incompatible components during the earliest testing, integration and
packaging phases of a typical development life cycle.</P>
<P>Through standardized
and automated build processes, Apache Maven gives not only developers
and build masters visibility into the which components are being
used, but it also benefits anyone that needs information on the
quality and characteristics of the applications being built.</P>
<P>The IAM project has
already gone through several months of development under the codename
<A HREF="http://code.google.com/p/q4e/">Q4E</A>
, right now at version 0.6.1, creating a community of users and
contributors that are really interested in seeing the project become
a Eclipse Foundation project as that seems to be the natural place
for it.</P>
<H2>Scope</H2>
<P>The objectives of the IAM project are
to:
</P>
<UL>
<LI>Make Eclipse the IDE of choice for
Apache Maven users</LI>
<LI>Allow Eclipse users to explore the
benefits of Apache Maven</LI>
<LI>Tightly integrate with JDT</LI>
<LI>Allow the user to create new
Eclipse projects from Apache Maven Archetypes</LI>
<LI>Launch Apache Maven builds from
the standard Eclipse run configurations</LI>
<LI>Provide the underlying libraries
for Buckminster integration</LI>
<LI>Explore the integration points
with Equinox Provisioning repositories</LI>
</UL>
<H2>Description</H2>
<P>The current implementation of IAM is
documented in <A HREF="http://code.google.com/p/q4e/wiki/DevelopmentGuide">
http://code.google.com/p/q4e/wiki/DevelopmentGuide</A>.
The core library interacts with Apache Maven libraries and exposes an
Eclipse style API, used by the Apache Maven specific user interface,
like event or goal execution views, the JDT integration that will
provide the user a consistent view between Apache Maven projects and
any other project, and the Buckminster integration that will live at
the Buckminster project.</P>
<P>Wizards for new project creation and
import of existing Apache Maven projects are provided for a rich user
experience as well as integration with other Eclipse projects like WTP
or AspectJ. Supporting a wide range of eclipse plug-ins will serve as an
exemplary solution for tool builders and prove the validity of the design.</P>
<p>As Apache Maven, IAM will be cross platform and vendor neutral providing extension points for other projects to reuse and extend it.</p>
<H2>Organization</H2>
<h3>Mentors</h3>
<p>The following people have agreed to mentor the project</p>
<ul>
<LI>Ed Merks, IBM</LI>
<LI>Thomas Watson, IBM</LI>
<LI>Brett Porter, Exist Global</LI>
</ul>
<h3>Initial committers</h3>
<P>The initial committers will focus on
evolving the current IAM implementation by delivering support for
Java development. Our agile development process will follow
eclipse.org's standards for openness and transparency Our goal
is to provide the infrastructure and APIs needed to integrate task
and degree-of-interest centric UIs to any Eclipse plug-ins whose
users experience information overload. As such we will actively
encourage contributions to Eclipse IAM. We also plan to help
improve the Eclipse platform by submitting patches and extension
point suggestions. The initial committers are:</P>
<UL>
<LI>Abel Mui&ntilde;o, Berggi: Project Lead</LI>
<LI>Carlos Sanchez, Exist Global</LI>
<LI>Erle Mantos, Exist Global</LI>
<LI>Jake Pezaro</LI>
<LI>Michael Poindexter, Qumu</LI>
<LI>Philip Dodds, Exist Global</LI>
<LI>Brett Porter, Exist Global</LI>
<LI>Allan Ramirez, Exist Global</LI>
</UL>
<h3>Interested parties</h3>
<P>The following projects have expressed
interest using the tools, contributing ideas, guidance and
discussion. Key contacts listed.</LI>
<UL>
<LI>Equinox (IBM): Jeff McAffer, Pascal Rapicault</LI>
<LI>IONA: Oisin Hurley</LI>
<LI>Apache Cocoon: Grzegorz Kossakowski</LI>
<LI>Apache Archiva: Joakim Erdfelt</LI>
<LI>University of A Coruña, Spain: Fernando Bellas</LI>
<LI>CALGB: Robert Dale</LI>
<LI>Scala: Josh Suereth, David Bernard</LI>
<LI>Qumu, Inc.</LI>
</UL>
<H3>Developer community</h3>
<P>We expect to extend the initial set of
committers by actively supporting a developer community. The initial
community outside of Exist Global includes Abel Mui&ntilde;o, which is
planning to extend IAM and use it as a foundation for its Appfuse
Eclipse plugin (Candy for Appfuse).</P>
<P>We are also contributing the Apache
Maven integration for Buckminster which will use the same underlying
libraries jointly developed by IAM and Buckminster committers.</P>
<P>As its already happening with
Buckminster we want to make the different pieces reusable for other
projects that want to interact with Apache Maven by providing an API
that will bridge the Eclipse and Apache Maven worlds, and
facilitation other parties contributions by making our planning and
processes accessible and transparent.
</P>
<h3>User community</h3>
<P>IAM will improve the user experience
for all previous Apache Maven users, which represent a big community.
We need to integrate their feedback as it is critical to build an
usable user interface. It will be achieved by leveraging the standard
eclipse.org mechanisms of supporting an open project and the
community.
</P>
<H2>Tentative Plan</H2>
<P>
2008-06 M1: Finalize WTP integration<BR/>
2008-08 M2: PDE integration<BR/>
2008-10 M3: SVN/CVS integration<BR/>
2008-12 M4: P2 integration<BR/>
2009-02 M5: Mylyn integration<BR/>
2009-04 M6: Buckminster integration<BR/>
</P>
</div>
</div>
<?php
$html = ob_get_contents();
ob_end_clean();
# Generate the web page
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>