# emf-compare **Repository Path**: mirrors_eclipse/emf-compare ## Basic Information - **Project Name**: emf-compare - **Description**: No description available - **Primary Language**: Unknown - **License**: EPL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-09-10 - **Last Updated**: 2026-10-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README h1. EMF Compare Eclipse EMF Compare brings model comparison to the EMF framework. It provides generic support for any kind of metamodel in order to compare and merge models. The objectives of this component are to provide a stable and efficient generic implementation of model comparison as well as an extensible framework for specific needs. h2. Installation * The latest version of EMF Compare can be installed from https://download.eclipse.org/modeling/emf/compare/updates/releases/latest/ * More detailed installation instructions on http://www.eclipse.org/emf/compare/documentation/latest/user/user-guide.html#Installing_EMF_Compare h2. Maven dependencies The core comparison and merge engine is published to "GitHub Packages":https://github.com/eclipse-emf-compare/emf-compare/packages with its sources and a standalone Maven POM. EMF and Guava dependencies are resolved transitively from Maven Central. Eclipse UI and other integration bundles are distributed through the update sites above. Create a GitHub personal access token (classic) with the @read:packages@ scope. Authentication is required even for public Maven packages; see "GitHub's Maven registry documentation":https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-apache-maven-registry. Set @GITHUB_USERNAME@ to your GitHub username and @GITHUB_TOKEN@ to the token in your environment, then add this server to @~/.m2/settings.xml@: bc. github-emf-compare ${env.GITHUB_USERNAME} ${env.GITHUB_TOKEN} Add the repository and dependency to your project's @pom.xml@: bc. github-emf-compare https://maven.pkg.github.com/eclipse-emf-compare/emf-compare true org.eclipse.emf.compare org.eclipse.emf.compare 3.5.3-SNAPSHOT Successful builds of @master@ publish snapshots automatically. Run Maven with @-U@ to refresh a snapshot. The version above follows the core bundle's version, independently of the update-site version. h3. Publishing Maven builds The @Maven packages@ GitHub Actions workflow builds the whole reactor and runs the core @org.eclipse.emf.compare.tests@ suite. The @maven-publication@ profile forces this suite to run despite @-DskipTests@, which skips the other reactor test suites. Core test failures or an empty suite stop publication. The workflow also checks comparison, XMI serialization and merging on a plain Maven classpath before uploading the core binary and sources. Pull requests run the same build and checks without publishing. The workflow uses the repository's @GITHUB_TOKEN@ with @packages:write@ permission; no publishing token needs to be stored as a secret. Maintainers can also run it manually through @workflow_dispatch@. Publishing is enabled only in @eclipse-emf-compare/emf-compare@. The workflow uses Java 21 and Maven 3.9.14. Use the same versions locally: Tycho 3.0.5 fails to initialize its p2 resolver with Maven 3.10.0, which is installed on current GitHub runners. To generate the publication POM and run the core tests locally, build the whole reactor: bc. mvn -f org.eclipse.emf.compare-parent/pom.xml clean verify -P2026-03,maven-publication -DskipTests The standalone POM is generated at @plugins/org.eclipse.emf.compare/target/maven/pom.xml@ using the core bundle's Maven coordinates. Its dependency versions must be kept aligned with the bundle manifest and target platform. The workflow publishes this POM with the Tycho-built jars using @deploy-file@, so consumers do not need Tycho or the build's parent POMs. Release versions must be prepared in the bundle's existing versioning files before publishing, and cannot be overwritten in GitHub Packages. h2. Reporting Bugs There may be errors in the /.metadata/.log or even on stdout that can help you track down and problem. When reporting errors, please include stack traces when applicable and the commit id or the version your plugin is built from, or the version of the plugin if it does not contain a date. * Bugs or enhancement requests should be reported on the GitHub issues for the project at https://github.com/eclipse-emf-compare/emf-compare/issues * Check https://www.eclipse.org/emf/compare/support.html for more details on support issues h2. Build EMF Compare can be built using maven from within the org.eclipse.emf.compare-parent sub-folder of this repository : @mvn clean package -P2023-12@ The above example will build the EMF Compare binaries against the Eclipse 2023-12 platform. Select the appropriate profile according to the platform you wish to install EMF Compare on. You can also execute the tests using @mvn verify -P2023-12 --fail-at-end -Dmaven.test.failure.ignore=true@ h2. Contributing * You need an Eclipse user account. You already have one if you are an Eclipse commiter. Otherwise, use "this form":https://accounts.eclipse.org/user/register?destination=user. * Sign the Eclipse Contributor Agreement (ECA) : please go to "your account page":http://www.eclipse.org/contribute/cla , click on "Eclipse Contributor Agreement", and Complete the form. * Make sure you use the proper user information on your git configuration : ** @$ cd @ ** @$ git config --local user.name ""@ ** @$ git config --local user.email ""@ * Make small logical changes. * Provide a meaningful commit message. EMF Compare uses github Pull Requests for peer reviews. You will need to commit your changes on your own "fork of the EMF Compare repository":https://github.com/eclipse-emf-compare/emf-compare and create Pull Requests from your fork to the main repository. A comprehensive contributor guide can also be found on "the project's wiki":https://wiki.eclipse.org/EMF_Compare/Contributor_Guide .