Hi,
I'm working with EMFCompare2.0 and I try to integrate it with our team provider implementation.
What we need is the ability to customize the default Diff Engine and Match Engine in order to hide complexity of our meta-models. For instance we want to igonre some classes and features using custom diff engine and custom match engine.
With EMFCompare 1.3; we've defined our custom engines and use them by EMFCompare Extension points but with EMFCompare 2.0 there are not same extension points and specially no extension point on DiffEngine.

I've looked to the Developper Guide in order to do customization but I don't find how to change EMFCompare.Builder().().() chained calls when comparison is launched from Team support menus such as "Compare with .." menu or any "Team>> Merge Tool" menu.

There are quite a few extension points for EMF Compare, and you can take a look at the extensions we provide for UML and GMF comparisons for examples of use. The most important would be org.eclipse.emf.compare.rcp.postProcessor that will allow you to alter the result of every single phase of the comparison. This "post-processing" way of doing things has proven to be enough for our extension use cases, though if you need to replace the default behavior as a whole, this can only be done (through extension points) for the match, using the org.eclipse.emf.compare.rcp.matchEngine extension point.

The wiki is not fully written yet, and though we made sure that most of EMF Compare can be extended at will, we are still missing a lot of extension points (most extensions can only be setup programatically for now). If there are things you cannot achieve using the existing extension facilities, please elaborate on your use case and what you need in fine.

I'm a beginner with EMF Compare. I'm also trying to customize the Diff Engine. I want first to do a comparison without taking into account the "move" difference, in order to have only "delete" and "add" difference and to get a comparison using only those two ones. Then I will maybe need to add others kind of differences (or to adapt the differences). That's why I decided to extend the DefaultDiffEngine class as written in the Developer Guide.
I found an extension point corresponding to this engine (org.eclipse.emf.compare.rcp.diffEngine) in the org.eclipse.emf.compare.rcp package and I added my extension.
But I don't understand what to do next in order to make it works. Indeed, actually when I launch it, I can just select it on the configuration menu, but it's not used for the comparison. I mean if I have a breakpoint on the class I created, it is never called.

In the developer guide, it's written that we need to write this:Quote:

First, please create your own threads instead of "hijacking" another's, as this will allow for faster triaging from our side.

That being said, if what you need is only to ignore the "move" differences, you can just follow the example from the developper guide. As you can see, though this example tells you how to do this programmatically, it only requires you to have your own sub-class of DefaultDiffEngine.

Diff engines can also be provided to EMF Compare dynamically through the org.eclipse.emf.compare.rcp.diffEngine extension point. You can see how we do it for the default one in the plugin.xml file of the rcp plugin. For yours to be used, you have to make sure that you provide one with a ranking higher than the default one (higher than 100). As long as its ranking is higher than the default, and you haven't changed the preference to another engine (which disables the ranking), yours should be used.