javaeclipseeclipse-emfemfemf-compare

Setting up EMF Compare on Eclipse and compiling


How do I checkout and set up EMF Compare on Eclipse? I found the website Contributor Guide for EMF compare: http://wiki.eclipse.org/EMF_Compare/Contributor_Guide

But they do not have enough instructions. I check out master branch There are tons of other dependencies that are not included in the git repository. Such as guava, papyrus, and uml2.

The description of the says import plugins into workspace which contains the actual product. But when I do this their plugins directory is missing large parts of the code.

I face similar issues when checking out tags such as 1.3 or 1.2.

I am looking to make tweaks to EMF Compare I need to set it up on Eclipse so I can run and test my changes.


Solution

  • The contributor guide only points out to the way to retrieve the EMF Compare source. We'll have to make it so that we tell people how to retrieve our dependencies. (I am one of the project's commiters.)

    EMF Compare is currently undergoing a massive overhaul : the master branch is the future "2.0" version. It does compile, but the code it offers is not fully functional yet. The 1.3 branch however only compiles on a "Juno" (eclipse 3.8/4.2) platform : our papyrus support can no longer be compiled on an inferior target. Yes, that makes for a big mess.

    Which version of EMF Compare would you like to contribute/make changes to? I'd wager its against 1.3, on an Indigo (Eclipse 3.7) or lesser platform? In such a case you will have to ignore certain plugins.

    The core of EMF Compare, and the only things you really need to have in your workspace to compile a functional model comparison support, is the following set of plugins for the 1.3 branch (o.e.e.c stands for "org.eclipse.emf.compare") :

    o.e.e.c
    o.e.e.c.diff
    o.e.e.c.diff.edit
    o.e.e.c.logical
    o.e.e.c.logical.ui
    o.e.e.c.match
    o.e.e.c.ui
    

    The unit tests can also be imported without trouble :

    o.e.e.c.tests
    o.e.e.c.logical.tests
    

    If you need the diagram comparison support, you can import :

    o.e.e.c.diagram
    o.e.e.c.diagram.ecoretools
    o.e.e.c.diagram.edit
    o.e.e.c.diagram.ui
    

    The UML support no longer compiles on Indigo or lesser since the UML2 project switched to version 4.0 and we reacted to this change and the implied API breaks. The Papyrus support also fails to compile on Indigo and lesser since they too broke APIs. SYSML is provided by papyrus, and thus no longer compiles either. Epatch has been deprecated, but all o.e.e.c.mpatch plugins can be imported and compiled if you have the courage to retrieve all of their dependencies.

    As for our dependencies, if you only take the core of EMF Compare, all you need is EMF. Their git can be cloned with the URI : git://git.eclipse.org/gitroot/emf/org.eclipse.emf.git

    If you want more than the core, I really advise that you install the Eclipse modeling package and start from there : it already includes all of our dependencies. Of course, you can also retrieve their sources... GMF-runtime is on CVS, EcoreTools can be cloned from git://git.eclipse.org/gitroot/ecoretools/org.eclipse.ecoretools.git , UML2 can be cloned from git://git.eclipse.org/gitroot/uml2/org.eclipse.uml2.git .