Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Papyrus Compare"

m (Installation: Updated p2 links to download server location)
(Fix Papyrus Compare compatibility and remove deprecated info about shipping a newer version of EMF Compare, since Papyrus Compare is now built against the official EMF Compare releases)
Line 7: Line 7:
 
== Streams and Compatibility ==
 
== Streams and Compatibility ==
  
Two streams of Papyrus Compare are available. The development stream called nightly and the more tested but less frequently updated integration stream. Both streams are compatible with Papyrus Neon, Oxygen, and Photon and require EGit version 4.9.0 or higher. The nightly stream is built against the nightly "logical" build of EMF Compare, while the integration build is built against the integration "logical" build of EMF Compare. The "logical" build of EMF Compare is built from the current master branch of EMF Compare and a couple of additional changes that haven't been merged in EMF Compare yet (see [https://hudson.eclipse.org/emfcompare/view/logical%20model%20builds/job/master-build-on-egit-logical-nighlty/ logical model build job]).
+
Two streams of Papyrus Compare are available. The development stream called nightly and the more tested but less frequently updated integration stream. Both streams are compatible with Papyrus Oxygen, Photon, 2018-09, and 2018-12. Papyrus Compare requires EGit version 5.1.0 or higher. The nightly stream is built against the nightly build of EMF Compare, while the integration build is built against the latest release of EMF Compare.
  
 
== Setting Up Papyrus Compare ==
 
== Setting Up Papyrus Compare ==
Line 13: Line 13:
 
=== Installation ===
 
=== Installation ===
  
To install Papyrus Compare in a Papyrus Neon, Oxygen, or Photon installation, we first have to add the Papyrus Compare update site. Depending on whether you want to install the nightly stream or the integration stream (see above), the location of the update sites are as follows:
+
To install Papyrus Compare in a Papyrus Oxygen, Photon, 2018-09, and 2018-12 installation, we first have to install the latest EMF Compare, if it isn't installed already from the [https://download.eclipse.org/modeling/emf/compare/updates/releases/latest/ EMF Compare Releases Update Site]. Next, we have to add the Papyrus Compare update site. Depending on whether you want to install the nightly stream or the integration stream (see above), the location of the update sites are as follows:
  
 
* '''Integration (recommended)''': [http://download.eclipse.org/modeling/mdt/papyrus/components/compare/updates/integration integration p2 update site]
 
* '''Integration (recommended)''': [http://download.eclipse.org/modeling/mdt/papyrus/components/compare/updates/integration integration p2 update site]
Line 25: Line 25:
 
On the next page, confirm the selected feature to install and click again ''Next >''.
 
On the next page, confirm the selected feature to install and click again ''Next >''.
 
Now you have to confirm the Eclipse Public License by selecting ''I accept the terms of the license agreement'' and click ''Finish''.
 
Now you have to confirm the Eclipse Public License by selecting ''I accept the terms of the license agreement'' and click ''Finish''.
 
As Papyrus Compare depends on a newer version of EMF Compare than currently released via the Eclipse release train, you might be warned during the installation that a couple of EMF Compare features will be ''updated'' instead of ''installed'' (see screenshot below). You can confirm this step, if you are fine with replacing your installed version of EMF Compare with a newer version of EMF Compare that is shipped with Papyrus Compare. After confirming this step, the installation should proceed as usual.
 
 
[[File:PapyrusCompare_1a_-_update.png]]
 
  
 
The installation will start in the background and may take a few minutes to finish, depending on your internet speed and the availability of the Eclipse servers. You can view the progress of the installation when you click on the progress button in the lower-right corner of the Eclipse window. If you are installing the nightly stream, you may see the warning above, as this build is not signed.
 
The installation will start in the background and may take a few minutes to finish, depending on your internet speed and the availability of the Eclipse servers. You can view the progress of the installation when you click on the progress button in the lower-right corner of the Eclipse window. If you are installing the nightly stream, you may see the warning above, as this build is not signed.

Revision as of 12:22, 28 January 2019

Papyrus Compare provides comparison and merge facilities for Papyrus models. It enables teams to work together on their Papyrus models using git. Therefore, Papyrus Compare hooks into git operations that require a merge and performs a model-level merge that respects the logical structure of Papyrus models, instead of a plain text merge. When comparing git branches or any git refs, Papyrus Compare also shows the differences on model level instead of showing a text diff. Papyrus Compare is integrated with the Eclipse Team tooling and workflows. Thus, Papyrus models can be compared, merged, cherry-picked, and rebased in Eclipse just like you would do it with source code.

To achieve that, Papyrus Compare builds on and extends EGit and EMF Compare, respectively, in order to customize them to seamlessly support their usage with Papyrus models. Papyrus Compare is an extra component of the Papyrus project but is not part of the Eclipse release train.

The goal of Papyrus Compare is to support all diagram types and domain-specific profiles provided in Papyrus. At this point, however, the maturity level varies across the diagram types and profiles.

Streams and Compatibility

Two streams of Papyrus Compare are available. The development stream called nightly and the more tested but less frequently updated integration stream. Both streams are compatible with Papyrus Oxygen, Photon, 2018-09, and 2018-12. Papyrus Compare requires EGit version 5.1.0 or higher. The nightly stream is built against the nightly build of EMF Compare, while the integration build is built against the latest release of EMF Compare.

Setting Up Papyrus Compare

Installation

To install Papyrus Compare in a Papyrus Oxygen, Photon, 2018-09, and 2018-12 installation, we first have to install the latest EMF Compare, if it isn't installed already from the EMF Compare Releases Update Site. Next, we have to add the Papyrus Compare update site. Depending on whether you want to install the nightly stream or the integration stream (see above), the location of the update sites are as follows:

To add the update site, open the menu HelpInstall New Software... and click Add.... In the Add Repository dialog, enter an arbitrary name, for instance Papyrus Compare, specify the location depending on the preferred stream as listed above, and click OK.

PapyrusCompare 1 - add-update-site.png

Select Papyrus Compare > Papyrus Compare Feature (Incubation) and click Next >. On the next page, confirm the selected feature to install and click again Next >. Now you have to confirm the Eclipse Public License by selecting I accept the terms of the license agreement and click Finish.

The installation will start in the background and may take a few minutes to finish, depending on your internet speed and the availability of the Eclipse servers. You can view the progress of the installation when you click on the progress button in the lower-right corner of the Eclipse window. If you are installing the nightly stream, you may see the warning above, as this build is not signed.

PapyrusCompare 2 - security-warning.png

Please click Install anyway if you are fine with installing unsigned content. Once the installation is finished, you will be asked to restart Eclipse. Please click Restart now to restart.

If everything went fine, Papyrus Compare is successfully installed.

Configuration

There are various configuration options to consider. In the following, we list the recommended preference settings. Especially the first one is necessary to allow Papyrus Compare to handle Papyrus models during the git merge operations. To configure the preferences, open the menu WindowPreferences.

  • Enable the model merge strategy in git (required) Go to Team → Git → Synchronize and select Recursive Model Merge Strategy
  • Enable the Scalable Conflict Detector in EMF Compare (strongly recommended) Go to EMF Compare → Engines, open the tab Conflict, and check Scalable Conflict Detector
  • Enable pre-merging non-conflicting changes (optional but recommended) Go to EMF Compare → Merge and check Pre-merge models when a real conflict is detected
  • Enable workspace resolution of cross-references (optional but recommended) Go to EMF Compare → Resolution Strategy and select Workspace in the drop-down box Resolution scope
  • Disable selecting the next unresolved difference after a merge action (optional) Go to EMF Compare → Editor, open the tab Model Difference Tree, and uncheck Select next unresolved difference after a merge action

You are all set and can now start using Papyrus Compare.

User Documentation

The user documentation is work in progress. In the meantime, please refer to the video tutorial and to the EMF Compare User Guide, in particular, the user interface documentation and documentation of how to compare models with EGit.

Developers' Information

Useful Links

Building Papyrus Compare

Clone the source code repository and run the following command to build the nightly stream or the integration stream.

# Nightly stream
cd plugins/compare/
mvn clean install -Dtarget.stream=nightly
# Integration stream
cd plugins/compare/
mvn clean install

Back to the top