[cps] fix setup and various minor build errors

Change-Id: I75a824c6be478d9cb8478bba1d47066d9b6d4c1a
Signed-off-by: Abel Hegedus <abel.hegedus@incquerylabs.com>
diff --git a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/AvailableGreaterThanTotalCpuConstraint0.java b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/AvailableGreaterThanTotalCpuConstraint0.java
index 5ca0daa..8e2bcfc 100644
--- a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/AvailableGreaterThanTotalCpuConstraint0.java
+++ b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/AvailableGreaterThanTotalCpuConstraint0.java
@@ -56,15 +56,13 @@
 
     @Override
     public Set<List<String>> getSymmetricPropertyNames() {
-        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>();
         return symmetricPropertyNamesSet;
     }
 
     @Override
     public Set<List<String>> getSymmetricKeyNames() {
-        Set<List<String>> symmetricKeyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricKeyNamesSet = new HashSet<>();
         return symmetricKeyNamesSet;
     }
 
diff --git a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/AvailableGreaterThanTotalHddConstraint0.java b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/AvailableGreaterThanTotalHddConstraint0.java
index 79dba1a..faf8942 100644
--- a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/AvailableGreaterThanTotalHddConstraint0.java
+++ b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/AvailableGreaterThanTotalHddConstraint0.java
@@ -56,15 +56,13 @@
 
     @Override
     public Set<List<String>> getSymmetricPropertyNames() {
-        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>();
         return symmetricPropertyNamesSet;
     }
 
     @Override
     public Set<List<String>> getSymmetricKeyNames() {
-        Set<List<String>> symmetricKeyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricKeyNamesSet = new HashSet<>();
         return symmetricKeyNamesSet;
     }
 
diff --git a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/AvailableGreaterThanTotalRamConstraint0.java b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/AvailableGreaterThanTotalRamConstraint0.java
index c1f9c03..5cf2bca 100644
--- a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/AvailableGreaterThanTotalRamConstraint0.java
+++ b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/AvailableGreaterThanTotalRamConstraint0.java
@@ -56,15 +56,13 @@
 
     @Override
     public Set<List<String>> getSymmetricPropertyNames() {
-        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>();
         return symmetricPropertyNamesSet;
     }
 
     @Override
     public Set<List<String>> getSymmetricKeyNames() {
-        Set<List<String>> symmetricKeyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricKeyNamesSet = new HashSet<>();
         return symmetricKeyNamesSet;
     }
 
diff --git a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/IdContainsWhitespaceConstraint0.java b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/IdContainsWhitespaceConstraint0.java
index 56acc14..19e965d 100644
--- a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/IdContainsWhitespaceConstraint0.java
+++ b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/IdContainsWhitespaceConstraint0.java
@@ -56,15 +56,13 @@
 
     @Override
     public Set<List<String>> getSymmetricPropertyNames() {
-        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>();
         return symmetricPropertyNamesSet;
     }
 
     @Override
     public Set<List<String>> getSymmetricKeyNames() {
-        Set<List<String>> symmetricKeyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricKeyNamesSet = new HashSet<>();
         return symmetricKeyNamesSet;
     }
 
diff --git a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/IdIsNotUniqueConstraint0.java b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/IdIsNotUniqueConstraint0.java
index e811860..afdf8c7 100644
--- a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/IdIsNotUniqueConstraint0.java
+++ b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/IdIsNotUniqueConstraint0.java
@@ -56,15 +56,13 @@
 
     @Override
     public Set<List<String>> getSymmetricPropertyNames() {
-        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>();
         return symmetricPropertyNamesSet;
     }
 
     @Override
     public Set<List<String>> getSymmetricKeyNames() {
-        Set<List<String>> symmetricKeyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricKeyNamesSet = new HashSet<>();
         return symmetricKeyNamesSet;
     }
 
diff --git a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/InitialStateNotContainedByStateMachineConstraint0.java b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/InitialStateNotContainedByStateMachineConstraint0.java
index 1981b04..1ead3f5 100644
--- a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/InitialStateNotContainedByStateMachineConstraint0.java
+++ b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/InitialStateNotContainedByStateMachineConstraint0.java
@@ -57,15 +57,13 @@
 
     @Override
     public Set<List<String>> getSymmetricPropertyNames() {
-        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>();
         return symmetricPropertyNamesSet;
     }
 
     @Override
     public Set<List<String>> getSymmetricKeyNames() {
-        Set<List<String>> symmetricKeyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricKeyNamesSet = new HashSet<>();
         return symmetricKeyNamesSet;
     }
 
diff --git a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/MultipleApplicationInstanceInCommunicationGroupConstraint0.java b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/MultipleApplicationInstanceInCommunicationGroupConstraint0.java
index 45d6afc..c363732 100644
--- a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/MultipleApplicationInstanceInCommunicationGroupConstraint0.java
+++ b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/MultipleApplicationInstanceInCommunicationGroupConstraint0.java
@@ -57,15 +57,13 @@
 
     @Override
     public Set<List<String>> getSymmetricPropertyNames() {
-        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>();
         return symmetricPropertyNamesSet;
     }
 
     @Override
     public Set<List<String>> getSymmetricKeyNames() {
-        Set<List<String>> symmetricKeyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricKeyNamesSet = new HashSet<>();
         return symmetricKeyNamesSet;
     }
 
diff --git a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/MultipleTransitionsWithSameActionConstraint0.java b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/MultipleTransitionsWithSameActionConstraint0.java
index ca23d12..732e01a 100644
--- a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/MultipleTransitionsWithSameActionConstraint0.java
+++ b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/MultipleTransitionsWithSameActionConstraint0.java
@@ -57,15 +57,13 @@
 
     @Override
     public Set<List<String>> getSymmetricPropertyNames() {
-        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>();
         return symmetricPropertyNamesSet;
     }
 
     @Override
     public Set<List<String>> getSymmetricKeyNames() {
-        Set<List<String>> symmetricKeyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricKeyNamesSet = new HashSet<>();
         return symmetricKeyNamesSet;
     }
 
diff --git a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/NodeIpIsNotUniqueConstraint0.java b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/NodeIpIsNotUniqueConstraint0.java
index 29c29fd..659c1a5 100644
--- a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/NodeIpIsNotUniqueConstraint0.java
+++ b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/NodeIpIsNotUniqueConstraint0.java
@@ -56,15 +56,13 @@
 
     @Override
     public Set<List<String>> getSymmetricPropertyNames() {
-        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>();
         return symmetricPropertyNamesSet;
     }
 
     @Override
     public Set<List<String>> getSymmetricKeyNames() {
-        Set<List<String>> symmetricKeyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricKeyNamesSet = new HashSet<>();
         return symmetricKeyNamesSet;
     }
 
diff --git a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/NotAllocatedButRunningConstraint0.java b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/NotAllocatedButRunningConstraint0.java
index 9e7a9d4..3b5d672 100644
--- a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/NotAllocatedButRunningConstraint0.java
+++ b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/NotAllocatedButRunningConstraint0.java
@@ -56,15 +56,13 @@
 
     @Override
     public Set<List<String>> getSymmetricPropertyNames() {
-        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>();
         return symmetricPropertyNamesSet;
     }
 
     @Override
     public Set<List<String>> getSymmetricKeyNames() {
-        Set<List<String>> symmetricKeyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricKeyNamesSet = new HashSet<>();
         return symmetricKeyNamesSet;
     }
 
diff --git a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/TargetStateNotContainedBySameStateMachineConstraint0.java b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/TargetStateNotContainedBySameStateMachineConstraint0.java
index ce6896e..cac4a5a 100644
--- a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/TargetStateNotContainedBySameStateMachineConstraint0.java
+++ b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/TargetStateNotContainedBySameStateMachineConstraint0.java
@@ -57,15 +57,13 @@
 
     @Override
     public Set<List<String>> getSymmetricPropertyNames() {
-        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>();
         return symmetricPropertyNamesSet;
     }
 
     @Override
     public Set<List<String>> getSymmetricKeyNames() {
-        Set<List<String>> symmetricKeyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricKeyNamesSet = new HashSet<>();
         return symmetricKeyNamesSet;
     }
 
diff --git a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/TransitionWithoutTargetStateConstraint0.java b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/TransitionWithoutTargetStateConstraint0.java
index 41986a6..bc77537 100644
--- a/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/TransitionWithoutTargetStateConstraint0.java
+++ b/cps/addons/org.eclipse.viatra.examples.cps.queries.validation/src-gen/org/eclipse/viatra/examples/cps/model/validation/TransitionWithoutTargetStateConstraint0.java
@@ -56,15 +56,13 @@
 
     @Override
     public Set<List<String>> getSymmetricPropertyNames() {
-        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricPropertyNamesSet = new HashSet<>();
         return symmetricPropertyNamesSet;
     }
 
     @Override
     public Set<List<String>> getSymmetricKeyNames() {
-        Set<List<String>> symmetricKeyNamesSet = new HashSet<>(
-        );
+        Set<List<String>> symmetricKeyNamesSet = new HashSet<>();
         return symmetricKeyNamesSet;
     }
 
diff --git a/cps/releng/org.eclipse.viatra.examples.cps.setup/CPSExample.setup b/cps/releng/org.eclipse.viatra.examples.cps.setup/CPSExample.setup
index 1884d4f..0ece6a5 100644
--- a/cps/releng/org.eclipse.viatra.examples.cps.setup/CPSExample.setup
+++ b/cps/releng/org.eclipse.viatra.examples.cps.setup/CPSExample.setup
@@ -100,13 +100,11 @@
         name="org.eclipse.viatra.query.testing.sdk.feature.feature.group"/>
     <requirement
         name="org.eclipse.viatra.addon.viewers.tooling.feature.feature.group"
-        versionRange="[0.20.0,0.21.0)"/>
+        versionRange="[2.0.0,3.0.0)"/>
     <requirement
         name="org.eclipse.xtext.sdk.feature.group"
         versionRange="[2.13.0,3.0.0)"/>
     <requirement
-        name="org.eclipse.viatra.query.tooling.ui.visualization.feature.feature.group"/>
-    <requirement
         name="com.google.inject.multibindings"
         versionRange="[3.0.0,4.0.0)"/>
     <requirement
@@ -159,10 +157,8 @@
       <requirement
           name="org.eclipse.viatra.query.testing.sdk.feature.feature.group"/>
       <requirement
-          name="org.eclipse.viatra.query.tooling.ui.visualization.feature.feature.group"/>
-      <requirement
           name="org.eclipse.viatra.addon.viewers.tooling.feature.feature.group"
-          versionRange="[0.20.0,0.22.0)"/>
+          versionRange="[2.0.0,3.0.0)"/>
       <requirement
           name="org.eclipse.fx.runtime.min.feature.feature.group"/>
       <requirement
diff --git a/cps/tests/org.eclipse.viatra.examples.cps.tests.util/.classpath b/cps/tests/org.eclipse.viatra.examples.cps.tests.util/.classpath
index 8d9b99b..0805795 100644
--- a/cps/tests/org.eclipse.viatra.examples.cps.tests.util/.classpath
+++ b/cps/tests/org.eclipse.viatra.examples.cps.tests.util/.classpath
@@ -4,6 +4,5 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="src-gen/"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/cps/tests/org.eclipse.viatra.examples.cps.tests.util/build.properties b/cps/tests/org.eclipse.viatra.examples.cps.tests.util/build.properties
index dd1e7e5..a6d7a94 100644
--- a/cps/tests/org.eclipse.viatra.examples.cps.tests.util/build.properties
+++ b/cps/tests/org.eclipse.viatra.examples.cps.tests.util/build.properties
@@ -1,6 +1,5 @@
 bin.includes = META-INF/,\
                .
 source.. = src/,\
-           xtend-gen/,\
-           src-gen/
+           xtend-gen/
 output.. = bin/
diff --git a/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/META-INF/MANIFEST.MF b/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/META-INF/MANIFEST.MF
index eb43ad1..49df4ed 100644
--- a/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/META-INF/MANIFEST.MF
+++ b/cps/tests/org.eclipse.viatra.examples.cps.xform.m2m.tests/META-INF/MANIFEST.MF
@@ -21,7 +21,8 @@
  org.eclipse.viatra.query.runtime.localsearch;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.viatra.examples.cps.xform.m2m.launcher;bundle-version="0.1.0",
  org.eclipse.viatra.query.runtime.localsearch;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.viatra.query.runtime.rete;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.viatra.query.runtime.rete;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.collections;bundle-version="9.0.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Import-Package: org.apache.log4j;version="1.2.15"
 Automatic-Module-Name: org.eclipse.viatra.examples.cps.xform.m2m.tests
diff --git a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/CPS2DeploymentTransformation.xtend b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/CPS2DeploymentTransformation.xtend
index 0cec9f7..3d39093 100644
--- a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/CPS2DeploymentTransformation.xtend
+++ b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/CPS2DeploymentTransformation.xtend
@@ -28,6 +28,7 @@
 import org.eclipse.viatra.transformation.evm.specific.Schedulers
 
 import static com.google.common.base.Preconditions.*
+import org.eclipse.viatra.transformation.evm.api.RuleSpecification
 
 class CPS2DeploymentTransformation {
 	
@@ -65,7 +66,7 @@
 			debug("Preparing transformation rules.")
 			val watch = Stopwatch.createStarted
 			
-			val rulesBuilder = ImmutableSet.builder
+			val rulesBuilder = ImmutableSet.<RuleSpecification<?>>builder()
 			rulesBuilder.addAll(HostRules.getRules(engine))
 			rulesBuilder.addAll(ApplicationRules.getRules(engine))
 			rulesBuilder.addAll(StateMachineRules.getRules(engine))
diff --git a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/ApplicationRules.xtend b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/ApplicationRules.xtend
index 93e8f00..44f59ee 100644
--- a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/ApplicationRules.xtend
+++ b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/ApplicationRules.xtend
@@ -19,9 +19,11 @@
 import org.eclipse.viatra.transformation.evm.specific.Lifecycles
 import org.eclipse.viatra.transformation.evm.specific.Rules
 import org.eclipse.viatra.transformation.evm.specific.crud.CRUDActivationStateEnum
+import java.util.Set
+import org.eclipse.viatra.transformation.evm.api.RuleSpecification
 
 class ApplicationRules {
-	static def getRules(ViatraQueryEngine engine) {
+	static def Set<RuleSpecification<?>> getRules(ViatraQueryEngine engine) {
 		#{
 			new ApplicationMapping(engine).specification,
 			new ApplicationUpdate(engine).specification,
diff --git a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/HostRules.xtend b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/HostRules.xtend
index 4c5a28e..cbc8ac5 100644
--- a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/HostRules.xtend
+++ b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/HostRules.xtend
@@ -18,9 +18,11 @@
 import org.eclipse.viatra.transformation.evm.specific.Lifecycles
 import org.eclipse.viatra.transformation.evm.specific.Rules
 import org.eclipse.viatra.transformation.evm.specific.crud.CRUDActivationStateEnum
+import java.util.Set
+import org.eclipse.viatra.transformation.evm.api.RuleSpecification
 
 class HostRules {
-	static def getRules(ViatraQueryEngine engine) {
+	static def Set<RuleSpecification<?>> getRules(ViatraQueryEngine engine) {
 		#{
 			new HostMapping(engine).specification,
 			new HostUpdate(engine).specification,
diff --git a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/StateMachineRules.xtend b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/StateMachineRules.xtend
index a272b3e..d038559 100644
--- a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/StateMachineRules.xtend
+++ b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/StateMachineRules.xtend
@@ -19,9 +19,11 @@
 import org.eclipse.viatra.transformation.evm.specific.Lifecycles
 import org.eclipse.viatra.transformation.evm.specific.Rules
 import org.eclipse.viatra.transformation.evm.specific.crud.CRUDActivationStateEnum
+import java.util.Set
+import org.eclipse.viatra.transformation.evm.api.RuleSpecification
 
 class StateMachineRules {
-    static def getRules(ViatraQueryEngine engine) {
+    static def Set<RuleSpecification<?>> getRules(ViatraQueryEngine engine) {
 		#{
 			new StateMachineMapping(engine).specification
 			,new StateMachineUpdate(engine).specification
diff --git a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/StateRules.xtend b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/StateRules.xtend
index eb72f06..8d1f9d3 100644
--- a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/StateRules.xtend
+++ b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/StateRules.xtend
@@ -19,9 +19,11 @@
 import org.eclipse.viatra.transformation.evm.specific.Lifecycles
 import org.eclipse.viatra.transformation.evm.specific.Rules
 import org.eclipse.viatra.transformation.evm.specific.crud.CRUDActivationStateEnum
+import java.util.Set
+import org.eclipse.viatra.transformation.evm.api.RuleSpecification
 
 class StateRules {
-	static def getRules(ViatraQueryEngine engine) {
+	static def Set<RuleSpecification<?>> getRules(ViatraQueryEngine engine) {
 		#{
 			new StateMapping(engine).specification
 			,new StateUpdate(engine).specification
diff --git a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/TransitionRules.xtend b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/TransitionRules.xtend
index 5b9a43c..2b7ebcf 100644
--- a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/TransitionRules.xtend
+++ b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/TransitionRules.xtend
@@ -19,9 +19,11 @@
 import org.eclipse.viatra.transformation.evm.specific.Lifecycles
 import org.eclipse.viatra.transformation.evm.specific.Rules
 import org.eclipse.viatra.transformation.evm.specific.crud.CRUDActivationStateEnum
+import java.util.Set
+import org.eclipse.viatra.transformation.evm.api.RuleSpecification
 
 class TransitionRules {
-	static def getRules(ViatraQueryEngine engine) {
+	static def Set<RuleSpecification<?>> getRules(ViatraQueryEngine engine) {
 		#{
 			new TransitionMapping(engine).specification,
 			new TransitionUpdate(engine).specification,
diff --git a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/TriggerRules.xtend b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/TriggerRules.xtend
index 9b10444..0a556f1 100644
--- a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/TriggerRules.xtend
+++ b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.expl/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/expl/rules/TriggerRules.xtend
@@ -17,9 +17,11 @@
 import org.eclipse.viatra.transformation.evm.specific.Rules
 import org.eclipse.viatra.transformation.evm.specific.Lifecycles
 import org.eclipse.viatra.transformation.evm.specific.Jobs
+import org.eclipse.viatra.transformation.evm.api.RuleSpecification
+import java.util.Set
 
 class TriggerRules {
-	static def getRules(ViatraQueryEngine engine) {
+	static def Set<RuleSpecification<?>> getRules(ViatraQueryEngine engine) {
 		#{
 			new TriggerMapping(engine).specification,
 			new TriggerRemoval(engine).specification
diff --git a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.qrt/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/qrt/CPS2DeploymentTransformationQrt.xtend b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.qrt/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/qrt/CPS2DeploymentTransformationQrt.xtend
index 5c39b13..af80302 100644
--- a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.qrt/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/qrt/CPS2DeploymentTransformationQrt.xtend
+++ b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2m.incr.qrt/src/org/eclipse/viatra/examples/cps/xform/m2m/incr/qrt/CPS2DeploymentTransformationQrt.xtend
@@ -29,6 +29,7 @@
 import org.eclipse.viatra.examples.cps.xform.m2m.incr.qrt.rules.TransitionRules
 import org.eclipse.viatra.examples.cps.xform.m2m.incr.qrt.rules.TriggerRules
 import org.eclipse.viatra.transformation.evm.specific.resolver.InvertedDisappearancePriorityConflictResolver
+import org.eclipse.viatra.examples.cps.xform.m2m.incr.qrt.util.PriorityRuleSpecification
 
 class CPS2DeploymentTransformationQrt {
 
@@ -65,7 +66,7 @@
 			debug("Preparing transformation rules.")
 			val watch = Stopwatch.createStarted
 
-			val rulesBuilder = ImmutableSet.builder
+			val rulesBuilder = ImmutableSet.<PriorityRuleSpecification<?>>builder()
 			rulesBuilder.addAll(HostRules.getRules(engine))
 			rulesBuilder.addAll(ApplicationRules.getRules(engine))
 			rulesBuilder.addAll(StateMachineRules.getRules(engine));
diff --git a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2t.distributed/.classpath b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2t.distributed/.classpath
index fc8a78d..07878f5 100644
--- a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2t.distributed/.classpath
+++ b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2t.distributed/.classpath
@@ -4,6 +4,5 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="src-gen"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2t.distributed/build.properties b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2t.distributed/build.properties
index dd1e7e5..a6d7a94 100644
--- a/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2t.distributed/build.properties
+++ b/cps/transformations/org.eclipse.viatra.examples.cps.xform.m2t.distributed/build.properties
@@ -1,6 +1,5 @@
 bin.includes = META-INF/,\
                .
 source.. = src/,\
-           xtend-gen/,\
-           src-gen/
+           xtend-gen/
 output.. = bin/