Juno Release Review - EMF Compare 1.3
Laurent Goubet (firstname.lastname@example.org)
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 improvement 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/emf_compare/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)
Localization : integrated into Babel
No standard exists concerning the model comparison, though EMF Compare works nicely with any standard based metamodel.
Since the 1.2 release a specific support for the UML standard is included in EMF Compare.
The 1.3 release adds a specific support for the SYSML standard included in EMF Compare.
EMF Compare is conforming to the user interface guidelines.
Talks have been given on the following events: Eclipse Con Europe 2011 :
- What every Eclipse Developer should know about EMF
- What the heck are logical models?
- EMFCompare improvements: fulfilling requirements of the Modeling Platform Working Group
- Activity on the EMF newsgroup (eclipse.modeling.emf): 29 new threads on EMF Compare from June 2011 to May 2012
- About one update every two months on Planet Eclipse.
- Mikaël Barbero from Obeo is now a commiter on EMF Compare
- Cédric Notot from Obeo is now a commiter on EMF Compare
- Jonathan Musset from Obeo is no longer a commiter
- Moritz Eysholdt from Itemis is not longer a commiter
EMF Compare 1.3 Release Plan
RC1 05/22/2012 RC2 05/29/2012 RC3 06/05/2012 Final 06/12/2012 1.3 06/27/2012
The EMF Compare 1.3 project plan is available at http://www.eclipse.org/modeling/emf/compare/project-info/plan-juno.xml
Java and all Java-based trademarks are trademarks of Oracle, Inc. in the United States, other countries, or both.
UML, SYSML, OMG, EMOF, OCL and XMI are trademarks of the Object Management Group.
Other company, product, or service names may be trademarks or service marks of others.