Fix Build Errors Caused by Papyrus switching to Guava 27

This change also updates the previous release and latest release to
avoid having to handle both Guava 21 and Guava 27.

One ugly thing is that I needed to copy two methods to avoid having
Guava's Predicate loaded in two versions, since EMF Compare still only
supports Guava 21.

Change-Id: I424b18f8195c5c5d2f14fef1cc6671c642c35cb1
Signed-off-by: Philip Langer <planger@eclipsesource.com>
diff --git a/compare/bundles/org.eclipse.papyrus.compare.diagram.ide.ui/META-INF/MANIFEST.MF b/compare/bundles/org.eclipse.papyrus.compare.diagram.ide.ui/META-INF/MANIFEST.MF
index 2cafa75..b36b140 100644
--- a/compare/bundles/org.eclipse.papyrus.compare.diagram.ide.ui/META-INF/MANIFEST.MF
+++ b/compare/bundles/org.eclipse.papyrus.compare.diagram.ide.ui/META-INF/MANIFEST.MF
@@ -51,3 +51,4 @@
  org.eclipse.papyrus.compare.diagram.ide.ui.internal.structuremergeviewer.filters;x-internal:=true,
  org.eclipse.papyrus.compare.diagram.ide.ui.internal.structuremergeviewer.groups;x-internal:=true,
  org.eclipse.papyrus.compare.diagram.ide.ui.util
+Automatic-Module-Name: org.eclipse.papyrus.compare.diagram.ide.ui
diff --git a/compare/bundles/org.eclipse.papyrus.compare.diagram/META-INF/MANIFEST.MF b/compare/bundles/org.eclipse.papyrus.compare.diagram/META-INF/MANIFEST.MF
index f1e1234..f94e816 100644
--- a/compare/bundles/org.eclipse.papyrus.compare.diagram/META-INF/MANIFEST.MF
+++ b/compare/bundles/org.eclipse.papyrus.compare.diagram/META-INF/MANIFEST.MF
@@ -19,3 +19,4 @@
  org.eclipse.papyrus.compare.diagram.internal;x-internal:=true,
  org.eclipse.papyrus.compare.diagram.util
 Bundle-Localization: plugin
+Automatic-Module-Name: org.eclipse.papyrus.compare.diagram
diff --git a/compare/bundles/org.eclipse.papyrus.compare.egit.ui/META-INF/MANIFEST.MF b/compare/bundles/org.eclipse.papyrus.compare.egit.ui/META-INF/MANIFEST.MF
index 0205402..35343d9 100644
--- a/compare/bundles/org.eclipse.papyrus.compare.egit.ui/META-INF/MANIFEST.MF
+++ b/compare/bundles/org.eclipse.papyrus.compare.egit.ui/META-INF/MANIFEST.MF
@@ -20,3 +20,4 @@
  org.eclipse.papyrus.infra.onefile,
  org.eclipse.emf.compare.egit.ui
 Bundle-Vendor: %providerName
+Automatic-Module-Name: org.eclipse.papyrus.compare.egit.ui
diff --git a/compare/bundles/org.eclipse.papyrus.compare.uml2.edit/META-INF/MANIFEST.MF b/compare/bundles/org.eclipse.papyrus.compare.uml2.edit/META-INF/MANIFEST.MF
index 36ea623..9e4b354 100644
--- a/compare/bundles/org.eclipse.papyrus.compare.uml2.edit/META-INF/MANIFEST.MF
+++ b/compare/bundles/org.eclipse.papyrus.compare.uml2.edit/META-INF/MANIFEST.MF
@@ -27,3 +27,4 @@
 Bundle-Localization: plugin
 Export-Package: org.eclipse.papyrus.compare.uml2.edit,
  org.eclipse.papyrus.compare.uml2.edit.internal.decorator;x-internal:=true
+Automatic-Module-Name: org.eclipse.papyrus.compare.uml2.edit
diff --git a/compare/bundles/org.eclipse.papyrus.compare.uml2/META-INF/MANIFEST.MF b/compare/bundles/org.eclipse.papyrus.compare.uml2/META-INF/MANIFEST.MF
index 270dc92..1754dde 100644
--- a/compare/bundles/org.eclipse.papyrus.compare.uml2/META-INF/MANIFEST.MF
+++ b/compare/bundles/org.eclipse.papyrus.compare.uml2/META-INF/MANIFEST.MF
@@ -29,3 +29,4 @@
  com.google.common.collect;version="[15.0.0,22.0.0)"
 Bundle-ActivationPolicy: lazy
 Bundle-Activator: org.eclipse.papyrus.compare.uml2.internal.UMLPapyrusComparePlugin
+Automatic-Module-Name: org.eclipse.papyrus.compare.uml2
diff --git a/compare/targetplatforms/compare-nightly.target b/compare/targetplatforms/compare-nightly.target
index efc73cc..30345e3 100644
--- a/compare/targetplatforms/compare-nightly.target
+++ b/compare/targetplatforms/compare-nightly.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="Compare Target Platform - Nightly" sequenceNumber="1562253745">
+<target name="Compare Target Platform - Nightly" sequenceNumber="1566394770">
   <locations>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.draw2d" version="0.0.0"/>
@@ -46,8 +46,8 @@
       <unit id="org.apache.commons.io" version="0.0.0"/>
       <unit id="org.apache.commons.io.source" version="0.0.0"/>
       <unit id="com.google.inject" version="0.0.0"/>
-      <unit id="com.google.guava" version="21.0.0.v20170206-1425"/>
-      <unit id="com.google.guava.source" version="21.0.0.v20170206-1425"/>
+      <unit id="com.google.guava" version="27.1.0.v20190517-1946"/>
+      <unit id="com.google.guava.source" version="27.1.0.v20190517-1946"/>
       <unit id="javaewah" version="0.0.0"/>
       <unit id="org.apache.commons.compress" version="0.0.0"/>
       <unit id="org.apache.commons.lang" version="0.0.0"/>
diff --git a/compare/targetplatforms/compare-nightly.tpd b/compare/targetplatforms/compare-nightly.tpd
index 860db40..8abffef 100755
--- a/compare/targetplatforms/compare-nightly.tpd
+++ b/compare/targetplatforms/compare-nightly.tpd
@@ -51,8 +51,8 @@
 	org.apache.commons.io lazy
 	org.apache.commons.io.source lazy
 	com.google.inject lazy
-	com.google.guava [21.0.0,22.0.0)
-	com.google.guava.source [21.0.0,22.0.0)
+	com.google.guava [27.0.0,28.0.0)
+	com.google.guava.source [27.0.0,28.0.0)
 	/* Egit/Jgit */
 	javaewah lazy
 	org.apache.commons.compress lazy
diff --git a/compare/targetplatforms/compare-previous-release.target b/compare/targetplatforms/compare-previous-release.target
index 9b7964b..94bb809 100644
--- a/compare/targetplatforms/compare-previous-release.target
+++ b/compare/targetplatforms/compare-previous-release.target
@@ -1,66 +1,66 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="Compare Target Platform - Previous Release" sequenceNumber="1547565818">
+<target name="Compare Target Platform - Previous Release" sequenceNumber="1566394783">
   <locations>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.platform.feature.group" version="4.9.0.v20180906-1121"/>
-      <unit id="org.eclipse.sdk.feature.group" version="4.9.0.v20180906-1121"/>
-      <unit id="org.eclipse.rcp.feature.group" version="4.9.0.v20180906-1121"/>
-      <unit id="org.eclipse.jdt.feature.group" version="3.15.0.v20180906-0745"/>
-      <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.2.100.v20180822-1357"/>
-      <unit id="org.eclipse.equinox.executable.feature.group" version="3.8.100.v20180827-1352"/>
+      <unit id="org.eclipse.platform.feature.group" version="4.11.0.v20190307-0500"/>
+      <unit id="org.eclipse.sdk.feature.group" version="4.11.0.v20190307-0943"/>
+      <unit id="org.eclipse.rcp.feature.group" version="4.11.0.v20190307-0500"/>
+      <unit id="org.eclipse.jdt.feature.group" version="3.17.0.v20190307-0500"/>
+      <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.2.200.v20190129-1112"/>
+      <unit id="org.eclipse.equinox.executable.feature.group" version="3.8.300.v20190213-1655"/>
       <unit id="org.eclipse.draw2d" version="3.10.100.201606061308"/>
       <unit id="org.eclipse.gef" version="3.11.0.201606061308"/>
-      <unit id="org.eclipse.m2m.qvt.oml.sdk.feature.group" version="3.9.0.v20180911-0720"/>
-      <unit id="org.eclipse.emf.sdk.feature.group" version="2.15.0.v20180905-1732"/>
-      <unit id="org.eclipse.xsd.sdk.feature.group" version="2.15.0.v20180722-1116"/>
-      <unit id="org.eclipse.emf.validation.sdk.feature.group" version="1.12.0.201805030717"/>
+      <unit id="org.eclipse.m2m.qvt.oml.sdk.feature.group" version="3.9.2.v20190313-0834"/>
+      <unit id="org.eclipse.emf.sdk.feature.group" version="2.17.0.v20190301-1325"/>
+      <unit id="org.eclipse.xsd.sdk.feature.group" version="2.17.0.v20181220-0942"/>
+      <unit id="org.eclipse.emf.validation.sdk.feature.group" version="1.12.1.201812070911"/>
       <unit id="org.eclipse.emf.transaction.sdk.feature.group" version="1.12.0.201805140824"/>
       <unit id="org.eclipse.emf.workspace.feature.group" version="1.12.0.201805140824"/>
       <unit id="org.eclipse.gmf.runtime.notation.sdk.feature.group" version="1.12.0.201805221301"/>
       <unit id="org.eclipse.gmf.runtime.sdk.feature.group" version="1.12.0.201806010809"/>
-      <unit id="org.eclipse.uml2.sdk.feature.group" version="5.4.1.v20180903-1400"/>
-      <repository id="eclipse-2018-09" location="http://download.eclipse.org/releases/2018-09/"/>
+      <unit id="org.eclipse.uml2.sdk.feature.group" version="5.5.0.v20181203-1331"/>
+      <repository id="eclipse-2019-03" location="http://download.eclipse.org/releases/2019-03/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.egit.feature.group" version="5.1.0.201809111528-r"/>
-      <unit id="org.eclipse.jgit.feature.group" version="5.1.0.201809111528-r"/>
-      <repository id="egit" location="https://download.eclipse.org/egit/updates-5.1/"/>
+      <unit id="org.eclipse.egit.feature.group" version="5.3.0.201903130848-r"/>
+      <unit id="org.eclipse.jgit.feature.group" version="5.3.0.201903130848-r"/>
+      <repository id="egit" location="https://download.eclipse.org/egit/updates-5.3/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.emf.compare.source.feature.group" version="3.3.4.201806221350"/>
-      <unit id="org.eclipse.emf.compare.diagram.gmf.source.feature.group" version="3.3.4.201806221350"/>
-      <unit id="org.eclipse.emf.compare.uml2.source.feature.group" version="3.3.4.201806221350"/>
-      <unit id="org.eclipse.emf.compare.egit.source.feature.group" version="3.3.4.201806221350"/>
-      <unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="3.3.4.201806221350"/>
-      <unit id="org.eclipse.emf.compare.rcp.ui.source.feature.group" version="3.3.4.201806221350"/>
-      <repository id="emfCompare" location="https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201806221350/"/>
+      <unit id="org.eclipse.emf.compare.source.feature.group" version="3.3.6.201903050300"/>
+      <unit id="org.eclipse.emf.compare.diagram.gmf.source.feature.group" version="3.3.6.201903050300"/>
+      <unit id="org.eclipse.emf.compare.uml2.source.feature.group" version="3.3.6.201903050300"/>
+      <unit id="org.eclipse.emf.compare.egit.source.feature.group" version="3.3.6.201903050300"/>
+      <unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="3.3.6.201903050300"/>
+      <unit id="org.eclipse.emf.compare.rcp.ui.source.feature.group" version="3.3.6.201903050300"/>
+      <repository id="emfCompare" location="https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201903050300/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.apache.commons.io" version="0.0.0"/>
-      <unit id="org.apache.commons.io.source" version="0.0.0"/>
-      <unit id="com.google.inject" version="0.0.0"/>
-      <unit id="com.google.guava" version="21.0.0.v20170206-1425"/>
-      <unit id="com.google.guava.source" version="21.0.0.v20170206-1425"/>
-      <unit id="javaewah" version="0.0.0"/>
-      <unit id="org.apache.commons.compress" version="0.0.0"/>
-      <unit id="org.apache.commons.lang" version="0.0.0"/>
-      <unit id="org.kohsuke.args4j" version="0.0.0"/>
+      <unit id="org.apache.commons.io" version="2.6.0.v20190123-2029"/>
+      <unit id="org.apache.commons.io.source" version="2.6.0.v20190123-2029"/>
+      <unit id="com.google.inject" version="3.0.0.v201605172100"/>
+      <unit id="com.google.guava" version="27.1.0.v20190517-1946"/>
+      <unit id="com.google.guava.source" version="27.1.0.v20190517-1946"/>
+      <unit id="javaewah" version="1.1.6.v20160919-1400"/>
+      <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
+      <unit id="org.apache.commons.lang" version="2.6.0.v201404270220"/>
+      <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
       <unit id="org.mockito" version="1.9.5.v201605172210"/>
-      <unit id="org.hamcrest" version="0.0.0"/>
-      <unit id="org.hamcrest.library" version="0.0.0"/>
-      <unit id="org.hamcrest.integration" version="0.0.0"/>
-      <unit id="org.hamcrest.text" version="0.0.0"/>
+      <unit id="org.hamcrest" version="1.1.0.v20090501071000"/>
+      <unit id="org.hamcrest.library" version="1.3.0.v20180524-2246"/>
+      <unit id="org.hamcrest.integration" version="1.3.0.v201305210900"/>
+      <unit id="org.hamcrest.text" version="1.1.0.v20090501071000"/>
       <unit id="org.objenesis" version="1.0.0.v201505121915"/>
-      <repository id="orbit" location="http://download.eclipse.org/tools/orbit/downloads/drops/R20180606145124/repository/"/>
+      <repository id="orbit" location="http://download.eclipse.org/tools/orbit/downloads/drops/R20190528213420/repository/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="4.1.0.201809120950"/>
-      <unit id="org.eclipse.papyrus.infra.gmfdiag.feature.feature.group" version="3.0.0.201809120950"/>
-      <unit id="org.eclipse.papyrus.infra.services.feature.feature.group" version="3.0.0.201809120950"/>
-      <unit id="org.eclipse.papyrus.views.properties.toolsmiths" version="2.0.2.201809121107"/>
-      <repository id="papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-09"/>
+      <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="4.3.0.201903131008"/>
+      <unit id="org.eclipse.papyrus.infra.gmfdiag.feature.feature.group" version="3.0.0.201903131008"/>
+      <unit id="org.eclipse.papyrus.infra.services.feature.feature.group" version="3.0.0.201903131008"/>
+      <unit id="org.eclipse.papyrus.views.properties.toolsmiths" version="2.0.2.201903131058"/>
+      <repository id="papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2019-03"/>
     </location>
   </locations>
 </target>
diff --git a/compare/targetplatforms/compare-previous-release.tpd b/compare/targetplatforms/compare-previous-release.tpd
index 573d083..91efabc 100755
--- a/compare/targetplatforms/compare-previous-release.tpd
+++ b/compare/targetplatforms/compare-previous-release.tpd
@@ -1,6 +1,6 @@
 target "Compare Target Platform - Previous Release" with source requirements
 
-location "http://download.eclipse.org/releases/2018-09/" eclipse-2018-09 {
+location eclipse-2019-03 "http://download.eclipse.org/releases/2019-03/" {
 	org.eclipse.platform.feature.group
 	org.eclipse.sdk.feature.group
 	org.eclipse.rcp.feature.group
@@ -20,12 +20,12 @@
 	org.eclipse.uml2.sdk.feature.group
 }
 
-location "https://download.eclipse.org/egit/updates-5.1/" egit {
+location "https://download.eclipse.org/egit/updates-5.3/" egit {
 	org.eclipse.egit.feature.group
 	org.eclipse.jgit.feature.group
 }
 
-location "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201806221350/" emfCompare {
+location emfCompare "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201903050300/" {
 	org.eclipse.emf.compare.source.feature.group [3.3.3,4.0.0)
 	org.eclipse.emf.compare.diagram.gmf.source.feature.group [3.3.3,4.0.0)
 	org.eclipse.emf.compare.uml2.source.feature.group [3.3.3,4.0.0)
@@ -35,12 +35,12 @@
 }
 
 //manualUpdate
-location orbit "http://download.eclipse.org/tools/orbit/downloads/drops/R20180606145124/repository/" {
+location orbit "http://download.eclipse.org/tools/orbit/downloads/drops/R20190528213420/repository/" {
 	org.apache.commons.io
 	org.apache.commons.io.source
 	com.google.inject
-	com.google.guava [21.0.0,22.0.0)
-	com.google.guava.source [21.0.0,22.0.0)
+	com.google.guava [27.1.0,28.0.0)
+	com.google.guava.source [27.1.0,28.0.0)
 	/* Egit/Jgit */
 	javaewah
 	org.apache.commons.compress
@@ -54,7 +54,7 @@
 	org.objenesis [1.0.0,2.0.0)
 }
 
-location papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-09" {
+location papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2019-03" {
 	org.eclipse.papyrus.sdk.feature.feature.group
 	org.eclipse.papyrus.infra.gmfdiag.feature.feature.group
 	org.eclipse.papyrus.infra.services.feature.feature.group
diff --git a/compare/targetplatforms/compare-release.target b/compare/targetplatforms/compare-release.target
index ed25392..9e83991 100644
--- a/compare/targetplatforms/compare-release.target
+++ b/compare/targetplatforms/compare-release.target
@@ -1,48 +1,48 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="Compare Target Platform - Release" sequenceNumber="1562253775">
+<target name="Compare Target Platform - Release" sequenceNumber="1566394799">
   <locations>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.platform.feature.group" version="4.10.0.v20181206-0815"/>
-      <unit id="org.eclipse.sdk.feature.group" version="4.10.0.v20181206-1038"/>
-      <unit id="org.eclipse.rcp.feature.group" version="4.10.0.v20181206-0815"/>
-      <unit id="org.eclipse.jdt.feature.group" version="3.16.0.v20181206-1038"/>
-      <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.2.100.v20180822-1357"/>
-      <unit id="org.eclipse.equinox.executable.feature.group" version="3.8.200.v20180922-1751"/>
+      <unit id="org.eclipse.platform.feature.group" version="4.12.0.v20190605-1801"/>
+      <unit id="org.eclipse.sdk.feature.group" version="4.12.0.v20190605-1801"/>
+      <unit id="org.eclipse.rcp.feature.group" version="4.12.0.v20190605-1801"/>
+      <unit id="org.eclipse.jdt.feature.group" version="3.18.0.v20190605-1800"/>
+      <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.2.200.v20190129-1112"/>
+      <unit id="org.eclipse.equinox.executable.feature.group" version="3.8.400.v20190515-0925"/>
       <unit id="org.eclipse.draw2d" version="3.10.100.201606061308"/>
       <unit id="org.eclipse.gef" version="3.11.0.201606061308"/>
-      <unit id="org.eclipse.m2m.qvt.oml.sdk.feature.group" version="3.9.1.v20181210-1559"/>
-      <unit id="org.eclipse.emf.sdk.feature.group" version="2.16.0.v20181206-1055"/>
-      <unit id="org.eclipse.xsd.sdk.feature.group" version="2.16.0.v20181127-0852"/>
-      <unit id="org.eclipse.emf.validation.sdk.feature.group" version="1.12.0.201805030717"/>
+      <unit id="org.eclipse.m2m.qvt.oml.sdk.feature.group" version="3.9.3.v20190610-0948"/>
+      <unit id="org.eclipse.emf.sdk.feature.group" version="2.18.0.v20190528-0845"/>
+      <unit id="org.eclipse.xsd.sdk.feature.group" version="2.18.0.v20190323-1100"/>
+      <unit id="org.eclipse.emf.validation.sdk.feature.group" version="1.12.1.201812070911"/>
       <unit id="org.eclipse.emf.transaction.sdk.feature.group" version="1.12.0.201805140824"/>
       <unit id="org.eclipse.emf.workspace.feature.group" version="1.12.0.201805140824"/>
       <unit id="org.eclipse.gmf.runtime.notation.sdk.feature.group" version="1.12.0.201805221301"/>
-      <unit id="org.eclipse.gmf.runtime.sdk.feature.group" version="1.12.0.201806010809"/>
+      <unit id="org.eclipse.gmf.runtime.sdk.feature.group" version="1.12.1.201905141505"/>
       <unit id="org.eclipse.uml2.sdk.feature.group" version="5.5.0.v20181203-1331"/>
-      <repository id="eclipse-2018-12" location="http://download.eclipse.org/releases/2018-12/"/>
+      <repository id="eclipse-2019-06" location="http://download.eclipse.org/releases/2019-06/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.egit.feature.group" version="5.1.0.201809111528-r"/>
-      <unit id="org.eclipse.jgit.feature.group" version="5.1.0.201809111528-r"/>
-      <repository id="egit" location="http://download.eclipse.org/egit/updates-5.1"/>
+      <unit id="org.eclipse.egit.feature.group" version="5.4.0.201906121030-r"/>
+      <unit id="org.eclipse.jgit.feature.group" version="5.4.0.201906121030-r"/>
+      <repository id="egit" location="http://download.eclipse.org/egit/updates-5.4"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.emf.compare.source.feature.group" version="3.3.5.201812111422"/>
-      <unit id="org.eclipse.emf.compare.diagram.gmf.source.feature.group" version="3.3.5.201812111422"/>
-      <unit id="org.eclipse.emf.compare.uml2.source.feature.group" version="3.3.5.201812111422"/>
-      <unit id="org.eclipse.emf.compare.egit.source.feature.group" version="3.3.5.201812111422"/>
-      <unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="3.3.5.201812111422"/>
-      <unit id="org.eclipse.emf.compare.rcp.ui.source.feature.group" version="3.3.5.201812111422"/>
-      <repository id="emfCompare" location="https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201812111422/"/>
+      <unit id="org.eclipse.emf.compare.source.feature.group" version="3.3.7.201905300200"/>
+      <unit id="org.eclipse.emf.compare.diagram.gmf.source.feature.group" version="3.3.7.201905300200"/>
+      <unit id="org.eclipse.emf.compare.uml2.source.feature.group" version="3.3.7.201905300200"/>
+      <unit id="org.eclipse.emf.compare.egit.source.feature.group" version="3.3.7.201905300200"/>
+      <unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="3.3.7.201905300200"/>
+      <unit id="org.eclipse.emf.compare.rcp.ui.source.feature.group" version="3.3.7.201905300200"/>
+      <repository id="emfCompare" location="https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201905300200/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.apache.commons.io" version="2.2.0.v201405211200"/>
-      <unit id="org.apache.commons.io.source" version="2.2.0.v201405211200"/>
+      <unit id="org.apache.commons.io" version="2.6.0.v20190123-2029"/>
+      <unit id="org.apache.commons.io.source" version="2.6.0.v20190123-2029"/>
       <unit id="com.google.inject" version="0.0.0"/>
-      <unit id="com.google.guava" version="21.0.0.v20170206-1425"/>
-      <unit id="com.google.guava.source" version="21.0.0.v20170206-1425"/>
+      <unit id="com.google.guava" version="27.1.0.v20190517-1946"/>
+      <unit id="com.google.guava.source" version="27.1.0.v20190517-1946"/>
       <unit id="javaewah" version="1.1.6.v20160919-1400"/>
       <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
       <unit id="org.apache.commons.lang" version="0.0.0"/>
@@ -53,14 +53,14 @@
       <unit id="org.hamcrest.integration" version="1.1.0.v201303031500"/>
       <unit id="org.hamcrest.text" version="0.0.0"/>
       <unit id="org.objenesis" version="1.0.0.v201505121915"/>
-      <repository id="orbit" location="https://download.eclipse.org/tools/orbit/downloads/drops/R20181128170323/repository/"/>
+      <repository id="orbit" location="https://download.eclipse.org/tools/orbit/downloads/drops/I20190602181010/repository/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="4.2.0.201812120922"/>
-      <unit id="org.eclipse.papyrus.infra.gmfdiag.feature.feature.group" version="3.0.0.201812120922"/>
-      <unit id="org.eclipse.papyrus.infra.services.feature.feature.group" version="3.0.0.201812120922"/>
-      <unit id="org.eclipse.papyrus.views.properties.toolsmiths" version="2.0.2.201812121049"/>
-      <repository id="papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12"/>
+      <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="4.4.0.201906121718"/>
+      <unit id="org.eclipse.papyrus.infra.gmfdiag.feature.feature.group" version="3.0.0.201906121718"/>
+      <unit id="org.eclipse.papyrus.infra.services.feature.feature.group" version="3.0.0.201906121718"/>
+      <unit id="org.eclipse.papyrus.views.properties.toolsmiths" version="2.0.2.201906121827"/>
+      <repository id="papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2019-06"/>
     </location>
   </locations>
 </target>
diff --git a/compare/targetplatforms/compare-release.tpd b/compare/targetplatforms/compare-release.tpd
index 000a1c0..65138c3 100755
--- a/compare/targetplatforms/compare-release.tpd
+++ b/compare/targetplatforms/compare-release.tpd
@@ -1,6 +1,6 @@
 target "Compare Target Platform - Release" with source requirements
 
-location "http://download.eclipse.org/releases/2018-12/" eclipse-2018-12 {
+location "http://download.eclipse.org/releases/2019-06/" eclipse-2019-06 {
 	org.eclipse.platform.feature.group
 	org.eclipse.sdk.feature.group
 	org.eclipse.rcp.feature.group
@@ -20,12 +20,12 @@
 	org.eclipse.uml2.sdk.feature.group
 }
 
-location "http://download.eclipse.org/egit/updates-5.1" egit {
+location "http://download.eclipse.org/egit/updates-5.4" egit {
 	org.eclipse.egit.feature.group
 	org.eclipse.jgit.feature.group
 }
 
-location "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201812111422/" emfCompare {
+location emfCompare "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201905300200/" {
 	org.eclipse.emf.compare.source.feature.group [3.3.5,4.0.0)
 	org.eclipse.emf.compare.diagram.gmf.source.feature.group [3.3.5,4.0.0)
 	org.eclipse.emf.compare.uml2.source.feature.group [3.3.5,4.0.0)
@@ -35,12 +35,12 @@
 }
 
 //manualUpdate
-location orbit "https://download.eclipse.org/tools/orbit/downloads/drops/R20181128170323/repository/" {
+location orbit "https://download.eclipse.org/tools/orbit/downloads/drops/I20190602181010/repository/" {
 	org.apache.commons.io
 	org.apache.commons.io.source
 	com.google.inject
-	com.google.guava [21.0.0,22.0.0)
-	com.google.guava.source [21.0.0,22.0.0)
+	com.google.guava [27.1.0,28.0.0)
+	com.google.guava.source [27.1.0,28.0.0)
 	/* Egit/Jgit */
 	javaewah
 	org.apache.commons.compress
@@ -54,7 +54,7 @@
 	org.objenesis [1.0.0,2.0.0)
 }
 
-location papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12" {
+location papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2019-06" {
 	org.eclipse.papyrus.sdk.feature.feature.group
 	org.eclipse.papyrus.infra.gmfdiag.feature.feature.group
 	org.eclipse.papyrus.infra.services.feature.feature.group
diff --git a/compare/targetplatforms/compare.tests-nightly.target b/compare/targetplatforms/compare.tests-nightly.target
index 76fd673..34a5b72 100644
--- a/compare/targetplatforms/compare.tests-nightly.target
+++ b/compare/targetplatforms/compare.tests-nightly.target
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="Compare Target Platform - Nightly, Tests" sequenceNumber="1562253787">
+<target name="Compare Target Platform - Nightly, Tests" sequenceNumber="1566386751">
   <locations>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.draw2d" version="0.0.0"/>
@@ -37,8 +37,8 @@
       <unit id="org.apache.commons.io" version="0.0.0"/>
       <unit id="org.apache.commons.io.source" version="0.0.0"/>
       <unit id="com.google.inject" version="0.0.0"/>
-      <unit id="com.google.guava" version="21.0.0.v20170206-1425"/>
-      <unit id="com.google.guava.source" version="21.0.0.v20170206-1425"/>
+      <unit id="com.google.guava" version="27.1.0.v20190517-1946"/>
+      <unit id="com.google.guava.source" version="27.1.0.v20190517-1946"/>
       <unit id="javaewah" version="0.0.0"/>
       <unit id="org.apache.commons.compress" version="0.0.0"/>
       <unit id="org.apache.commons.lang" version="0.0.0"/>
@@ -52,8 +52,8 @@
       <repository id="orbit" location="https://download.eclipse.org/tools/orbit/downloads/drops/R20190602212107/repository/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="0.0.0"/>
-      <repository id="sysml" location="https://hudson.eclipse.org/papyrus/job/papyrus-sysml14-master/lastStableBuild/artifact/releng/org.eclipse.papyrus.sysml14.p2/target/repository/"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="1.3.200"/>
+      <repository id="sysml" location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.emf.compare.tests.source.feature.group" version="0.0.0"/>
diff --git a/compare/targetplatforms/compare.tests-nightly.tpd b/compare/targetplatforms/compare.tests-nightly.tpd
index 0901615..c2108d6 100755
--- a/compare/targetplatforms/compare.tests-nightly.tpd
+++ b/compare/targetplatforms/compare.tests-nightly.tpd
@@ -3,12 +3,8 @@
 include "compare-nightly.tpd"
 
 // Required for Compare test ProfileMigrationTest and Architecture Framework support tests
-// Required for Compare test ProfileMigrationTest and Architecture Framework support tests
-// NOTE that this is a volatile Hudson build archive. It should be replaced by a stable
-// milestone or release build ASAP!  This is only even remote feasible because it is a
-// tests-only dependency.
-location sysml "https://hudson.eclipse.org/papyrus/job/papyrus-sysml14-master/lastStableBuild/artifact/releng/org.eclipse.papyrus.sysml14.p2/target/repository/" {
-	org.eclipse.papyrus.sysml14.feature.feature.group lazy
+location sysml "http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/" {
+	org.eclipse.papyrus.sysml14.feature.feature.group [1.3.1,2.0.0)
 }
 
 location  "https://download.eclipse.org/modeling/emf/compare/updates/nightly/latest" emfCompare {
diff --git a/compare/targetplatforms/compare.tests-previous-release.target b/compare/targetplatforms/compare.tests-previous-release.target
index d6b8a16..e8e6c0a 100644
--- a/compare/targetplatforms/compare.tests-previous-release.target
+++ b/compare/targetplatforms/compare.tests-previous-release.target
@@ -1,50 +1,41 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="Compare Target Platform - Previous Release, Tests" sequenceNumber="1547647938">
+<target name="Compare Target Platform - Previous Release, Tests" sequenceNumber="1566394815">
   <locations>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.platform.feature.group" version="4.9.0.v20180906-1121"/>
-      <unit id="org.eclipse.sdk.feature.group" version="4.9.0.v20180906-1121"/>
-      <unit id="org.eclipse.rcp.feature.group" version="4.9.0.v20180906-1121"/>
-      <unit id="org.eclipse.jdt.feature.group" version="3.15.0.v20180906-0745"/>
-      <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.2.100.v20180822-1357"/>
-      <unit id="org.eclipse.equinox.executable.feature.group" version="3.8.100.v20180827-1352"/>
+      <unit id="org.eclipse.platform.feature.group" version="4.11.0.v20190307-0500"/>
+      <unit id="org.eclipse.sdk.feature.group" version="4.11.0.v20190307-0943"/>
+      <unit id="org.eclipse.rcp.feature.group" version="4.11.0.v20190307-0500"/>
+      <unit id="org.eclipse.jdt.feature.group" version="3.17.0.v20190307-0500"/>
+      <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.2.200.v20190129-1112"/>
+      <unit id="org.eclipse.equinox.executable.feature.group" version="3.8.300.v20190213-1655"/>
       <unit id="org.eclipse.draw2d" version="3.10.100.201606061308"/>
       <unit id="org.eclipse.gef" version="3.11.0.201606061308"/>
-      <unit id="org.eclipse.m2m.qvt.oml.sdk.feature.group" version="3.9.0.v20180911-0720"/>
-      <unit id="org.eclipse.emf.sdk.feature.group" version="2.15.0.v20180905-1732"/>
-      <unit id="org.eclipse.xsd.sdk.feature.group" version="2.15.0.v20180722-1116"/>
-      <unit id="org.eclipse.emf.validation.sdk.feature.group" version="1.12.0.201805030717"/>
+      <unit id="org.eclipse.m2m.qvt.oml.sdk.feature.group" version="3.9.2.v20190313-0834"/>
+      <unit id="org.eclipse.emf.sdk.feature.group" version="2.17.0.v20190301-1325"/>
+      <unit id="org.eclipse.xsd.sdk.feature.group" version="2.17.0.v20181220-0942"/>
+      <unit id="org.eclipse.emf.validation.sdk.feature.group" version="1.12.1.201812070911"/>
       <unit id="org.eclipse.emf.transaction.sdk.feature.group" version="1.12.0.201805140824"/>
       <unit id="org.eclipse.emf.workspace.feature.group" version="1.12.0.201805140824"/>
       <unit id="org.eclipse.gmf.runtime.notation.sdk.feature.group" version="1.12.0.201805221301"/>
       <unit id="org.eclipse.gmf.runtime.sdk.feature.group" version="1.12.0.201806010809"/>
-      <unit id="org.eclipse.uml2.sdk.feature.group" version="5.4.1.v20180903-1400"/>
-      <repository id="eclipse-2018-09" location="http://download.eclipse.org/releases/2018-09/"/>
+      <unit id="org.eclipse.uml2.sdk.feature.group" version="5.5.0.v20181203-1331"/>
+      <repository id="eclipse-2019-03" location="http://download.eclipse.org/releases/2019-03/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.egit.feature.group" version="5.1.0.201809111528-r"/>
-      <unit id="org.eclipse.jgit.feature.group" version="5.1.0.201809111528-r"/>
-      <repository id="egit" location="https://download.eclipse.org/egit/updates-5.1/"/>
+      <unit id="org.eclipse.egit.feature.group" version="5.3.0.201903130848-r"/>
+      <unit id="org.eclipse.jgit.feature.group" version="5.3.0.201903130848-r"/>
+      <repository id="egit" location="https://download.eclipse.org/egit/updates-5.3/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.emf.compare.source.feature.group" version="3.3.4.201806221350"/>
-      <unit id="org.eclipse.emf.compare.diagram.gmf.source.feature.group" version="3.3.4.201806221350"/>
-      <unit id="org.eclipse.emf.compare.uml2.source.feature.group" version="3.3.4.201806221350"/>
-      <unit id="org.eclipse.emf.compare.egit.source.feature.group" version="3.3.4.201806221350"/>
-      <unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="3.3.4.201806221350"/>
-      <unit id="org.eclipse.emf.compare.rcp.ui.source.feature.group" version="3.3.4.201806221350"/>
-      <repository id="emfCompare" location="https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201806221350/"/>
-    </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.apache.commons.io" version="2.2.0.v201405211200"/>
-      <unit id="org.apache.commons.io.source" version="2.2.0.v201405211200"/>
+      <unit id="org.apache.commons.io" version="2.6.0.v20190123-2029"/>
+      <unit id="org.apache.commons.io.source" version="2.6.0.v20190123-2029"/>
       <unit id="com.google.inject" version="3.0.0.v201605172100"/>
-      <unit id="com.google.guava" version="21.0.0.v20170206-1425"/>
-      <unit id="com.google.guava.source" version="21.0.0.v20170206-1425"/>
+      <unit id="com.google.guava" version="27.1.0.v20190517-1946"/>
+      <unit id="com.google.guava.source" version="27.1.0.v20190517-1946"/>
       <unit id="javaewah" version="1.1.6.v20160919-1400"/>
-      <unit id="org.apache.commons.compress" version="1.15.0.v20180119-1613"/>
+      <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
       <unit id="org.apache.commons.lang" version="2.6.0.v201404270220"/>
       <unit id="org.kohsuke.args4j" version="2.33.0.v20160323-2218"/>
       <unit id="org.mockito" version="1.9.5.v201605172210"/>
@@ -53,22 +44,28 @@
       <unit id="org.hamcrest.integration" version="1.3.0.v201305210900"/>
       <unit id="org.hamcrest.text" version="1.1.0.v20090501071000"/>
       <unit id="org.objenesis" version="1.0.0.v201505121915"/>
-      <repository id="orbit" location="http://download.eclipse.org/tools/orbit/downloads/drops/R20180606145124/repository/"/>
+      <repository id="orbit" location="http://download.eclipse.org/tools/orbit/downloads/drops/R20190528213420/repository/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="4.1.0.201809120950"/>
-      <unit id="org.eclipse.papyrus.infra.gmfdiag.feature.feature.group" version="3.0.0.201809120950"/>
-      <unit id="org.eclipse.papyrus.infra.services.feature.feature.group" version="3.0.0.201809120950"/>
-      <unit id="org.eclipse.papyrus.views.properties.toolsmiths" version="2.0.2.201809121107"/>
-      <repository id="papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-09"/>
+      <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="4.3.0.201903131008"/>
+      <unit id="org.eclipse.papyrus.infra.gmfdiag.feature.feature.group" version="3.0.0.201903131008"/>
+      <unit id="org.eclipse.papyrus.infra.services.feature.feature.group" version="3.0.0.201903131008"/>
+      <unit id="org.eclipse.papyrus.views.properties.toolsmiths" version="2.0.2.201903131058"/>
+      <repository id="papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2019-03"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="1.3.1"/>
+      <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="1.3.200"/>
       <repository id="sysml" location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.emf.compare.tests.source.feature.group" version="3.5.2.201806221350"/>
-      <repository location="https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201806221350//"/>
+      <unit id="org.eclipse.emf.compare.tests.source.feature.group" version="3.5.2.201903050300"/>
+      <unit id="org.eclipse.emf.compare.source.feature.group" version="3.3.6.201903050300"/>
+      <unit id="org.eclipse.emf.compare.diagram.gmf.source.feature.group" version="3.3.6.201903050300"/>
+      <unit id="org.eclipse.emf.compare.uml2.source.feature.group" version="3.3.6.201903050300"/>
+      <unit id="org.eclipse.emf.compare.egit.source.feature.group" version="3.3.6.201903050300"/>
+      <unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="3.3.6.201903050300"/>
+      <unit id="org.eclipse.emf.compare.rcp.ui.source.feature.group" version="3.3.6.201903050300"/>
+      <repository id="emfCompare" location="https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201903050300/"/>
     </location>
   </locations>
 </target>
diff --git a/compare/targetplatforms/compare.tests-previous-release.tpd b/compare/targetplatforms/compare.tests-previous-release.tpd
index 59417b6..e6b27c7 100755
--- a/compare/targetplatforms/compare.tests-previous-release.tpd
+++ b/compare/targetplatforms/compare.tests-previous-release.tpd
@@ -7,6 +7,6 @@
 	org.eclipse.papyrus.sysml14.feature.feature.group [1.3.1,2.0.0)
 }
 
-location  "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201806221350//"  {
+location emfCompare "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201903050300/" {
 	org.eclipse.emf.compare.tests.source.feature.group [3.5.1,4.0.0)
 }
diff --git a/compare/targetplatforms/compare.tests-release.target b/compare/targetplatforms/compare.tests-release.target
index 7f0a7cc..412490f 100644
--- a/compare/targetplatforms/compare.tests-release.target
+++ b/compare/targetplatforms/compare.tests-release.target
@@ -1,39 +1,39 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="Compare Target Platform - Release, Tests" sequenceNumber="1562253851">
+<target name="Compare Target Platform - Release, Tests" sequenceNumber="1566394822">
   <locations>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.platform.feature.group" version="4.10.0.v20181206-0815"/>
-      <unit id="org.eclipse.sdk.feature.group" version="4.10.0.v20181206-1038"/>
-      <unit id="org.eclipse.rcp.feature.group" version="4.10.0.v20181206-0815"/>
-      <unit id="org.eclipse.jdt.feature.group" version="3.16.0.v20181206-1038"/>
-      <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.2.100.v20180822-1357"/>
-      <unit id="org.eclipse.equinox.executable.feature.group" version="3.8.200.v20180922-1751"/>
+      <unit id="org.eclipse.platform.feature.group" version="4.12.0.v20190605-1801"/>
+      <unit id="org.eclipse.sdk.feature.group" version="4.12.0.v20190605-1801"/>
+      <unit id="org.eclipse.rcp.feature.group" version="4.12.0.v20190605-1801"/>
+      <unit id="org.eclipse.jdt.feature.group" version="3.18.0.v20190605-1800"/>
+      <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.2.200.v20190129-1112"/>
+      <unit id="org.eclipse.equinox.executable.feature.group" version="3.8.400.v20190515-0925"/>
       <unit id="org.eclipse.draw2d" version="3.10.100.201606061308"/>
       <unit id="org.eclipse.gef" version="3.11.0.201606061308"/>
-      <unit id="org.eclipse.m2m.qvt.oml.sdk.feature.group" version="3.9.1.v20181210-1559"/>
-      <unit id="org.eclipse.emf.sdk.feature.group" version="2.16.0.v20181206-1055"/>
-      <unit id="org.eclipse.xsd.sdk.feature.group" version="2.16.0.v20181127-0852"/>
-      <unit id="org.eclipse.emf.validation.sdk.feature.group" version="1.12.0.201805030717"/>
+      <unit id="org.eclipse.m2m.qvt.oml.sdk.feature.group" version="3.9.3.v20190610-0948"/>
+      <unit id="org.eclipse.emf.sdk.feature.group" version="2.18.0.v20190528-0845"/>
+      <unit id="org.eclipse.xsd.sdk.feature.group" version="2.18.0.v20190323-1100"/>
+      <unit id="org.eclipse.emf.validation.sdk.feature.group" version="1.12.1.201812070911"/>
       <unit id="org.eclipse.emf.transaction.sdk.feature.group" version="1.12.0.201805140824"/>
       <unit id="org.eclipse.emf.workspace.feature.group" version="1.12.0.201805140824"/>
       <unit id="org.eclipse.gmf.runtime.notation.sdk.feature.group" version="1.12.0.201805221301"/>
-      <unit id="org.eclipse.gmf.runtime.sdk.feature.group" version="1.12.0.201806010809"/>
+      <unit id="org.eclipse.gmf.runtime.sdk.feature.group" version="1.12.1.201905141505"/>
       <unit id="org.eclipse.uml2.sdk.feature.group" version="5.5.0.v20181203-1331"/>
-      <repository id="eclipse-2018-12" location="http://download.eclipse.org/releases/2018-12/"/>
+      <repository id="eclipse-2019-06" location="http://download.eclipse.org/releases/2019-06/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.egit.feature.group" version="5.1.0.201809111528-r"/>
-      <unit id="org.eclipse.jgit.feature.group" version="5.1.0.201809111528-r"/>
-      <repository id="egit" location="http://download.eclipse.org/egit/updates-5.1"/>
+      <unit id="org.eclipse.egit.feature.group" version="5.4.0.201906121030-r"/>
+      <unit id="org.eclipse.jgit.feature.group" version="5.4.0.201906121030-r"/>
+      <repository id="egit" location="http://download.eclipse.org/egit/updates-5.4"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.apache.commons.io" version="2.0.1.v201105210651"/>
-      <unit id="org.apache.commons.io.source" version="2.0.1.v201105210651"/>
+      <unit id="org.apache.commons.io" version="2.6.0.v20190123-2029"/>
+      <unit id="org.apache.commons.io.source" version="2.6.0.v20190123-2029"/>
       <unit id="com.google.inject" version="0.0.0"/>
-      <unit id="com.google.guava" version="21.0.0.v20170206-1425"/>
-      <unit id="com.google.guava.source" version="21.0.0.v20170206-1425"/>
+      <unit id="com.google.guava" version="27.1.0.v20190517-1946"/>
+      <unit id="com.google.guava.source" version="27.1.0.v20190517-1946"/>
       <unit id="javaewah" version="1.1.6.v20160919-1400"/>
       <unit id="org.apache.commons.compress" version="1.18.0.v20181121-2221"/>
       <unit id="org.apache.commons.lang" version="0.0.0"/>
@@ -44,28 +44,28 @@
       <unit id="org.hamcrest.integration" version="0.0.0"/>
       <unit id="org.hamcrest.text" version="0.0.0"/>
       <unit id="org.objenesis" version="1.0.0.v201505121915"/>
-      <repository id="orbit" location="https://download.eclipse.org/tools/orbit/downloads/drops/R20181128170323/repository/"/>
+      <repository id="orbit" location="https://download.eclipse.org/tools/orbit/downloads/drops/I20190602181010/repository/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="4.2.0.201812120922"/>
-      <unit id="org.eclipse.papyrus.infra.gmfdiag.feature.feature.group" version="3.0.0.201812120922"/>
-      <unit id="org.eclipse.papyrus.infra.services.feature.feature.group" version="3.0.0.201812120922"/>
-      <unit id="org.eclipse.papyrus.views.properties.toolsmiths" version="2.0.2.201812121049"/>
-      <repository id="papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12"/>
+      <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="4.4.0.201906121718"/>
+      <unit id="org.eclipse.papyrus.infra.gmfdiag.feature.feature.group" version="3.0.0.201906121718"/>
+      <unit id="org.eclipse.papyrus.infra.services.feature.feature.group" version="3.0.0.201906121718"/>
+      <unit id="org.eclipse.papyrus.views.properties.toolsmiths" version="2.0.2.201906121827"/>
+      <repository id="papyrus" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2019-06"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.papyrus.sysml14.feature.feature.group" version="1.3.200"/>
       <repository id="sysml" location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/"/>
     </location>
     <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.emf.compare.tests.source.feature.group" version="3.5.2.201812111422"/>
-      <unit id="org.eclipse.emf.compare.source.feature.group" version="3.3.5.201812111422"/>
-      <unit id="org.eclipse.emf.compare.diagram.gmf.source.feature.group" version="3.3.5.201812111422"/>
-      <unit id="org.eclipse.emf.compare.uml2.source.feature.group" version="3.3.5.201812111422"/>
-      <unit id="org.eclipse.emf.compare.egit.source.feature.group" version="3.3.5.201812111422"/>
-      <unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="3.3.5.201812111422"/>
-      <unit id="org.eclipse.emf.compare.rcp.ui.source.feature.group" version="3.3.5.201812111422"/>
-      <repository id="emfCompare" location="https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201812111422/"/>
+      <unit id="org.eclipse.emf.compare.tests.source.feature.group" version="3.5.2.201905300200"/>
+      <unit id="org.eclipse.emf.compare.source.feature.group" version="3.3.7.201905300200"/>
+      <unit id="org.eclipse.emf.compare.diagram.gmf.source.feature.group" version="3.3.7.201905300200"/>
+      <unit id="org.eclipse.emf.compare.uml2.source.feature.group" version="3.3.7.201905300200"/>
+      <unit id="org.eclipse.emf.compare.egit.source.feature.group" version="3.3.7.201905300200"/>
+      <unit id="org.eclipse.emf.compare.ide.ui.source.feature.group" version="3.3.7.201905300200"/>
+      <unit id="org.eclipse.emf.compare.rcp.ui.source.feature.group" version="3.3.7.201905300200"/>
+      <repository id="emfCompare" location="https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201905300200/"/>
     </location>
   </locations>
 </target>
diff --git a/compare/targetplatforms/compare.tests-release.tpd b/compare/targetplatforms/compare.tests-release.tpd
index 5631e37..a9dc00f 100755
--- a/compare/targetplatforms/compare.tests-release.tpd
+++ b/compare/targetplatforms/compare.tests-release.tpd
@@ -7,6 +7,6 @@
 	org.eclipse.papyrus.sysml14.feature.feature.group [1.3.0,2.0.0)
 }
 
-location  "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201812111422/" emfCompare {
+location emfCompare "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201905300200/" {
 	org.eclipse.emf.compare.tests.source.feature.group [3.5.1,4.0.0)
 }
diff --git a/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/META-INF/MANIFEST.MF b/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/META-INF/MANIFEST.MF
index 362bcd7..054d0b6 100644
--- a/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/META-INF/MANIFEST.MF
+++ b/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/META-INF/MANIFEST.MF
@@ -23,3 +23,4 @@
  org.eclipse.emf.common;bundle-version="2.11.0",
  org.eclipse.papyrus.compare.uml2;bundle-version="2.5.1"
 Import-Package: org.eclipse.emf.compare.ide.ui.tests
+Automatic-Module-Name: org.eclipse.papyrus.compare.diagram.tests.git
diff --git a/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/src/org/eclipse/papyrus/compare/diagram/tests/egit/fixture/MockSystemReader.java b/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/src/org/eclipse/papyrus/compare/diagram/tests/egit/fixture/MockSystemReader.java
index ac0ec7a..fd6014a 100644
--- a/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/src/org/eclipse/papyrus/compare/diagram/tests/egit/fixture/MockSystemReader.java
+++ b/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/src/org/eclipse/papyrus/compare/diagram/tests/egit/fixture/MockSystemReader.java
@@ -57,6 +57,7 @@
 import org.eclipse.jgit.errors.ConfigInvalidException;
 import org.eclipse.jgit.lib.Config;
 import org.eclipse.jgit.lib.Constants;
+import org.eclipse.jgit.lib.StoredConfig;
 import org.eclipse.jgit.storage.file.FileBasedConfig;
 import org.eclipse.jgit.util.FS;
 import org.eclipse.jgit.util.SystemReader;
@@ -82,7 +83,7 @@
 		}
 	}
 
-	final Map<String, String> values = new HashMap<String, String>();
+	final Map<String, String> values = new HashMap<>();
 
 	FileBasedConfig userGitConfig;
 
@@ -197,4 +198,12 @@
 		setProperty("path.separator", ":");
 		setProperty("line.separator", "\n");
 	}
+
+	public StoredConfig getUserConfig() throws IOException, ConfigInvalidException {
+		return userGitConfig;
+	}
+
+	public StoredConfig getSystemConfig() throws IOException, ConfigInvalidException {
+		return systemGitConfig;
+	}
 }
diff --git a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/META-INF/MANIFEST.MF b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/META-INF/MANIFEST.MF
index fcd00cc..0c6d37d 100644
--- a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/META-INF/MANIFEST.MF
+++ b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/META-INF/MANIFEST.MF
@@ -45,7 +45,8 @@
  org.eclipse.papyrus.sysml14.architecture;bundle-version="1.0.0",
  org.eclipse.papyrus.uml.diagram.component;bundle-version="3.0.0",
  org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="2.1.0",
- org.eclipse.papyrus.infra.architecture.representation;bundle-version="1.0.0"
+ org.eclipse.papyrus.infra.architecture.representation;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.gmfdiag.css
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Bundle-Vendor: %providerName
 Import-Package: com.google.common.base;version="[15.0.0,22.0.0)",
@@ -54,4 +55,71 @@
  com.google.common.io;version="[15.0.0,22.0.0)",
  org.eclipse.papyrus.infra.core.sashwindows.di,
  org.eclipse.papyrus.infra.core.sashwindows.di.util
-Export-Package: org.eclipse.papyrus.compare.diagram.tests
+Export-Package: org.eclipse.papyrus.compare.diagram.tests,
+ org.eclipse.papyrus.compare.diagram.tests.comparison,
+ org.eclipse.papyrus.compare.diagram.tests.comparison.data,
+ org.eclipse.papyrus.compare.diagram.tests.context,
+ org.eclipse.papyrus.compare.diagram.tests.context.data.ecore,
+ org.eclipse.papyrus.compare.diagram.tests.context.data.papyrus,
+ org.eclipse.papyrus.compare.diagram.tests.css,
+ org.eclipse.papyrus.compare.diagram.tests.css.data,
+ org.eclipse.papyrus.compare.diagram.tests.difile,
+ org.eclipse.papyrus.compare.diagram.tests.difile.data.left,
+ org.eclipse.papyrus.compare.diagram.tests.difile.data.origin,
+ org.eclipse.papyrus.compare.diagram.tests.difile.data.right,
+ org.eclipse.papyrus.compare.diagram.tests.groups,
+ org.eclipse.papyrus.compare.diagram.tests.groups.data.a1,
+ org.eclipse.papyrus.compare.diagram.tests.groups.data.conflictsgroup,
+ org.eclipse.papyrus.compare.diagram.tests.groups.data.conflictsgroup.bug478539.left,
+ org.eclipse.papyrus.compare.diagram.tests.groups.data.conflictsgroup.bug478539.origin,
+ org.eclipse.papyrus.compare.diagram.tests.groups.data.conflictsgroup.bug478539.right,
+ org.eclipse.papyrus.compare.diagram.tests.merge,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.conflict.c1,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.conflict.t1,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.threeway.c1,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.threeway.t1,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.twoway.a1,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.twoway.a2,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.twoway.t1,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a1,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a2,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a3,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a4,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a5,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a6,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a7,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.nodes.a1,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.nodes.a2,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.nodes.a3,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.nodes.a4,
+ org.eclipse.papyrus.compare.diagram.tests.merge.data.nodes.a5,
+ org.eclipse.papyrus.compare.diagram.tests.merge.sysml,
+ org.eclipse.papyrus.compare.diagram.tests.migration,
+ org.eclipse.papyrus.compare.diagram.tests.migration.data.a1,
+ org.eclipse.papyrus.compare.diagram.tests.modelextension,
+ org.eclipse.papyrus.compare.diagram.tests.modelextension.data.customparametermodel,
+ org.eclipse.papyrus.compare.diagram.tests.modelextension.data.fileextension,
+ org.eclipse.papyrus.compare.diagram.tests.modelextension.data.noparametermodel,
+ org.eclipse.papyrus.compare.diagram.tests.modelextension.data.nulldata,
+ org.eclipse.papyrus.compare.diagram.tests.modelextension.data.nullmodel,
+ org.eclipse.papyrus.compare.diagram.tests.modelextension.data.nullparametermodel,
+ org.eclipse.papyrus.compare.diagram.tests.modelextension.data.runtimeexceptionmodel,
+ org.eclipse.papyrus.compare.diagram.tests.saveparameter,
+ org.eclipse.papyrus.compare.diagram.tests.saveparameter.data.a1,
+ org.eclipse.papyrus.compare.diagram.tests.saveparameter.data.a2,
+ org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions,
+ org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions.data.bug487151.classes.left,
+ org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions.data.bug487151.classes.origin,
+ org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions.data.bug487151.classes.right,
+ org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions.data.bug487151.ecore.left,
+ org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions.data.bug487151.ecore.origin,
+ org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions.data.bug487151.ecore.right,
+ org.eclipse.papyrus.compare.diagram.tests.suite,
+ org.eclipse.papyrus.compare.diagram.tests.uriattachment,
+ org.eclipse.papyrus.compare.diagram.tests.uriattachment.data,
+ org.eclipse.papyrus.compare.diagram.tests.uriattachment.data.a1.left,
+ org.eclipse.papyrus.compare.diagram.tests.uriattachment.data.a1.origin,
+ org.eclipse.papyrus.compare.diagram.tests.uriattachment.data.a1.right,
+ org.eclipse.papyrus.compare.diagram.tests.util
+Automatic-Module-Name: org.eclipse.papyrus.compare.diagram.tests
diff --git a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/modelextension/ModelExtensionUtilTest.java b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/modelextension/ModelExtensionUtilTest.java
index 7583e30..c1c2437 100644
--- a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/modelextension/ModelExtensionUtilTest.java
+++ b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/modelextension/ModelExtensionUtilTest.java
@@ -25,9 +25,9 @@
 import org.eclipse.core.runtime.ContributorFactoryOSGi;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.Platform;
-import org.eclipse.papyrus.compare.diagram.ide.ui.util.ModelExtensionUtil;
 import org.eclipse.papyrus.compare.diagram.tests.modelextension.data.customparametermodel.CustomParameterModel;
 import org.eclipse.papyrus.compare.diagram.tests.util.PapyrusSaveParameterUtil;
+import org.eclipse.papyrus.compare.diagram.util.ModelExtensionUtil;
 import org.eclipse.papyrus.infra.core.resource.AbstractBaseModel;
 import org.junit.Test;
 import org.osgi.framework.Bundle;
@@ -37,7 +37,7 @@
  * 
  * @author Stefan Dirix <sdirix@eclipsesource.com>
  */
-@SuppressWarnings("restriction")
+@SuppressWarnings({"restriction", "nls" })
 public class ModelExtensionUtilTest {
 
 	/**
@@ -212,12 +212,13 @@
 	 *             If an exception occurs during reading the custom extension file.
 	 */
 	private boolean register(final String extensionPath) throws IOException {
-		final InputStream inputStream = getClass().getResource("data/" + extensionPath).openStream();
-		final Bundle bundle = Platform.getBundle("org.eclipse.papyrus.compare.diagram.tests");
+		try (final InputStream inputStream = getClass().getResource("data/" + extensionPath).openStream()) {
+			final Bundle bundle = Platform.getBundle("org.eclipse.papyrus.compare.diagram.tests");
 
-		final ExtensionRegistry registry = (ExtensionRegistry)Platform.getExtensionRegistry();
-		return registry.addContribution(inputStream, ContributorFactoryOSGi.createContributor(bundle), false,
-				extensionPath, null, registry.getTemporaryUserToken());
+			final ExtensionRegistry registry = (ExtensionRegistry)Platform.getExtensionRegistry();
+			return registry.addContribution(inputStream, ContributorFactoryOSGi.createContributor(bundle),
+					false, extensionPath, null, registry.getTemporaryUserToken());
+		}
 	}
 
 }
diff --git a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/saveparameter/SaveParameterHookTest.java b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/saveparameter/SaveParameterHookTest.java
index 2b407ed..32666b4 100644
--- a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/saveparameter/SaveParameterHookTest.java
+++ b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/saveparameter/SaveParameterHookTest.java
@@ -36,6 +36,7 @@
  * 
  * @author Stefan Dirix <sdirix@eclipsesource.com>
  */
+@SuppressWarnings("nls")
 public class SaveParameterHookTest {
 
 	/**
diff --git a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/util/PapyrusSaveParameterUtil.java b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/util/PapyrusSaveParameterUtil.java
index c020b50..f0e5abd 100644
--- a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/util/PapyrusSaveParameterUtil.java
+++ b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/util/PapyrusSaveParameterUtil.java
@@ -16,7 +16,7 @@
 import org.eclipse.emf.ecore.xmi.XMLResource;
 import org.eclipse.papyrus.infra.core.resource.AbstractBaseModel;
 import org.eclipse.papyrus.infra.core.resource.sasheditor.DiModel;
-import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationModel;
+import org.eclipse.papyrus.infra.gmfdiag.css.resource.CSSNotationModel;
 import org.eclipse.papyrus.uml.tools.model.UmlModel;
 
 /**
@@ -93,9 +93,14 @@
 	/**
 	 * Helper class to retrieve the save parameters of Papyrus notation models.
 	 */
-	private static class NotationSaveParametersHelper extends NotationModel {
+	private static class NotationSaveParametersHelper extends CSSNotationModel {
 		public Map<Object, Object> getSaveParametersForTest() {
-			return super.getSaveOptions();
+			// after Papyrus 2019-03 they introduced a field modelKind of type ModelKind and
+			// return the default save options only if modelKind == ModelKind.master
+			// to remain backwards compatible, we just skip the code in
+			// AbstractModelWithSharedResource.getSaveOptions()
+			// instead of setting the modelKind to ModelKind.master
+			return getDefaultSaveOptions();
 		}
 	}
 
diff --git a/compare/tests/org.eclipse.papyrus.compare.uml2.tests/META-INF/MANIFEST.MF b/compare/tests/org.eclipse.papyrus.compare.uml2.tests/META-INF/MANIFEST.MF
index ff7e982..7a9ab2e 100644
--- a/compare/tests/org.eclipse.papyrus.compare.uml2.tests/META-INF/MANIFEST.MF
+++ b/compare/tests/org.eclipse.papyrus.compare.uml2.tests/META-INF/MANIFEST.MF
@@ -32,7 +32,7 @@
  org.eclipse.emf.compare.ide;bundle-version="3.3.0",
  org.eclipse.papyrus.compare.uml2,
  org.eclipse.papyrus.infra.core,
- org.eclipse.papyrus.uml.modelrepair;bundle-version="2.0.0"
+ org.eclipse.papyrus.uml.modelrepair;bundle-version="2.0.0",
+ com.google.guava;bundle-version="[27.0.0,28.0.0)"
 Bundle-ActivationPolicy: lazy
-Import-Package: com.google.common.base;version="[15.0.0,22.0.0)",
- com.google.common.collect;version="[15.0.0,22.0.0)"
+Automatic-Module-Name: org.eclipse.papyrus.compare.uml2.tests
diff --git a/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/PapyrusComparePredicates.java b/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/PapyrusComparePredicates.java
new file mode 100644
index 0000000..61118f9
--- /dev/null
+++ b/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/PapyrusComparePredicates.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2012, 2016 Obeo and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     Obeo - initial API and implementation
+ *     Stefan Dirix - bug 441172
+ *     Philip Langer - add additional predicates
+ *     Tanja Mayerhofer - bug 501864
+ *******************************************************************************/
+package org.eclipse.papyrus.compare.uml2.tests.profiles.migration;
+
+import com.google.common.base.Predicate;
+
+import java.util.Arrays;
+
+import org.eclipse.emf.compare.Conflict;
+import org.eclipse.emf.compare.ConflictKind;
+import org.eclipse.emf.compare.Diff;
+import org.eclipse.emf.compare.DifferenceKind;
+
+public class PapyrusComparePredicates {
+
+	/**
+	 * This class does not need to be instantiated.
+	 */
+	private PapyrusComparePredicates() {
+		// Hides default constructor
+	}
+
+	/**
+	 * This predicate can be used to check whether a particular diff is of the given {@code kind}. This is
+	 * mainly used to differentiate additions from deletions.
+	 * 
+	 * @param kind
+	 *            The kind we expect this diff to have.
+	 * @return The created predicate.
+	 */
+	public static Predicate<? super Diff> ofKind(final DifferenceKind kind) {
+		return new Predicate<Diff>() {
+			public boolean apply(Diff input) {
+				return input != null && input.getKind() == kind;
+			}
+		};
+	}
+
+	/**
+	 * This can be used to check whether a given Conflict is of one of the given kind.
+	 * 
+	 * @param kinds
+	 *            Type(s) of the conflict(s) we seek.
+	 * @return The created predicate.
+	 */
+	public static Predicate<? super Conflict> containsConflictOfTypes(final ConflictKind... kinds) {
+		return new Predicate<Conflict>() {
+			public boolean apply(Conflict input) {
+				return input != null && input.getKind() != null
+						&& Arrays.asList(kinds).contains(input.getKind());
+			}
+		};
+	}
+
+}
diff --git a/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/ProfileMigrationTest.java b/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/ProfileMigrationTest.java
index 7bbca8a..3a8261f 100644
--- a/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/ProfileMigrationTest.java
+++ b/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/ProfileMigrationTest.java
@@ -17,6 +17,10 @@
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+import com.google.common.collect.Iterables;
+
 import java.util.List;
 
 import org.eclipse.emf.common.util.Diagnostic;
@@ -38,7 +42,6 @@
 import org.eclipse.emf.compare.uml2.internal.ProfileApplicationChange;
 import org.eclipse.emf.compare.uml2.internal.StereotypeApplicationChange;
 import org.eclipse.emf.compare.uml2.internal.StereotypeAttributeChange;
-import org.eclipse.emf.compare.utils.EMFComparePredicates;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.util.FeatureMap.Entry;
@@ -54,10 +57,6 @@
 import org.junit.rules.TestRule;
 import org.junit.runner.RunWith;
 
-import com.google.common.base.Predicate;
-import com.google.common.base.Predicates;
-import com.google.common.collect.Iterables;
-
 /**
  * <p>
  * Tests whether the {@link ProfileMigrationHook profile migration} correctly migrates the models if their
@@ -82,7 +81,8 @@
  * </p>
  * <ul>
  * <li>Block package definition: http://www.eclipse.org/papyrus/compare/test/profile/MyML/Blocks<b>/1</b></li>
- * <li>Viewpoint package definition: http://www.eclipse.org/papyrus/compare/test/profile/MyML/ModelElements<b>/1</b></li>
+ * <li>Viewpoint package definition:
+ * http://www.eclipse.org/papyrus/compare/test/profile/MyML/ModelElements<b>/1</b></li>
  * </ul>
  * <p>
  * If the number at the end would not be given, both packages would be assumed to be the same and some
@@ -91,17 +91,17 @@
  * 
  * @author Martin Fleck <mfleck@eclipsesource.com>
  */
-@SuppressWarnings({"nls", "restriction"})
+@SuppressWarnings({"nls", "restriction" })
 @RunWith(RuntimeTestRunner.class)
 @DiffEngines({DefaultDiffEngine.class })
 public class ProfileMigrationTest {
 
 	/** Qualified name of the {@code Block} stereotype. */
 	public static final String BLOCK = "MyML::Blocks::Block";
-	
+
 	/** Qualified name of the {@code Viewpoint} stereotype. */
 	public static final String VIEWPOINT = "MyML::ModelElements::Viewpoint";
-	
+
 	/**
 	 * Default value for the purpose feature of the Viewpoint stereotype.
 	 */
@@ -125,7 +125,7 @@
 
 	@ClassRule
 	public static final TestRule READ_ONLY_RULE = new TestResourceReadOnlyHandler.Rule();
-	
+
 	/*
 	 * ============================ Helper Methods ============================
 	 */
@@ -297,10 +297,11 @@
 
 		assertEquals(expectedDifferences, viewPointDifferences.size());
 		assertTrue(Iterables.all(viewPointDifferences, Predicates.instanceOf(AttributeChange.class)));
-		assertTrue(Iterables.all(viewPointDifferences, EMFComparePredicates.ofKind(DifferenceKind.CHANGE)));
+		assertTrue(
+				Iterables.all(viewPointDifferences, PapyrusComparePredicates.ofKind(DifferenceKind.CHANGE)));
 		assertEquals(expectedDifferences, classDifferences.size());
 		assertTrue(Iterables.all(classDifferences, Predicates.instanceOf(StereotypeAttributeChange.class)));
-		assertTrue(Iterables.all(classDifferences, EMFComparePredicates.ofKind(DifferenceKind.CHANGE)));
+		assertTrue(Iterables.all(classDifferences, PapyrusComparePredicates.ofKind(DifferenceKind.CHANGE)));
 	}
 
 	/**
@@ -335,15 +336,16 @@
 		final Iterable<Diff> resourceAttachmentChanges = Iterables.filter(stereotypeDifferences,
 				Predicates.instanceOf(ResourceAttachmentChange.class));
 		assertEquals(expectedDifferences, Iterables.size(resourceAttachmentChanges));
-		assertTrue(Iterables.all(resourceAttachmentChanges, EMFComparePredicates.ofKind(DifferenceKind.ADD)));
+		assertTrue(Iterables.all(resourceAttachmentChanges,
+				PapyrusComparePredicates.ofKind(DifferenceKind.ADD)));
 		final Iterable<Diff> referenceChanges = Iterables.filter(stereotypeDifferences,
 				Predicates.instanceOf(ReferenceChange.class));
 		assertEquals(expectedDifferences, Iterables.size(referenceChanges));
-		assertTrue(Iterables.all(referenceChanges, EMFComparePredicates.ofKind(DifferenceKind.CHANGE)));
+		assertTrue(Iterables.all(referenceChanges, PapyrusComparePredicates.ofKind(DifferenceKind.CHANGE)));
 
 		assertEquals(expectedDifferences, classDifferences.size());
 		assertTrue(Iterables.all(classDifferences, Predicates.instanceOf(StereotypeApplicationChange.class)));
-		assertTrue(Iterables.all(classDifferences, EMFComparePredicates.ofKind(DifferenceKind.ADD)));
+		assertTrue(Iterables.all(classDifferences, PapyrusComparePredicates.ofKind(DifferenceKind.ADD)));
 	}
 
 	/**
@@ -369,8 +371,8 @@
 				Predicates.instanceOf(ProfileApplicationChange.class));
 
 		assertEquals(expectedDifferences, Iterables.size(profileApplicationChanges));
-		assertTrue(
-				Iterables.all(profileApplicationChanges, EMFComparePredicates.ofKind(DifferenceKind.DELETE)));
+		assertTrue(Iterables.all(profileApplicationChanges,
+				PapyrusComparePredicates.ofKind(DifferenceKind.DELETE)));
 	}
 
 	/*
@@ -789,7 +791,7 @@
 			// 1 PSEUDO conflict: Viewpoint::purpose changed on both sides to equal value
 			assertEquals((conflicts.size() - 1) + " unexpected conflicts", 1, conflicts.size());
 			assertTrue(Iterables.all(conflicts,
-					EMFComparePredicates.containsConflictOfTypes(ConflictKind.PSEUDO)));
+					PapyrusComparePredicates.containsConflictOfTypes(ConflictKind.PSEUDO)));
 
 			// 2 differences on both sides related to viewPointChange: Attribute change refining a
 			// StereotypeAttributeChange
@@ -836,7 +838,7 @@
 			// 1 REAL conflict: Viewpoint::purpose changed on both sides to equal value
 			assertEquals((conflicts.size() - 1) + " unexpected conflicts", 1, conflicts.size());
 			assertTrue(Iterables.all(conflicts,
-					EMFComparePredicates.containsConflictOfTypes(ConflictKind.REAL)));
+					PapyrusComparePredicates.containsConflictOfTypes(ConflictKind.REAL)));
 
 			// 2 differences on both sides related to viewPointChange: Attribute change refining a
 			// StereotypeAttributeChange
@@ -1099,7 +1101,8 @@
 	 * this example we use the following definitions for the origin model:
 	 * <ul>
 	 * <li>Block definition: http://www.eclipse.org/papyrus/compare/test/beta/profile/MyML/Blocks</li>
-	 * <li>Viewpoint definition: http://www.eclipse.org/papyrus/compare/test/beta/profile/MyML/ModelElements</li>
+	 * <li>Viewpoint definition:
+	 * http://www.eclipse.org/papyrus/compare/test/beta/profile/MyML/ModelElements</li>
 	 * </ul>
 	 * As a result, both definitions are assumed to be the same and the we only migrate stereotypes of the
 	 * first found package. The remaining stereotypes can not be migrated with this package (as the definition
@@ -1161,7 +1164,7 @@
 			// 4 PSEUDO conflict: stereotype application (2)
 			assertEquals((conflicts.size() - 2) + " unexpected conflicts", 2, conflicts.size());
 			assertTrue(Iterables.all(conflicts,
-					EMFComparePredicates.containsConflictOfTypes(ConflictKind.PSEUDO)));
+					PapyrusComparePredicates.containsConflictOfTypes(ConflictKind.PSEUDO)));
 
 			// 2 differences on both sides related to stereotype removal: ResourceAttachmentChange and
 			// ReferenceChange refining a StereotypeApplicationChange