Project Plan For EMF Compare, version 2.0.0
- EMF Compare source code release, available as versions tagged with "R2_0" in the project's GIT repository.
- EMF Compare SDK, which includes runtime, sources, examples, and documentation, and is available as a download or on the update site.
- EMF Compare binary distribution, available as a download or on the update site.
They will be released a while after the Juno SR release trains in order not to confuse adopters.
EMF Compare may produce additional interim maintenance releases.
Maintenance releases will only be published if they contain new fixes.
Eclipse Platform SDK 4.2 will be tested and validated on a number of reference platforms.
EMF Compare will be tested and validated against a subset of those listed for the platform.
Given that there is no operating system dependent code in EMF Compare, it's expected that EMF Compare will work anywhere the Eclipse Platform does.
The English strings are provided as the default resource bundles.
Similarly, the EMF Compare project will externalize all its user interface elements, provide English strings for them in its default bundles, and localize a subset of the locales offered by the Platform.
The download page will provide the details as they become available.
As such, the project's API is not compatible with its previous 1.* versions. A migration guide will be provided in order to ease the adoption effort to this new version.
EMF Compare is developped with and targets the following projects :
- Eclipse Platform SDK version 4.2
- EMF Core 2.8
For the milestones listed in this document, a set of overall themes is used to indicate what major set of functionalities is expected to be the focus of each.
These themes are presented below, while the goals of the associated Bugzilla entries are available for more detailed information.
EMF Compare 1.* presents limitations that cannot be worked around in order to fix some of the
problems identified with the project : merging, scoping, memory performance...
Furthermore, this version of EMF Compare proposed a somewhat complex API to its clients and we cannot easily re-design this to ease the project's use.
One of the main goals of EMF Compare 2 is to do a complete overhaul of the project's architecture
in order to lift these limitations and clarify the API we provide to our adopters.
Among other changes, the core model of EMF Compare will be simplified for clarity, and the main interfaces to launch comparisons and merges of two or three models will be made less convoluted.
Support for Large models
Though this was also one of the priorities of the 1.3 release that shipped along with the Juno
release train, this is one of the points for which we had to make compromises in order to
cope with the aforementioned limitations of the 1.* stream.
EMF Compare 1.3.0 did propose a lot of improvements on the scalability front, but we could not ensure scalability for millions of elements as can be seen in most "real-life" models used by our adopters in production.
EMF Compare 2.0 will provide the mandatory architecture and API changes required for the project to handle such a scale of input models. Namely, it will propose a "scope" feature that will be fully customizable so that the subsequent version of EMF Compare, 2.1, can provide the fragmented scope that will be able to handle extremely large input models. In short, EMF Compare will be able to function with time and memory footprints dependent on the number of actual differences instead of being dependent on the input models' size.
Integration with the Eclipse UI
EMF Compare 1 presented a user interface mimicking the standard Eclipse compare UI, but which was not really integrated with it : folder comparison was not using EMF Compare to show structural differences, the viewers were our own, the displayed elements weren't compatible with what Eclipse Compare was expecting...
EMF Compare 2 is now deeply integrated with Eclipse Compare, reusing its API in each and every possible means. This means that the icons will be the exact same as the standard "text" comparisons, the behavior will be closer to Eclipse compare (notably on folder comparisons and viewer switching)...
Some performance bottlenecks in EMF Compare 1.3 have been identified yet cannot be solved without fully re-thinking the comparison process. EMF Compare 2.0 will provide these enhancements and will be faster than the 1.* stream even without the aforementioned changes that are planned for version 2.1.
- Oracle and Java are registered trademarks of Oracle and/or its affiliates.
- All other products or company names are mentioned for identification purposes only, and may be trademarks or service marks of their respective owners.