Bug 482252: Add EMF Compare and EGit dependencies to setup

Factor out the compare bundles into a new Compare sub-project.

Signed-off-by: Christian W. Damus <give.a.damus@gmail.com>
Also-by: Philip Langer <planger@eclipsesource.com>
Change-Id: Iaa11e0e448b33153e9937764e608b35d51ee5870
diff --git a/content/setup/papyrus-rt-developer.setup b/content/setup/papyrus-rt-developer.setup
index f4527ee..45bfd45 100644
--- a/content/setup/papyrus-rt-developer.setup
+++ b/content/setup/papyrus-rt-developer.setup
@@ -241,11 +241,11 @@
         <repository
             url="${base.downloads.url}/releases/mars/"/>
         <repository
+            url="${base.downloads.url}/modeling/emf/compare/updates/logical/emf.compare/nightly/latest"/>
+        <repository
+            url="${base.downloads.url}/modeling/emf/compare/updates/egit-logical/nightly"/>
+        <repository
             url="https://hudson.eclipse.org/papyrus/job/Papyrus-Mars-Developer/lastSuccessfulBuild/artifact/repository"/>
-        <repository
-            url="http://download.eclipse.org/modeling/emf/compare/updates/logical/emf.compare/nightly/latest"/>
-        <repository
-            url="http://download.eclipse.org/modeling/emf/compare/updates/egit-logical/nightly"/>
       </repositoryList>
       <repositoryList
           name="Neon">
@@ -264,11 +264,11 @@
         <repository
             url="${base.downloads.url}/modeling/mdt/papyrus/components/designer/"/>
         <repository
+            url="${base.downloads.url}/modeling/emf/compare/updates/logical/emf.compare/nightly/latest"/>
+        <repository
+            url="${base.downloads.url}/modeling/emf/compare/updates/egit-logical/nightly"/>
+        <repository
             url="https://hudson.eclipse.org/papyrus/job/Papyrus-Master-Developer/lastSuccessfulBuild/artifact/repository"/>
-        <repository
-            url="http://download.eclipse.org/modeling/emf/compare/updates/logical/emf.compare/nightly/latest"/>
-        <repository
-            url="http://download.eclipse.org/modeling/emf/compare/updates/egit-logical/nightly"/>
       </repositoryList>
     </targlet>
   </setupTask>
@@ -469,9 +469,29 @@
     <setupTask
         xsi:type="projects:ProjectsImportTask">
       <sourceLocator
-          rootFolder="${papyrus-rt.git.clone.location/plugins/umlrt/tooling}"/>
+          rootFolder="${papyrus-rt.git.clone.location/plugins/umlrt/tooling}">
+        <predicate
+            xsi:type="predicates:AndPredicate">
+          <operand
+              xsi:type="predicates:NotPredicate">
+            <operand
+                xsi:type="predicates:NamePredicate"
+                pattern="org\.eclipse\.papyrusrt\.umlrt\.tooling\.compare(\..+|$)"/>
+          </operand>
+        </predicate>
+      </sourceLocator>
       <sourceLocator
-          rootFolder="${papyrus-rt.git.clone.location/tests/junit/umlrt/tooling}"/>
+          rootFolder="${papyrus-rt.git.clone.location/tests/junit/umlrt/tooling}">
+        <predicate
+            xsi:type="predicates:AndPredicate">
+          <operand
+              xsi:type="predicates:NotPredicate">
+            <operand
+                xsi:type="predicates:NamePredicate"
+                pattern="org\.eclipse\.papyrusrt\.umlrt\.tooling\.compare(\..+|$)"/>
+          </operand>
+        </predicate>
+      </sourceLocator>
     </setupTask>
     <setupTask
         xsi:type="setup.workingsets:WorkingSetTask">
@@ -485,6 +505,9 @@
           <operand
               xsi:type="predicates:LocationPredicate"
               pattern=".*/plugins/umlrt/tooling/.*"/>
+          <operand
+              xsi:type="workingsets:ExclusionPredicate"
+              excludedWorkingSet="//@projects[name='compare']/@setupTasks.1/@workingSets.0"/>
         </predicate>
       </workingSet>
       <workingSet
@@ -497,6 +520,9 @@
           <operand
               xsi:type="predicates:LocationPredicate"
               pattern=".*/tests/junit/umlrt/tooling/.*"/>
+          <operand
+              xsi:type="workingsets:ExclusionPredicate"
+              excludedWorkingSet="//@projects[name='compare']/@setupTasks.1/@workingSets.1"/>
         </predicate>
       </workingSet>
       <description>The dynamic working sets for ${scope.project.label}</description>
@@ -508,6 +534,68 @@
         name="master"
         label="master (Neon/1.0)"/>
   </project>
+  <project name="compare"
+      label="Compare">
+    <setupTask
+        xsi:type="projects:ProjectsImportTask">
+      <sourceLocator
+          rootFolder="${papyrus-rt.git.clone.location/plugins/umlrt/tooling}">
+        <predicate
+            xsi:type="predicates:AndPredicate">
+          <operand
+              xsi:type="predicates:NamePredicate"
+              pattern="org\.eclipse\.papyrusrt\.umlrt\.tooling\.compare(\..+|$)"/>
+        </predicate>
+      </sourceLocator>
+      <sourceLocator
+          rootFolder="${papyrus-rt.git.clone.location/tests/junit/umlrt/tooling}">
+        <predicate
+            xsi:type="predicates:AndPredicate">
+          <operand
+              xsi:type="predicates:NamePredicate"
+              pattern="org\.eclipse\.papyrusrt\.umlrt\.tooling\.compare(\..+|$)"/>
+        </predicate>
+      </sourceLocator>
+    </setupTask>
+    <setupTask
+        xsi:type="setup.workingsets:WorkingSetTask">
+      <workingSet
+          name="Papyrus UML-RT Compare">
+        <predicate
+            xsi:type="predicates:AndPredicate">
+          <operand
+              xsi:type="predicates:RepositoryPredicate"
+              project="org.eclipse.papyrusrt.umlrt.tooling.ui"/>
+          <operand
+              xsi:type="predicates:LocationPredicate"
+              pattern=".*/plugins/umlrt/tooling/.*"/>
+          <operand
+              xsi:type="predicates:NamePredicate"
+              pattern="org\.eclipse\.papyrusrt\.umlrt\.tooling\.compare(\..+|$)"/>
+        </predicate>
+      </workingSet>
+      <workingSet
+          name="Papyrus UML-RT Compare Tests">
+        <predicate
+            xsi:type="predicates:AndPredicate">
+          <operand
+              xsi:type="predicates:RepositoryPredicate"
+              project="org.eclipse.papyrusrt.umlrt.tooling.ui.tests"/>
+          <operand
+              xsi:type="predicates:LocationPredicate"
+              pattern=".*/tests/junit/umlrt/tooling/.*"/>
+          <operand
+              xsi:type="predicates:NamePredicate"
+              pattern="org\.eclipse\.papyrusrt\.umlrt\.tooling\.compare(\..+|$)"/>
+        </predicate>
+      </workingSet>
+      <description>The dynamic working sets for ${scope.project.label}</description>
+    </setupTask>
+    <stream
+        name="master"
+        label="master (Neon/1.0)"/>
+    <description>EMF Compare extensions for customization of UML-RT compare/merge experience.</description>
+  </project>
   <project name="codegen"
       label="Codegen">
     <setupTask