Add Papyrus Compare update site and extends Papyrus Compare feature

This change adds a dedicated composite update site to enable users
installing Papyrus Compare easily from one update site. It also extends
the feature to include all relevant EMF Compare features.

Change-Id: Ied09dbb5393a7de80c84bebaf1c1f5ccb68849d8
Signed-off-by: Camille Letavernier <cletavernier@eclipsesource.com>
Also-by: Philip Langer <planger@eclipsesource.com>
diff --git a/plugins/compare/bundles/org.eclipse.papyrus.compare.feature/feature.xml b/plugins/compare/bundles/org.eclipse.papyrus.compare.feature/feature.xml
index f37203c..4061609 100644
--- a/plugins/compare/bundles/org.eclipse.papyrus.compare.feature/feature.xml
+++ b/plugins/compare/bundles/org.eclipse.papyrus.compare.feature/feature.xml
@@ -21,6 +21,30 @@
    <license url="%licenseURL">
       %license
    </license>
+   
+   <includes
+         id="org.eclipse.emf.compare"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.emf.compare.diagram.gmf"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.emf.compare.egit"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.emf.compare.ide.ui"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.emf.compare.rcp.ui"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.emf.compare.uml2"
+         version="0.0.0"/>
 
    <plugin
          id="org.eclipse.papyrus.compare.uml2"
diff --git a/plugins/compare/bundles/pom.xml b/plugins/compare/bundles/pom.xml
index 5f1ccda..be757e8 100644
--- a/plugins/compare/bundles/pom.xml
+++ b/plugins/compare/bundles/pom.xml
@@ -1,16 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<parent>
 		<groupId>org.eclipse.papyrus.compare</groupId>
 		<artifactId>org.eclipse.papyrus.compare.releng</artifactId>
 		<version>0.7.0-SNAPSHOT</version>
 	</parent>
-	
-	<properties>
-		<target.file>${target.folder}/compare-release</target.file>
-	</properties>
-	
+
 	<artifactId>org.eclipse.papyrus.compare.bundles.parent</artifactId>
 	<packaging>pom</packaging>
 
diff --git a/plugins/compare/org.eclipse.papyrus.compare.p2/.project b/plugins/compare/org.eclipse.papyrus.compare.p2/.project
index 4c9d544..6f2c3c0 100644
--- a/plugins/compare/org.eclipse.papyrus.compare.p2/.project
+++ b/plugins/compare/org.eclipse.papyrus.compare.p2/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.UpdateSiteNature</nature>
 	</natures>
-</projectDescription>
+</projectDescription>
\ No newline at end of file
diff --git a/plugins/compare/org.eclipse.papyrus.compare.p2/category.xml b/plugins/compare/org.eclipse.papyrus.compare.p2/category.xml
index ec617b5..f8db90e 100644
--- a/plugins/compare/org.eclipse.papyrus.compare.p2/category.xml
+++ b/plugins/compare/org.eclipse.papyrus.compare.p2/category.xml
@@ -11,4 +11,8 @@
          Papyrus Compare Category
       </description>
    </category-def>
+   <!-- This is currently ignored by Tycho, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=453708 -->
+   <!-- We add those sites in the root pom.xml now instead as a workaround -->
+   <repository-reference location="http://download.eclipse.org/releases/oxygen/" enabled="true" />
+   <repository-reference location="http://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201709090201" enabled="true" />
 </site>
diff --git a/plugins/compare/org.eclipse.papyrus.compare.p2/pom.xml b/plugins/compare/org.eclipse.papyrus.compare.p2/pom.xml
index 256b4eb..517bdb0 100644
--- a/plugins/compare/org.eclipse.papyrus.compare.p2/pom.xml
+++ b/plugins/compare/org.eclipse.papyrus.compare.p2/pom.xml
@@ -12,6 +12,17 @@
 	<version>0.7.0-SNAPSHOT</version>
 	<packaging>eclipse-repository</packaging>
 
+	<pluginRepositories>
+		<pluginRepository>
+			<id>jboss-public-repository-group</id>
+			<name>JBoss Public Repository Group</name>
+			<url>http://repository.jboss.org/nexus/content/groups/public/</url>
+			<snapshots>
+				<enabled>false</enabled>
+			</snapshots>
+		</pluginRepository>
+	</pluginRepositories>
+
 	<build>
 		<plugins>
 			<plugin>
@@ -22,6 +33,26 @@
 					<includePackedArtifacts>true</includePackedArtifacts>
 				</configuration>
 			</plugin>
+			<!-- workaround https://bugs.eclipse.org/bugs/show_bug.cgi?id=453708 -->
+			<plugin>
+				<groupId>org.jboss.tools.tycho-plugins</groupId>
+				<artifactId>repository-utils</artifactId>
+				<version>1.0.0</version>
+				<executions>
+					<execution>
+						<phase>package</phase>
+						<goals>
+							<goal>generate-repository-facade</goal>
+						</goals>
+						<configuration>
+							<associateSites>
+								<associateSite>${emf-compare.p2.repo}</associateSite>
+								<associateSite>${egit.p2.repo}</associateSite>
+							</associateSites>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
 		</plugins>
 	</build>
 </project>
diff --git a/plugins/compare/pom.xml b/plugins/compare/pom.xml
index 38f2dce..1fd3ec5 100755
--- a/plugins/compare/pom.xml
+++ b/plugins/compare/pom.xml
@@ -38,6 +38,10 @@
 
 		<!-- Platform properties -->
 		<env.ui.test>-Xms256m -Xmx1024m</env.ui.test>
+
+		<!-- P2 Repo References -->
+		<egit.p2.repo>http://download.eclipse.org/releases/oxygen/</egit.p2.repo>
+		<emf-compare.p2.repo>http://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201709090201</emf-compare.p2.repo>
 	</properties>
 
 	<pluginRepositories>
@@ -181,6 +185,16 @@
 						<goals>
 							<goal>source-feature</goal>
 						</goals>
+						<configuration>
+							<excludes>
+								<feature id="org.eclipse.emf.compare" />
+								<feature id="org.eclipse.emf.compare.diagram.gmf" />
+								<feature id="org.eclipse.emf.compare.egit" />
+								<feature id="org.eclipse.emf.compare.ide.ui" />
+								<feature id="org.eclipse.emf.compare.rcp.ui" />
+								<feature id="org.eclipse.emf.compare.uml2" />
+							</excludes>
+						</configuration>
 					</execution>
 				</executions>
 			</plugin>
@@ -237,7 +251,7 @@
 			</plugin>
 		</plugins>
 	</build>
-	
+
 	<profiles>
 		<profile>
 			<id>packAndSign</id> <!-- Stable release profile. Takes +30min. Eclipse servers only -->
@@ -355,6 +369,19 @@
 				</property>
 			</activation>
 		</profile>
+		<profile>
+			<id>nightly</id>
+			<activation>
+				<property>
+					<name>target.stream</name>
+					<value>nightly</value>
+				</property>
+			</activation>
+			<properties>
+				<egit.p2.repo>http://download.eclipse.org/egit/updates</egit.p2.repo>
+				<emf-compare.p2.repo>http://download.eclipse.org/modeling/emf/compare/updates/nightly/latest</emf-compare.p2.repo>
+			</properties>
+		</profile>
 	</profiles>
 
 	<modules>
diff --git a/plugins/compare/targetplatforms/compare-nightly.target b/plugins/compare/targetplatforms/compare-nightly.target
index 4cb89ac..1612572 100644
--- a/plugins/compare/targetplatforms/compare-nightly.target
+++ b/plugins/compare/targetplatforms/compare-nightly.target
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="Compare Target Platform - Nightly" sequenceNumber="1508837327">
+<target name="Compare Target Platform - Nightly" sequenceNumber="1509377777">
   <locations>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.rcp.feature.group" version="0.0.0"/>
@@ -19,29 +19,30 @@
       <unit id="org.eclipse.xsd.sdk.feature.group" version="0.0.0"/>
       <repository id="eclipse-oxygen" location="http://download.eclipse.org/staging/oxygen/"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.egit.feature.group" version="4.9.0.201710071750-r"/>
       <unit id="org.eclipse.jgit.feature.group" version="4.9.0.201710071750-r"/>
       <repository id="EGit" location="http://download.eclipse.org/egit/updates"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.papyrus.views.properties.toolsmiths" version="0.0.0"/>
       <repository id="papyrusNightly" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/oxygen"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.xwt.feature.feature.group" version="1.3.1.I20171018-2059"/>
       <repository id="xwt" location="http://download.eclipse.org/xwt/updates"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.emf.compare.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.emf.compare.diagram.gmf.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.emf.compare.uml2.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.emf.compare.egit.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.emf.compare.ide.ui.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.emf.compare.rcp.ui.feature.group" version="0.0.0"/>
       <repository id="emfCompare" location="http://download.eclipse.org/modeling/emf/compare/updates/nightly/latest"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <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"/>
diff --git a/plugins/compare/targetplatforms/compare-nightly.tpd b/plugins/compare/targetplatforms/compare-nightly.tpd
index 429db8a..23772bd 100755
--- a/plugins/compare/targetplatforms/compare-nightly.tpd
+++ b/plugins/compare/targetplatforms/compare-nightly.tpd
@@ -1,4 +1,4 @@
-target "Compare Target Platform - Nightly" with requirements
+target "Compare Target Platform - Nightly" with source requirements
 
 location "http://download.eclipse.org/staging/oxygen/" eclipse-oxygen {
 	org.eclipse.platform.feature.group lazy
@@ -16,6 +16,10 @@
 	org.eclipse.xsd.sdk.feature.group lazy
 }
 
+/*
+ * If changed, this should also be changed in Papyrus Compare's root pom.xml, in the nightly profile
+ * Search all references to egit.p2.repo
+ */
 location "http://download.eclipse.org/egit/updates" EGit {
 	org.eclipse.egit.feature.group [4.9.0,5.0.0)
 	org.eclipse.jgit.feature.group [4.9.0,5.0.0)
@@ -30,12 +34,17 @@
 	org.eclipse.xwt.feature.feature.group [1.3.1,2.0.0)
 }
 
+/*
+ * If changed, this should also be changed in Papyrus Compare's root pom.xml, in the nightly profile
+ * Search all references to emf-compare.p2.repo
+ */
 location emfCompare "http://download.eclipse.org/modeling/emf/compare/updates/nightly/latest" {
 	org.eclipse.emf.compare.feature.group lazy
 	org.eclipse.emf.compare.diagram.gmf.feature.group lazy
 	org.eclipse.emf.compare.uml2.feature.group lazy
 	org.eclipse.emf.compare.egit.feature.group lazy
 	org.eclipse.emf.compare.ide.ui.feature.group lazy
+	org.eclipse.emf.compare.rcp.ui.feature.group lazy
 }
 
 location orbit "http://download.eclipse.org/tools/orbit/downloads/drops/R20170307180635/repository" {
diff --git a/plugins/compare/targetplatforms/compare-release-base.target b/plugins/compare/targetplatforms/compare-release-base.target
index 7c2eb49..39b210d 100644
--- a/plugins/compare/targetplatforms/compare-release-base.target
+++ b/plugins/compare/targetplatforms/compare-release-base.target
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="Compare Target Platform - Base for Release" sequenceNumber="1508836529">
+<target name="Compare Target Platform - Base for Release" sequenceNumber="1509377878">
   <locations>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.platform.feature.group" version="4.7.1.v20171009-0410"/>
       <unit id="org.eclipse.sdk.feature.group" version="4.7.1.v20171009-0537"/>
       <unit id="org.eclipse.rcp.feature.group" version="4.7.1.v20171009-0410"/>
@@ -21,16 +21,20 @@
       <unit id="org.eclipse.gmf.runtime.notation.sdk.feature.group" version="1.11.0.201706061354"/>
       <unit id="org.eclipse.gmf.runtime.sdk.feature.group" version="1.11.0.201706061437"/>
       <unit id="org.eclipse.uml2.sdk.feature.group" version="5.3.0.v20170605-1616"/>
+      <unit id="org.eclipse.egit.feature.group" version="4.8.0.201706111038-r"/>
+      <unit id="org.eclipse.jgit.feature.group" version="4.8.0.201706111038-r"/>
+      <repository id="eclipse-oxygen" location="http://download.eclipse.org/releases/oxygen/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.emf.compare.source.feature.group" version="3.3.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.diagram.gmf.source.feature.group" version="3.3.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.uml2.feature.group" version="3.3.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.egit.feature.group" version="1.2.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.ide.ui.feature.group" version="3.3.2.201709090201"/>
-      <unit id="org.eclipse.egit.feature.group" version="4.8.0.201706111038-r"/>
-      <unit id="org.eclipse.jgit.feature.group" version="4.8.0.201706111038-r"/>
-      <repository id="eclipse-oxygen" location="http://download.eclipse.org/releases/oxygen/"/>
+      <unit id="org.eclipse.emf.compare.rcp.ui.feature.group" version="3.3.2.201709090201"/>
+      <repository id="emfCompare" location="http://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201709090201"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <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"/>
diff --git a/plugins/compare/targetplatforms/compare-release-base.tpd b/plugins/compare/targetplatforms/compare-release-base.tpd
index 40f5447..81bb5a0 100755
--- a/plugins/compare/targetplatforms/compare-release-base.tpd
+++ b/plugins/compare/targetplatforms/compare-release-base.tpd
@@ -2,7 +2,7 @@
 //Papyrus tests need the Nightlies, whereas we want to build against the Release. We can't mix both in a single TP.
 //So we need a generic base TP that excludes Papyrus, then Main and Tests will add the version of Papyrus they need
 
-target "Compare Target Platform - Base for Release" with requirements
+target "Compare Target Platform - Base for Release" with source requirements
 
 location "http://download.eclipse.org/releases/oxygen/" eclipse-oxygen {
 	org.eclipse.platform.feature.group
@@ -22,13 +22,17 @@
 	org.eclipse.gmf.runtime.notation.sdk.feature.group
 	org.eclipse.gmf.runtime.sdk.feature.group
 	org.eclipse.uml2.sdk.feature.group
+	org.eclipse.egit.feature.group
+	org.eclipse.jgit.feature.group
+}
+
+location "http://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201709090201" emfCompare {
 	org.eclipse.emf.compare.source.feature.group
 	org.eclipse.emf.compare.diagram.gmf.source.feature.group
 	org.eclipse.emf.compare.uml2.feature.group 
 	org.eclipse.emf.compare.egit.feature.group 
-	org.eclipse.emf.compare.ide.ui.feature.group 
-	org.eclipse.egit.feature.group
-	org.eclipse.jgit.feature.group
+	org.eclipse.emf.compare.ide.ui.feature.group
+	org.eclipse.emf.compare.rcp.ui.feature.group
 }
 
 //manualUpdate
diff --git a/plugins/compare/targetplatforms/compare-release.target b/plugins/compare/targetplatforms/compare-release.target
index abc4e16..a97800a 100644
--- a/plugins/compare/targetplatforms/compare-release.target
+++ b/plugins/compare/targetplatforms/compare-release.target
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="Compare Target Platform - Release" sequenceNumber="1508836529">
+<target name="Compare Target Platform - Release" sequenceNumber="1509377878">
   <locations>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.platform.feature.group" version="4.7.1.v20171009-0410"/>
       <unit id="org.eclipse.sdk.feature.group" version="4.7.1.v20171009-0537"/>
       <unit id="org.eclipse.rcp.feature.group" version="4.7.1.v20171009-0410"/>
@@ -21,16 +21,20 @@
       <unit id="org.eclipse.gmf.runtime.notation.sdk.feature.group" version="1.11.0.201706061354"/>
       <unit id="org.eclipse.gmf.runtime.sdk.feature.group" version="1.11.0.201706061437"/>
       <unit id="org.eclipse.uml2.sdk.feature.group" version="5.3.0.v20170605-1616"/>
+      <unit id="org.eclipse.egit.feature.group" version="4.8.0.201706111038-r"/>
+      <unit id="org.eclipse.jgit.feature.group" version="4.8.0.201706111038-r"/>
+      <repository id="eclipse-oxygen" location="http://download.eclipse.org/releases/oxygen/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.emf.compare.source.feature.group" version="3.3.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.diagram.gmf.source.feature.group" version="3.3.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.uml2.feature.group" version="3.3.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.egit.feature.group" version="1.2.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.ide.ui.feature.group" version="3.3.2.201709090201"/>
-      <unit id="org.eclipse.egit.feature.group" version="4.8.0.201706111038-r"/>
-      <unit id="org.eclipse.jgit.feature.group" version="4.8.0.201706111038-r"/>
-      <repository id="eclipse-oxygen" location="http://download.eclipse.org/releases/oxygen/"/>
+      <unit id="org.eclipse.emf.compare.rcp.ui.feature.group" version="3.3.2.201709090201"/>
+      <repository id="emfCompare" location="http://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201709090201"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <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"/>
@@ -48,7 +52,7 @@
       <unit id="org.objenesis" version="1.0.0.v201505121915"/>
       <repository id="orbit" location="http://download.eclipse.org/tools/orbit/downloads/drops/R20170307180635/repository"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="3.1.0.201709130748"/>
       <unit id="org.eclipse.papyrus.infra.gmfdiag.feature.feature.group" version="3.0.0.201709130748"/>
       <unit id="org.eclipse.papyrus.infra.services.feature.feature.group" version="3.0.0.201709130748"/>
diff --git a/plugins/compare/targetplatforms/compare-release.tpd b/plugins/compare/targetplatforms/compare-release.tpd
index 1489bb1..5ff8827 100755
--- a/plugins/compare/targetplatforms/compare-release.tpd
+++ b/plugins/compare/targetplatforms/compare-release.tpd
@@ -1,4 +1,4 @@
-target "Compare Target Platform - Release" with requirements
+target "Compare Target Platform - Release" with source requirements
 
 include "compare-release-base.tpd"
 
diff --git a/plugins/compare/targetplatforms/compare.tests-nightly.target b/plugins/compare/targetplatforms/compare.tests-nightly.target
index 5f1be1c..3c13ce1 100644
--- a/plugins/compare/targetplatforms/compare.tests-nightly.target
+++ b/plugins/compare/targetplatforms/compare.tests-nightly.target
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="Compare Target Platform - Nightly, Tests" sequenceNumber="1508837327">
+<target name="Compare Target Platform - Nightly, Tests" sequenceNumber="1509377777">
   <locations>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.sdk.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.rcp.feature.group" version="0.0.0"/>
@@ -19,21 +19,21 @@
       <unit id="org.eclipse.xsd.sdk.feature.group" version="0.0.0"/>
       <repository id="eclipse-oxygen" location="http://download.eclipse.org/staging/oxygen/"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.egit.feature.group" version="4.9.0.201710071750-r"/>
       <unit id="org.eclipse.jgit.feature.group" version="4.9.0.201710071750-r"/>
       <repository id="EGit" location="http://download.eclipse.org/egit/updates"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.papyrus.views.properties.toolsmiths" version="0.0.0"/>
       <repository id="papyrusNightly" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/oxygen"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.xwt.feature.feature.group" version="1.3.1.I20171018-2059"/>
       <repository id="xwt" location="http://download.eclipse.org/xwt/updates"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <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"/>
@@ -51,16 +51,16 @@
       <unit id="org.objenesis" version="1.0.0.v201505121915"/>
       <repository id="orbit" location="http://download.eclipse.org/tools/orbit/downloads/drops/R20170307180635/repository"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.papyrus.junit.utils" version="0.0.0"/>
       <unit id="org.eclipse.papyrus.junit.framework" version="0.0.0"/>
       <repository location="https://hudson.eclipse.org/papyrus/job/Papyrus-Master-Developer/lastSuccessfulBuild/artifact/repository/"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.papyrus.sysml14" version="0.0.0"/>
       <repository id="sysml" location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/oxygen"/>
     </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.emf.compare.rcp.ui.source.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.emf.compare.tests.source.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.emf.compare.feature.group" version="0.0.0"/>
@@ -68,6 +68,7 @@
       <unit id="org.eclipse.emf.compare.uml2.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.emf.compare.egit.feature.group" version="0.0.0"/>
       <unit id="org.eclipse.emf.compare.ide.ui.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.emf.compare.rcp.ui.feature.group" version="0.0.0"/>
       <repository id="emfCompare" location="http://download.eclipse.org/modeling/emf/compare/updates/nightly/latest"/>
     </location>
   </locations>
diff --git a/plugins/compare/targetplatforms/compare.tests-nightly.tpd b/plugins/compare/targetplatforms/compare.tests-nightly.tpd
index c8af4b1..841d764 100755
--- a/plugins/compare/targetplatforms/compare.tests-nightly.tpd
+++ b/plugins/compare/targetplatforms/compare.tests-nightly.tpd
@@ -1,4 +1,4 @@
-target "Compare Target Platform - Nightly, Tests" with requirements
+target "Compare Target Platform - Nightly, Tests" with source requirements
 
 include "compare-nightly.tpd"
 
diff --git a/plugins/compare/targetplatforms/compare.tests-release.target b/plugins/compare/targetplatforms/compare.tests-release.target
index b75d4f4..4a3231b 100644
--- a/plugins/compare/targetplatforms/compare.tests-release.target
+++ b/plugins/compare/targetplatforms/compare.tests-release.target
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <?pde?>
 <!-- generated with https://github.com/mbarbero/fr.obeo.releng.targetplatform -->
-<target name="Compare Target Platform - Release, Tests" sequenceNumber="1508844227">
+<target name="Compare Target Platform - Release, Tests" sequenceNumber="1509377878">
   <locations>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
       <unit id="org.eclipse.platform.feature.group" version="4.7.1.v20171009-0410"/>
       <unit id="org.eclipse.sdk.feature.group" version="4.7.1.v20171009-0537"/>
       <unit id="org.eclipse.rcp.feature.group" version="4.7.1.v20171009-0410"/>
@@ -21,56 +21,56 @@
       <unit id="org.eclipse.gmf.runtime.notation.sdk.feature.group" version="1.11.0.201706061354"/>
       <unit id="org.eclipse.gmf.runtime.sdk.feature.group" version="1.11.0.201706061437"/>
       <unit id="org.eclipse.uml2.sdk.feature.group" version="5.3.0.v20170605-1616"/>
+      <unit id="org.eclipse.egit.feature.group" version="4.8.0.201706111038-r"/>
+      <unit id="org.eclipse.jgit.feature.group" version="4.8.0.201706111038-r"/>
+      <repository id="eclipse-oxygen" location="http://download.eclipse.org/releases/oxygen/"/>
+    </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.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.objenesis" version="1.0.0.v201505121915"/>
+      <repository id="orbit" location="http://download.eclipse.org/tools/orbit/downloads/drops/R20170307180635/repository"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.junit.utils" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.junit.framework" version="0.0.0"/>
+      <repository location="https://hudson.eclipse.org/papyrus/job/Papyrus-Master-Developer/lastSuccessfulBuild/artifact/repository/"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="0.0.0"/>
+      <unit id="org.eclipse.papyrus.infra.nattable.feature.feature.group" version="0.0.0"/>
+      <repository id="papyrusNightly" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/oxygen"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.xwt.feature.feature.group" version="1.3.1.I20171018-2059"/>
+      <repository id="xwt" location="http://download.eclipse.org/xwt/updates"/>
+    </location>
+    <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+      <unit id="org.eclipse.papyrus.sysml14" version="0.0.0"/>
+      <repository id="sysml" location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/oxygen"/>
+    </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.0.201709090201"/>
+      <unit id="org.eclipse.emf.compare.uml2.source.feature.group" version="3.3.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.source.feature.group" version="3.3.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.diagram.gmf.source.feature.group" version="3.3.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.uml2.feature.group" version="3.3.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.egit.feature.group" version="1.2.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.ide.ui.feature.group" version="3.3.2.201709090201"/>
-      <unit id="org.eclipse.egit.feature.group" version="4.8.0.201706111038-r"/>
-      <unit id="org.eclipse.jgit.feature.group" version="4.8.0.201706111038-r"/>
-      <repository id="eclipse-oxygen" location="http://download.eclipse.org/releases/oxygen/"/>
-    </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" 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="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="javaewah" version="1.1.6.v20160919-1400"/>
-      <unit id="org.apache.commons.compress" version="1.6.0.v201310281400"/>
-      <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="1.1.0.v20090501071000"/>
-      <unit id="org.hamcrest.library" version="1.3.0.v201505072020"/>
-      <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/R20170307180635/repository"/>
-    </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.papyrus.junit.utils" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.junit.framework" version="0.0.0"/>
-      <repository location="https://hudson.eclipse.org/papyrus/job/Papyrus-Master-Developer/lastSuccessfulBuild/artifact/repository/"/>
-    </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="0.0.0"/>
-      <unit id="org.eclipse.papyrus.infra.nattable.feature.feature.group" version="0.0.0"/>
-      <repository id="papyrusNightly" location="http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/oxygen"/>
-    </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.xwt.feature.feature.group" version="1.3.1.I20171018-2059"/>
-      <repository id="xwt" location="http://download.eclipse.org/xwt/updates"/>
-    </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.papyrus.sysml14" version="1.0.0"/>
-      <repository id="sysml" location="http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/oxygen"/>
-    </location>
-    <location includeMode="planner" includeAllPlatforms="false" includeSource="false" includeConfigurePhase="false" type="InstallableUnit">
-      <unit id="org.eclipse.emf.compare.tests.source.feature.group" version="3.5.0.201709090201"/>
-      <unit id="org.eclipse.emf.compare.uml2.source.feature.group" version="3.3.2.201709090201"/>
       <unit id="org.eclipse.emf.compare.rcp.ui.feature.group" version="3.3.2.201709090201"/>
-      <repository id="emfCompare" location="http://download.eclipse.org/modeling/emf/compare/updates/releases/3.3"/>
+      <repository id="emfCompare" location="http://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201709090201"/>
     </location>
   </locations>
 </target>
diff --git a/plugins/compare/targetplatforms/compare.tests-release.tpd b/plugins/compare/targetplatforms/compare.tests-release.tpd
index 082bfb1..b4944c1 100755
--- a/plugins/compare/targetplatforms/compare.tests-release.tpd
+++ b/plugins/compare/targetplatforms/compare.tests-release.tpd
@@ -1,4 +1,4 @@
-target "Compare Target Platform - Release, Tests" with requirements
+target "Compare Target Platform - Release, Tests" with source requirements
 
 include "compare-release-base.tpd"
 
@@ -29,8 +29,7 @@
 	org.eclipse.papyrus.sysml14 
 }
 
-location emfCompare "http://download.eclipse.org/modeling/emf/compare/updates/releases/3.3" {
+location emfCompare "http://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201709090201" {
 	org.eclipse.emf.compare.tests.source.feature.group  
 	org.eclipse.emf.compare.uml2.source.feature.group
-	org.eclipse.emf.compare.rcp.ui.feature.group 
 }
\ No newline at end of file