Juno Release Review - EMF Compare 1.3
Laurent Goubet (email@example.com)
Release Review : May 30, 2012
Communication Channel : eclipse.modeling.emf newsgroup
Process Documentation : http://www.eclipse.org/projects/dev_process/development_process.php
1.3 Release Highlights
New and noteworthy
Slight improvement of the matching phase cost, improving the overall time of comparison. A number of memory leaks were tracked and hunted down for this release.
Major imrpovement of the ordering handling throughout EMF Compare : merging differences on ordering, merging addition and removals that change the ordering, detecting and merging ordering differences on attribute values...
Huge improvements on the merging process of EMF Compare, adding thousands of unit tests and fixing the failing corner cases.
Filtering and Grouping
Adding the possibility to filter and group diffs together in the comparison UI, along with the corresponding extension points.
Adding graphical comparison (match, diff and merge) capabilities as well as comparison editors for integration with GMF and EcoreTools.
Adding a specific comparison engine for SYSML models.
Quality of APIs
The component lead certifies that the requirements for Eclipse Quality APIs have been met for this release. All non-API code is in "internal" packages.
End of Life Issues
EMF Compare 2.0 is in the work and is what will be released with Kepler next year. There might be more releases in the 1.x stream, but they will only be meant for maintenance. Version 2.0 is a major overhaul of EMF Compare which aims at fixing the architectural and technical limitations induced by the 1.x implementation.
As such, all APIs provided by 1.3 are to be considered obsolete and none will be maintained in its current state with 2.0, be it core or peripheral. The new APIs provided with 2.0 are developed in order to be simpler and more intuitive. We will provide all possible help in order to bridge the gap between the two streams' APIs and help users migrate to the new and improved Compare.
All functionalities and extensions provided by EMF Compare 1.3 will also be featured by EMF Compare 2.0. The re-architecturation only aims at fixing limitations without removing functionality.
As mentionned in the EMF Compare 1.2 release review, the EPatch (all plugins with namespace org.eclipse.emf.compare.epatch.*) have been removed from the code base. Adopters can use the MPatch plugins instead.
4 Committers from Obeo, and 1 inactive committer from Itemis.
The about files and use licenses are in place as per the Guidelines to Legal Documentation.
CQ 5460 - Google Collections Version: 1.0 https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5460 CQ 6518 - Guava Version: 10.0.1 https://dev.eclipse.org/ipzilla/show_bug.cgi?id=6518
All other contributions (code, documentation, images, etc) have been committed by individuals who are either Members of the Foundation, or have signed the appropriate Committer Agreement. In either case, these are individuals who have signed, and are abiding by, the Eclipse IP Policy. The other contributions of the IP log are not significant or are written 100% by employees of the same employer (Obeo) as the Submitting Committer (http://www.eclipse.org/legal/EclipseLegalProcessPoster.pdf).
All contribution Questionnaires have been completed.
The "provider" field of each plugin is set to "Eclipse Modeling Project".
The "copyright" field of each plugin is set to the copyright owner.
Any third-party logos or trademarks included in the distribution (icons, logos, etc) have been licensed under the EPL.
The EMF Compare IP log is located at http://www.eclipse.org/projects/ip_log.php?projectid=modeling.emf.compare
5107 unit tests launched on every build
Code coverage is about:
- 75 % of the core
- 63 % of the differencing plugin
- 60 % of the matching plugin
Checkstyle activated on each distinct plug-in.
Eclemma used on a regular basis to improve test coverage.
Yourkit used on a regular basis to improve performances.
Javadoc represents more than 50% of the Java source code.
An Ohloh page is available at http://www.ohloh.net/p/acceleo-eclipse/analyses/latest
Metamodel definitions and interfaces are considered APIs.
Commitment to provide stand-alone diff and match features (Jars that can be used without Eclipse with minimal to no dependencies towards eclipse Jars).
Non-API classes are separated from the exposed API through an "internal" namespace.
Non-API packages are exported with an internal visibility so that they remain visible but with a discouraged access warning.
API Tooling is activated on all plugins to mark exceptions within the exposed API.
EMF Compare documentation and tutorials are available from both the Eclipse wiki http://wiki.eclipse.org/EMF_Compare and the integrated Eclipse help (Menu Help > Help Contents).
- Setting up and using the EMF Compare framework
- Comparing and merging XML files
- Architecture overview
- Adding new actions to the export menu
- Adapting the comparison process
- Using the compare services
- Library to HTML export
- Creating differences representations dedicated to UML
- FAQ on the Eclipse Wiki (http://www.eclipse.org/EMF_Compare)
Note : these figures are subject to change as the whole team is in the process of fixing bugs until the final release (this snapshot has been taken on Mai 30, 2012)