<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 
<?xml-stylesheet type="text/xsl" href="project-plan-render.xsl"?>
<!--?xml-stylesheet type="text/xsl" href="project-plan-render.xsl"?-->
<p:plan xmlns:p="http://www.eclipse.org/project/plan" xmlns="http://www.w3.org/1999/xhtml">
  <p:release projectid="m2e-wtp" version="0.17.0"/>
  <p:introduction>
    <p>m2e-wtp aims at providing a tight integration between Apache Maven and Maven Integration for Eclipse (a.k.a m2e) on one hand and
    and the Eclipse Web Tools Project (a.k.a WTP) on the other hand.
    </p>
    <div>
      m2e-wtp provides a number of features designed to improve the productivity of Java EE developers using Apache Maven as their build tool :
      <ul>
      <li><strong>Project configurators :</strong> translate Maven plugin configuration to WTP settings for war, ejb, rar, app-client, ear packagings.
       Optional configurators are also available to allow configuration of Java EE facets such as JPA, JAX-RS and JSF</li>
      <li><strong>Eclipse to Maven Project converters :</strong> maps WTP settings of existing Java EE projects to their maven plugin configuration equivalent</li>
      <li><strong>Web resource filtering :</strong>Dynamically modifies the content of web resources at build time and instantly deploys them on a server</li> 
	  <li><strong>War overlays :</strong>Shares the same web resources (images, css ...) across different web applications</li>
      </ul>
    </div>
  </p:introduction>
  <p:release_deliverables>
    <ul>
      <li>m2e-wtp feature</li>
      <li>m2e-wtp optional JPA feature</li>
      <li>m2e-wtp optional JSF feature</li>
      <li>m2e-wtp optional JAX-RS feature</li>      
      <li>m2e-wtp SDK (source archive) feature</li>
    </ul>
  </p:release_deliverables>
  <p:release_milestones>
    <p:preamble>
      <p>
        Release milestones will be occurring at roughly 6 week
        intervals, and will be aligned with the
        <a href="http://wiki.eclipse.org/Juno/Simultaneous_Release_Plan#SR2">
          Juno SR2 Simultaneous Release
        </a>
        train.
      </p>
    </p:preamble>
    <p:milestone date="21/12/2012" milestone="0.17.0.M1">
      <div>0.17.0.M4</div>
    </p:milestone>
    <p:milestone date="05/02/2013" milestone="0.17.0.RC1">
      <div>0.17.0.RC1</div>
    </p:milestone>
    
  </p:release_milestones>
  <p:target_environments>
    <p>m2e-wtp is tested on Java 6 and Java 7</p>
    <p>m2e-wtp is compatible with Eclipse 3.7.2, 3.8 and Eclipse
      4.2 and is generally expected to work on each of these Eclipse
      platforms.
    </p>
    <p:internationalization>
      <p>Internationalization and Localization will be supported in a future release. 
      The current user interface is displayed in English only.  
      </p>
    </p:internationalization>
  </p:target_environments>
  <p:compatibility_with_previous_releases>
    <h3>Compatibility with Sonatype m2eclipse-wtp 0.15.x and previous releases</h3>
    <p>
      <strong>API Contract Compatibility :</strong>
      To comply with the Eclipse Foundation requirements, all the m2eclipse-wtp java packages
       have been moved from org.maven.ide.eclipse.wtp to the org.eclipse.m2e.wtp
      namespace. 
      However, all project configurator ids have been kept to ensure minimal disruption with 3rd party adopters and existing custom m2e lifecycle mappings.  
    </p>
    <p>
      <strong>Workspace Compatibility:</strong>
      No compatibility layer will be provided for non-default workspace preferences set in earlier versions of m2eclipse-wtp. However m2e-wtp default workspace settings behave the same as previous in m2eclipse-wtp.  
    </p>
    <p>
      <strong>Project Compatibility:</strong>
      No compatibility layer will be provided for non-default project preferences set in earlier versions of m2eclipse-wtp. However m2e-wtp default project settings behave the same as in previous m2eclipse-wtp.
    </p>
  </p:compatibility_with_previous_releases>
  <p:themes_and_priorities>
    <p:preamble>
    </p:preamble>
    <p:theme name="Encourage community participation">
      <p:committed>
        <ul>
          <li>
            <strong>Agile open source project</strong>
            m2e-wtp, as a sub-project of m2e, is an agile open source project 
            and as such does not have feature and/or bugfix roadmap. 
            We encourage community members to come forward with ideas how to 
            improve m2e-wtp and generally plan to prioritize patches review over other m2e-wtp development activities. 
          </li>
        </ul>
      </p:committed>
    </p:theme>
    <p:theme name="Close collaboration with the M2E and WTP projects">
      <p:committed>
        <ul>
          <li>
            <strong>Cross-project collaboration</strong>
            In order to implement new maven features into m2e-wtp or fix bugs, 
            we continuously help improve both m2e's and WTP's APIs, 
            working closely with core developers of both projects,
            by contributing patches, raising bug or enhancement requests. 
            </li>
        </ul>
      </p:committed>
    </p:theme>
    <!-- 
    <p:theme name="Mature Eclipse.org project">
      <p:committed>
        <ul>
          <li>Move m2e-wtp to Eclipse Foundation</li>
        </ul>
      </p:committed>
      <p:proposed>
        <ul>
          <li>Graduate from incubation</li>
          <li>Join the "Java EE" Eclipse distribution for Kepler</li>
        </ul>
      </p:proposed>
    </p:theme>
     -->
     
  </p:themes_and_priorities>
</p:plan>
