Maven Integration for Web Tools Platform 1.0 Release Review

Type: 
Release
Graduation
State: 
Successful
End Date of the Review Period: 

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Wednesday, June 12, 2013

Release Review

Release: 

Maven Integration for Web Tools Platform 1.0

Description: 
m2e-wtp aims at providing a tight integration between Apache Maven and Maven Integration for Eclipse (a.k.a m2e) on one hand and the Eclipse Web Tools Project (a.k.a WTP) on the other hand.
It provides a set of m2e connectors configuring Java EE projects in WTP, from their maven plugin configuration.
m2e-wtp also brings some advanced Maven features to the IDE, such as dynamic resource filtering or war overlays.

This 1.0 release is aimed at providing support for the newly finalised Java EE 7 specification, among other improvements and bug fixes :

  • ​​New support for all JavaEE 7 Facets in WTP 3.5.x
  • New ability to enable/disable optional configurators directly in pom.xml
  • Disabled validation on maven output (derived) folder
  • Project conversion mechanism will use latest detected maven plugins
  • Eliminated unnecessary file copies causing file handle leaks on windows
New API : 
  • New extension point allowing 3rd party adopters to contribute Facet detection for the JPA, JSF, JAXRS configurators
API Certification: 

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Architectural Issues: 

  • Known architectural issues :
    • maven-ear-plugin doesn't support EAR 7 projects yet
    • Limited support for “classifier” projects in workspace due to m2e/JDT limitations (incorrect classpath or deployment issues may occur).
    • Significant portions of m2e-wtp codebase are workarounds for WTP limitations
    • War Overlay support is highly experimental and doesn't cope well with certain server adapters' deployment strategies
    • WTP needs to expose some hooks to provide a better integration (with its UI)
Non-Code Aspects: 
  • Localization, Internationalization, Accessibility
    • All m2e-wtp strings are externalized, but only English strings are provided.
    • m2e-wtp development team did not do any localization and/or accessibility testing due to resource constraints.
  • Documentation
Usability: 
  • Java EE integration :
    • Project facet configuration based on pom.xml
    • Automatic generation of MANIFEST.MF based on pom.xml
    • Optional JPA, JAX-RS, JSF Facet support
  • Integration of unique Maven features :
    • on-the-fly resource filtering and deployment
    • war overlay from workspace project or .war archives
  • Eclipse to Maven project conversion :
    • pom.xml configuration based on eclipse settings for all Java EE project types
  • UI Usability :
    • m2e-wtp's conformance to the User Interface Guidelines was not evaluated.
Standards: 
  • m2e-wtp requires J2SE 1.6 and Eclipse 3.7 or higher
  • m2e-wtp aims at supporting the IDE-relevant configuration from all maven-<package>-plugins associated with Java EE projects. Notable exceptions are :
    • No support for skinny wars from maven-ear-plugin 2.7+
    • No support for filtering war overlays from maven-war-plugin
    • Limited support for classes, ejb-client, test-classes classifiers
    • Support for deployment exclusion filters dependent on server adapter implementations
Communities: 
  • Active user community
    • m2e and m2e-wtp share the same user mailing list
    • No community activity statistics were collected for m2e-wtp 0.17.0.
    • #4 in Eclipse MarketPlace : ~19k downloads/month for standalone download (25k more installations as part of other distributions -JBoss Tools / SpringSource Tool Suite- in the MPC)
    • m2e-wtp was presented during EclipseCon Europe 2012 
    • m2e-wtp will be presented during Eclipse Day China 2013 
  • Active developer and adopter communities
    • #m2e-wtp on irc://irc.freenode.net
    • Project decisions discussed on monthly dev status call meetings and m2e-wtp-dev mailing list
    • m2e-wtp is embedded in -at least- JBoss Developer Studio and SpringSource ToolSuite
    • Close collaboration with the m2e, WTP, JBoss Tools teams