diff --git a/modules/runtime-repository/category.xml b/modules/runtime-repository/category.xml
deleted file mode 100644
index cb6112b..0000000
--- a/modules/runtime-repository/category.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Copyright (c) 2009, 2019 Xored Software Inc 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:
-    	Xored Software Inc - initial API and implementation and/or initial documentation
- -->
-
-<site>
-  <feature id="org.eclipse.rcptt.runtime">
-    <category name="rcptt.runtime"/>
-  </feature>
-  <feature id="org.eclipse.rcptt.tesla">
-    <category name="rcptt.runtime"/>
-  <feature id="org.eclipse.rcptt.zephyr">
-    <category name="rcptt.runtime"/>
-  </feature>
-  <feature id="org.eclipse.rcptt.tesla.runtime">
-    <category name="rcptt.runtime"/>
-  </feature>
-  <feature id="org.eclipse.rcptt.tesla.ecl">
-    <category name="rcptt.runtime"/>
-  </feature>
-  <feature id="org.eclipse.rcptt.tesla.ecl.runtime">
-    <category name="rcptt.runtime"/>
-  </feature>
-  <feature id="org.eclipse.rcptt.ecl.core">
-    <category name="rcptt.runtime"/>
-  </feature>
-  <feature id="org.eclipse.rcptt.ecl.server">
-    <category name="rcptt.runtime"/>
-  </feature>
-  <feature id="org.eclipse.rcptt.watson">
-    <category name="rcptt.runtime"/>
-  </feature>
-   <feature id="org.eclipse.rcptt.watson.runtime">
-    <category name="rcptt.runtime"/>
-  </feature>
-  <feature id="org.eclipse.rcptt.sherlock.model">
-    <category name="rcptt.runtime"/>
-  </feature>
-  <feature id="org.eclipse.rcptt.sherlock">
-    <category name="rcptt.runtime"/>
-  </feature>
-  <category-def label="RCPTT Runtime" name="rcptt.runtime"/>
-</site>
diff --git a/modules/runtime-repository/pom.xml b/modules/runtime-repository/pom.xml
deleted file mode 100644
index c4c3051..0000000
--- a/modules/runtime-repository/pom.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Copyright (c) 2009, 2019 Xored Software Inc 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:
-    	Xored Software Inc - initial API and implementation and/or initial documentation
- -->
-
-<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>
-
-  <artifactId>org.eclipse.rcptt.runtime-repository</artifactId>
-  <packaging>eclipse-repository</packaging>
-
-  <parent>
-    <groupId>org.eclipse.rcptt</groupId>
-    <artifactId>q7-base-pom</artifactId>
-    <version>2.5.0-SNAPSHOT</version>
-    <relativePath>../../pom-base.xml</relativePath>
-  </parent>
-
-  <repositories>
-    <repository>
-      <layout>p2</layout>
-      <id>q7-platform</id>
-      <url>${project.baseUri}../../rcp/products/repository/target/repository/</url>
-    </repository>
-    <repository>
-      <id>rcptt-runtime</id>
-      <layout>p2</layout>
-      <url>${project.baseUri}../../runtime/org.eclipse.rcptt.runtime-updatesite/target/site/</url>
-    </repository>
-    <repository>
-      <id>nebula-runtime</id>
-      <layout>p2</layout>
-      <url>${project.baseUri}../nebula/runtime-site/target/site/</url>
-    </repository>
-    <repository>
-      <id>testrail-runtime</id>
-      <layout>p2</layout>
-      <url>${project.baseUri}../testrail/runtime-site/target/site/</url>
-    </repository>
-  </repositories>
-</project>
diff --git a/rcp/org.eclipse.rcptt.platform/META-INF/MANIFEST.MF b/rcp/org.eclipse.rcptt.platform/META-INF/MANIFEST.MF
index 79a9987..7c4f569 100644
--- a/rcp/org.eclipse.rcptt.platform/META-INF/MANIFEST.MF
+++ b/rcp/org.eclipse.rcptt.platform/META-INF/MANIFEST.MF
@@ -1,4 +1,5 @@
 Manifest-Version: 1.0
+Bundle-Localization: plugin
 Bundle-ManifestVersion: 2
 Bundle-Name: RCP Testing Tool IDE
 Bundle-SymbolicName: org.eclipse.rcptt.platform;singleton:=true
diff --git a/rcp/org.eclipse.rcptt.platform/build.properties b/rcp/org.eclipse.rcptt.platform/build.properties
index cbb5122..afb2a15 100644
--- a/rcp/org.eclipse.rcptt.platform/build.properties
+++ b/rcp/org.eclipse.rcptt.platform/build.properties
@@ -12,6 +12,7 @@
                .,\
                plugin.xml,\
                icons/,\
+               plugin.properties,\
                plugin_customization.ini,\
                splash.bmp,\
                about.ini,\
diff --git a/rcp/org.eclipse.rcptt.platform/plugin.properties b/rcp/org.eclipse.rcptt.platform/plugin.properties
new file mode 100644
index 0000000..84b5401
--- /dev/null
+++ b/rcp/org.eclipse.rcptt.platform/plugin.properties
@@ -0,0 +1,19 @@
+###############################################################################
+# Copyright (c) 2019 Xored Software Inc 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:
+#     Xored Software Inc - initial API and implementation and/or initial documentation
+###############################################################################
+productBlurb=RCP Testing Tool IDE\n\
+\n\
+Version: ${unqualifiedVersion}\n\
+\n\
+Copyright (c) Xored Software Inc and others.\n\
+Visit http://eclipse.org/rcptt\n\
+\n\
+This product includes software developed by the\n\
+Apache Software Foundation http://www.apache.org/
diff --git a/rcp/org.eclipse.rcptt.platform/plugin.xml b/rcp/org.eclipse.rcptt.platform/plugin.xml
index d2dd24c..00a6dfb 100644
--- a/rcp/org.eclipse.rcptt.platform/plugin.xml
+++ b/rcp/org.eclipse.rcptt.platform/plugin.xml
@@ -44,7 +44,7 @@
           </property>
           <property
                 name="aboutText"
-                value="RCP Testing Tool IDE&#x0A;&#x0A;Version: 2.5.0&#x0A;&#x0A;Copyright (c) Xored Software Inc and others.&#x0A;Visit http://eclipse.org/rcptt&#x0A;&#x0A;This product includes software developed by the&#x0A;Apache Software Foundation http://www.apache.org/">
+                value="%productBlurb">
           </property>
           <property
                 name="windowImages"
diff --git a/rcp/org.eclipse.rcptt.platform/pom.xml b/rcp/org.eclipse.rcptt.platform/pom.xml
index c415088..e5d11ef 100644
--- a/rcp/org.eclipse.rcptt.platform/pom.xml
+++ b/rcp/org.eclipse.rcptt.platform/pom.xml
@@ -19,4 +19,58 @@
   </parent>
   <artifactId>org.eclipse.rcptt.platform</artifactId>
   <packaging>eclipse-plugin</packaging>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.eclipse.tycho</groupId>
+        <artifactId>tycho-source-plugin</artifactId>
+        <version>${tycho-version}</version>
+        <configuration>
+          <usePdeSourceRoots>false</usePdeSourceRoots>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-resources-plugin</artifactId>
+        <version>2.7</version>
+        <executions>
+          <execution>
+            <id>process-about.mappings</id>
+            <phase>prepare-package</phase>
+            <configuration>
+              <outputDirectory>${project.build.directory}</outputDirectory>
+              <overwrite>true</overwrite>
+              <resources>
+                <resource>
+                  <directory>${basedir}</directory>
+                  <includes>
+                    <include>*.properties</include>
+                  </includes>
+                  <filtering>true</filtering>
+                </resource>
+              </resources>
+            </configuration>
+            <goals>
+              <goal>copy-resources</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.eclipse.tycho</groupId>
+        <artifactId>tycho-packaging-plugin</artifactId>
+        <version>${tycho-version}</version>
+        <configuration>
+          <additionalFileSets>
+            <fileSet>
+              <directory>${project.build.directory}</directory>
+              <includes>
+                <include>*.properties</include>
+              </includes>
+            </fileSet>
+          </additionalFileSets>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/rcpttTests/ECL_IDE_module/pom-server.xml b/rcpttTests/ECL_IDE_module/pom-server.xml
deleted file mode 100644
index 0378b6b..0000000
--- a/rcpttTests/ECL_IDE_module/pom-server.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-<!--
-    Copyright (c) 2009, 2016 Xored Software Inc 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:
-    	Xored Software Inc - initial API and implementation and/or initial documentation
- -->
-<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>
-
-	<artifactId>q7-module-ide-tests-server</artifactId>
-	<version>2.2.0-SNAPSHOT</version>
-	<packaging>rcpttTest</packaging>
-
-	<dependencies>
-		<dependency>
-			<groupId>com.xored.q7</groupId>
-			<artifactId>q7contexts.shared-server</artifactId>
-			<version>2.2.0-SNAPSHOT</version>
-			<type>rcpttTest</type>
-		</dependency>
-	</dependencies>
-
-	<parent>
-		<groupId>com.xored.q7</groupId>
-		<artifactId>q7tests-server</artifactId>
-		<version>2.2.0-SNAPSHOT</version>
-		<relativePath>../pom-server.xml</relativePath>
-	</parent>
-
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>${rcptt-maven-group}</groupId>
-				<artifactId>${rcptt-server-maven-plugin}</artifactId>
-				<version>${rcptt-maven-version}</version>
-				<extensions>true</extensions>
-				<configuration>
-					<classifiers>
-						<classifier>win32.win32.x86</classifier>
-						<!-- <classifier>linux.gtk.x86</classifier> -->
-					</classifiers>
-					<aut>
-						<uri>http://maven.xored.com/nexus/content/repositories/thirdparty/eclipse/sdk/3.7.0/sdk-3.7.0-[classifier].[ext]</uri>
-						<ignoreOtherInjections>true</ignoreOtherInjections>
-						<injections>
-
-							<injection>
-								<site>http://download.xored.com/mirrors/q7mirror/</site>
-								<features>
-									<feature>org.eclipse.emf.transaction.feature.group</feature>
-									<feature>org.eclipse.emf.validation.feature.group</feature>
-									<feature>org.eclipse.emf.ecore.feature.group</feature>
-									<feature>org.eclipse.emf.common.feature.group</feature>
-									<feature>org.eclipse.emf.workspace.feature.group</feature>
-									<feature>org.eclipse.emf.edit.ui.feature.group</feature>
-									<feature>org.eclipse.emf.edit.feature.group</feature>
-									<feature>org.eclipse.emf.databinding.feature.group</feature>
-									<feature>org.eclipse.emf.common.ui.feature.group</feature>
-								</features>
-							</injection>
-
-							<injection>
-								<site>${q7URL}/artifact/shared/repository</site>
-								<features>
-									<feature>com.google.libs.feature.group</feature>
-
-									<feature>com.xored.tesla.ecl.feature.group</feature>
-									<feature>org.eclipse.ecl.core.feature.group</feature>
-									<feature>org.eclipse.ecl.ide.feature.group</feature>
-									<feature>com.xored.q7.runner.feature.group</feature>
-									<feature>com.xored.watson.feature.group</feature>
-									<feature>com.xored.q7.platform.feature.group</feature>
-									<feature>org.eclipse.ecl.server.feature.group</feature>
-
-									<feature>com.xored.tesla.feature.group</feature>
-									<feature>com.xored.q7.updates.feature.group</feature>
-
-									<feature>com.google.libs.feature.group</feature>
-								</features>
-							</injection>
-
-							<injection>
-								<site>${q7URL}/artifact/shared/runtime-site</site>
-							</injection>
-							<injection>
-								<site>${q7URL}/artifact/shared/IDE-update-site</site>
-							</injection>
-						</injections>
-					</aut>
-					<q7server>${q7Server}</q7server>
-					<q7client>
-						<version>${q7-cloud-version}</version>
-                        <clientId>${clientId}</clientId>
-                        <clientSecret>${clientSecret}</clientSecret>
-                        <organization>${organization}</organization>
-					</q7client>
-					<testOptions>
-						<execTimeout>7200</execTimeout>
-						<autStartupTimeout>300</autStartupTimeout>
-						<launchingKillAutOnConnectError>true</launchingKillAutOnConnectError>
-					</testOptions>
-					<args>
-						<arg>-licenseUrl</arg>
-						<arg>http://licensing.xored.com/pool/04fb850c-d95d-eec0-76f9-12313b043cf6</arg>
-					</args>
-
-					<skipTags>
-						<skipTag>selfAUT</skipTag>
-						<skipTag>skipExecution</skipTag>
-					</skipTags>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-
-</project>
diff --git a/rcpttTests/contexts/pom-server.xml b/rcpttTests/contexts/pom-server.xml
deleted file mode 100644
index f434d14..0000000
--- a/rcpttTests/contexts/pom-server.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
-    Copyright (c) 2009, 2019 Xored Software Inc 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:
-    	Xored Software Inc - initial API and implementation and/or initial documentation
- -->
-<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>
-
-	<artifactId>q7contexts.shared-server</artifactId>
-	<packaging>rcpttTest</packaging>
-
-	<parent>
-		<groupId>org.eclipse.rcptt.tests</groupId>
-		<artifactId>server</artifactId>
-		<version>2.5.0-SNAPSHOT</version>
-    <relativePath>../pom-server.xml</relativePath>
-	</parent>
-	
-</project>
diff --git a/rcpttTests/platform_tests/pom-server.xml b/rcpttTests/platform_tests/pom-server.xml
deleted file mode 100644
index 58c69e4..0000000
--- a/rcpttTests/platform_tests/pom-server.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<!--
-    Copyright (c) 2009, 2019 Xored Software Inc 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:
-    	Xored Software Inc - initial API and implementation and/or initial documentation
- -->
-<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>
-	
-	<artifactId>platform_tests-server</artifactId>
-	<packaging>rcpttTest</packaging>
-	
-	<dependencies>
-		<dependency>
-			<groupId>org.eclipse.rcptt.tests</groupId>
-			<artifactId>q7contexts.shared-server</artifactId>
-			<version>2.5.0-SNAPSHOT</version>
-			<type>rcpttTest</type>
-		</dependency>
-	</dependencies>
-	<parent>
-		<groupId>org.eclipse.rcptt.tests</groupId>
-		<artifactId>server</artifactId>
-		<version>2.5.0-SNAPSHOT</version>
-		<relativePath>../pom-server.xml</relativePath>
-	</parent>
-	
-</project>
\ No newline at end of file
diff --git a/rcpttTests/pom-base.xml b/rcpttTests/pom-base.xml
index 7b216bc..adeb824 100644
--- a/rcpttTests/pom-base.xml
+++ b/rcpttTests/pom-base.xml
@@ -38,8 +38,20 @@
     <rcptt-maven-version>2.5.0-SNAPSHOT</rcptt-maven-version>
     <rcptt-maven-plugin>rcptt-maven-plugin</rcptt-maven-plugin>
     <runner-version>2.5.0-SNAPSHOT</runner-version>
+    <rcpttRepo>http://download.eclipse.org/rcptt/nightly/2.4.3/latest/repository</rcpttRepo>
     <autRepository>file://${basedir}/../modules/repository/target/repository</autRepository>
     <runtimeRepository>file:/${user.dir}/runtime/updates/org.eclipse.rcptt.updates.runtime.e4x/q7</runtimeRepository>
   </properties>
 
+  <profiles>
+    <profile>
+      <id>update-version</id>
+      <modules>
+        <module>pom.xml</module>
+        <module>ECL_IDE_module</module>
+        <module>platform_tests</module>
+        <module>contexts</module>
+      </modules>
+    </profile>
+  </profiles>
 </project>
diff --git a/rcpttTests/pom-self-aut.xml b/rcpttTests/pom-self-aut.xml
deleted file mode 100644
index 9155033..0000000
--- a/rcpttTests/pom-self-aut.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-    Copyright (c) 2009, 2019 Xored Software Inc 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:
-    	Xored Software Inc - initial API and implementation and/or initial documentation
- -->
-
-<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>
-
-	<artifactId>q7tests_self_aut</artifactId>
-	<packaging>rcpttTest</packaging>
-
-	<parent>
-		<groupId>com.xored.q7</groupId>
-		<artifactId>q7tests-base</artifactId>
-		<version>2.5.0-SNAPSHOT</version>
-		<relativePath>./pom-base.xml</relativePath>
-	</parent>
-
-	<properties>
-		<runner-version>1.3.12-SNAPSHOT</runner-version>
-	</properties>
-
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>${rcptt-maven-group}</groupId>
-				<artifactId>${rcptt-maven-plugin}</artifactId>
-				<version>${rcptt-maven-version}</version>
-				<extensions>true</extensions>
-				<configuration>
-				  <aut>
-                    <explicit>${basedir}/../modules/repository/target/products/com.xored.q7.professional.product-[classifier].zip</explicit>
-					<args>
-                      <arg>-licenseUrl</arg>
-                      <arg>http://192.168.2.64:9999</arg>
-					</args>
-					<vmArgs>
-					  <vmArg>-Xmx768m</vmArg>
-					  <vmArg>-XX:MaxPermSize=256m</vmArg>
-					</vmArgs>
-				  </aut>
-
-					<runner>
-						<version>${runner-version}</version>
-                        <clientId>komaz</clientId>
-                        <clientSecret>05fe7461c607c33229772d402505601016a7d0ea</clientSecret>
-                        <organization>xored</organization>
-					</runner>
-
-					<testOptions>
-						<execTimeout>9000</execTimeout>
-						<autStartupTimeout>300</autStartupTimeout>
-						<launchingKillAutOnConnectError>true</launchingKillAutOnConnectError>
-						<restartAUTOnFailure>true</restartAUTOnFailure>
-					</testOptions>
-
-					<suites>
-						<suite>SetupAUTContextTests</suite>
-					</suites>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-
-	<pluginRepositories>
-		<pluginRepository>
-			<snapshots>
-				<updatePolicy>always</updatePolicy>
-			</snapshots>
-			<id>xored</id>
-			<name>Xored Maven repository</name>
-			<url>http://maven.xored.com/nexus/content/repositories/ci4rcptt-snapshots/</url>
-		</pluginRepository>
-	</pluginRepositories>
-
-	<repositories>
-		<repository>
-			<id>xored</id>
-			<name>Xored Maven repository</name>
-			<url>http://maven.xored.com/nexus/content/repositories/releases/</url>
-		</repository>
-		<repository>
-			<id>thirdparty</id>
-			<name>Maven repo with eclipses</name>
-			<url>http://maven.xored.com/nexus/content/repositories/thirdparty/</url>
-		</repository>
-
-	</repositories>
-
-</project>
diff --git a/rcpttTests/pom-server-self-aut.xml b/rcpttTests/pom-server-self-aut.xml
deleted file mode 100644
index b732042..0000000
--- a/rcpttTests/pom-server-self-aut.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<!--
-    Copyright (c) 2009, 2019 Xored Software Inc 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:
-    	Xored Software Inc - initial API and implementation and/or initial documentation
- -->
-<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>
-    <artifactId>q7tests_server_self_aut</artifactId>
-    <packaging>rcpttTest</packaging>
-    <properties>
-        <q7Server>http://192.168.2.64:8090</q7Server>
-        <clientId>komaz</clientId>
-        <clientSecret>05fe7461c607c33229772d402505601016a7d0ea</clientSecret>
-        <organization>xored</organization>
-    </properties>
-    <parent>
-        <groupId>com.xored.q7</groupId>
-        <artifactId>q7tests-base</artifactId>
-        <version>3-SNAPSHOT</version>
-        <relativePath>./pom-base.xml</relativePath>
-    </parent>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>${ci-maven-group}</groupId>
-                <artifactId>${ci-server-maven-plugin}</artifactId>
-                <version>${ci-maven-version}</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <classifiers>
-                        <classifier>win32.win32.x86</classifier>
-                        <!-- <classifier>linux.gtk.x86</classifier>-->
-                    </classifiers>
-                    <aut>
-                        <locations>
-                            <location>
-                                <classifier>win32.win32.x86</classifier>
-                                <path>${basedir}/../modules/repository/target/products/com.xored.q7.professional.product-win32.win32.x86.zip</path>
-                            </location>
-                        </locations>
-                        <ignoreOtherInjections>true</ignoreOtherInjections>
-                        <injections>
-                            <injection>
-                                <site>${q7URL}/artifact/shared/runtime-site</site>
-                            </injection>
-                        </injections>
-                        <args>
-                            <arg>-licenseUrl</arg>
-                            <arg>http://192.168.2.64:9999</arg>
-                        </args>
-                        <vmArgs>
-                            <vmArg>-Xmx768m</vmArg>
-                            <vmArg>-XX:MaxPermSize=256m</vmArg>
-                        </vmArgs>
-                    </aut>
-                    <suites>
-                        <suite>SetupAUTContextTests</suite>
-                    </suites>
-                    <q7server>${q7Server}</q7server>
-                    <q7client>
-                        <version>${q7-cloud-version}</version>
-                        <clientId>${clientId}</clientId>
-                        <clientSecret>${clientSecret}</clientSecret>
-                        <organization>${organization}</organization>
-                    </q7client>
-                    <testOptions>
-                        <execTimeout>7200</execTimeout>
-                        <autStartupTimeout>300</autStartupTimeout>
-                        <launchingKillAutOnConnectError>true</launchingKillAutOnConnectError>
-                        <restartAUTOnFailure>true</restartAUTOnFailure>
-                    </testOptions>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-    <pluginRepositories>
-        <pluginRepository>
-            <snapshots>
-                <updatePolicy>always</updatePolicy>
-            </snapshots>
-            <id>xored</id>
-            <name>Xored Maven repository</name>
-            <url>http://maven.xored.com/nexus/content/repositories/ci4rcptt-snapshots/</url>
-        </pluginRepository>
-        <pluginRepository>
-            <id>xored-releases</id>
-            <name>Xored Maven repository</name>
-            <url>http://maven.xored.com/nexus/content/repositories/ci4rcptt-releases/</url>
-        </pluginRepository>
-    </pluginRepositories>
-    <repositories>
-        <repository>
-            <id>xored</id>
-            <name>Xored Maven repository</name>
-            <url>http://maven.xored.com/nexus/content/repositories/releases/</url>
-        </repository>
-        <repository>
-            <id>thirdparty</id>
-            <name>Maven repo with eclipses</name>
-            <url>http://maven.xored.com/nexus/content/repositories/thirdparty/</url>
-        </repository>
-    </repositories>
-</project>
diff --git a/rcpttTests/pom-server.xml b/rcpttTests/pom-server.xml
deleted file mode 100644
index 90d6120..0000000
--- a/rcpttTests/pom-server.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<!--
-    Copyright (c) 2009, 2019 Xored Software Inc 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:
-    	Xored Software Inc - initial API and implementation and/or initial documentation
- -->
-<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>
-
-	<artifactId>server-mars</artifactId>
-	<packaging>rcpttTest</packaging>
-
-	<properties>
-		<q7Server>http://192.168.2.64:8902</q7Server>
-		<clientId>komaz</clientId>
-		<clientSecret>05fe7461c607c33229772d402505601016a7d0ea</clientSecret>
-		<organization>xored</organization>
-	</properties>
-
-	<parent>
-		<groupId>org.eclipse.rcptt.tests</groupId>
-		<artifactId>base</artifactId>
-		<version>2.4.-SNAPSHOT</version>
-		<relativePath>./pom-base.xml</relativePath>
-	</parent>
-
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>${ci-maven-group}</groupId>
-				<artifactId>${ci-server-maven-plugin}</artifactId>
-				<version>${ci-maven-version}</version>
-				<extensions>true</extensions>
-				<configuration>
-					<classifiers>
-						<classifier>win32.win32.x86</classifier>
-						<!-- <classifier>linux.gtk.x86</classifier> -->
-					</classifiers>
-					<aut>
-						<uri>${autURL}</uri>
-						<ignoreOtherInjections>true</ignoreOtherInjections>
-						<injections>
-							<injection>
-								<site>${runtimeRepository}</site>
-							</injection>
-						</injections>
-					</aut>
-					<q7server>${q7Server}</q7server>
-					<q7client>
-						<version>${q7-cloud-version}</version>
-						<clientId>${clientId}</clientId>
-						<clientSecret>${clientSecret}</clientSecret>
-						<organization>${organization}</organization>
-					</q7client>
-					<testOptions>
-						<execTimeout>7200</execTimeout>
-						<autStartupTimeout>300</autStartupTimeout>
-						<launchingKillAutOnConnectError>true</launchingKillAutOnConnectError>
-					</testOptions>
-
-					<skipTags>
-						<skipTag>skipExecution</skipTag>
-					</skipTags>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-
-	<pluginRepositories>
-		<pluginRepository>
-			<snapshots>
-				<updatePolicy>always</updatePolicy>
-			</snapshots>
-			<id>xored</id>
-			<name>Xored Maven repository</name>
-			<url>http://maven.xored.com/nexus/content/repositories/ci4rcptt-snapshots/</url>
-		</pluginRepository>
-		<pluginRepository>
-			<id>xored-releases</id>
-			<name>Xored Maven repository</name>
-			<url>http://maven.xored.com/nexus/content/repositories/ci4rcptt-releases/</url>
-		</pluginRepository>
-	</pluginRepositories>
-
-	<repositories>
-		<repository>
-			<id>xored</id>
-			<name>Xored Maven repository</name>
-			<url>http://maven.xored.com/nexus/content/repositories/releases/</url>
-		</repository>
-		<repository>
-			<id>thirdparty</id>
-			<name>Maven repo with eclipses</name>
-			<url>http://maven.xored.com/nexus/content/repositories/thirdparty/</url>
-		</repository>
-
-	</repositories>
-</project>
diff --git a/rcpttTests/pom.xml b/rcpttTests/pom.xml
index 904dcea..a5160e0 100644
--- a/rcpttTests/pom.xml
+++ b/rcpttTests/pom.xml
@@ -20,9 +20,6 @@
     <version>2.5.0-SNAPSHOT</version>
     <relativePath>./pom-base.xml</relativePath>
   </parent>
-  <properties>
-    <rcpttRepo>http://download.eclipse.org/rcptt/nightly/2.4.3/latest/repository</rcpttRepo>
-  </properties>
   <dependencies>
 		<dependency>
 			<groupId>org.jboss.byteman</groupId>
diff --git a/releng/Jenkinsfile b/releng/Jenkinsfile
index 8346a2f..8c0e1d7 100644
--- a/releng/Jenkinsfile
+++ b/releng/Jenkinsfile
@@ -35,6 +35,9 @@
         stage('Start Build and Test') {
           steps {
             script {
+              if(params.MODE == 'Milestone') {
+                groovy.set_milestone(params.MILESTONE_VERSION)
+              }
               groovy.build_and_test(true)
             }
           }
diff --git a/releng/Jenkinsfile.groovy b/releng/Jenkinsfile.groovy
index 1d95412..29fbdad 100644
--- a/releng/Jenkinsfile.groovy
+++ b/releng/Jenkinsfile.groovy
@@ -1,3 +1,13 @@
+/*******************************************************************************
+* Copyright (c) 2019 Xored Software Inc 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:
+* 	Xored Software Inc - initial API and implementation and/or initial documentation
+********************************************************************************/
 // The container does not start under the Jenkins user. /home/jenkins is mounted in a container and is a single file space
 BUILD_CONTAINER_NAME="ubuntu"
 BUILD_CONTAINER="""
@@ -116,6 +126,13 @@
     }
 }
 
+def set_milestone(String decorator) {
+    container(BUILD_CONTAINER_NAME) {
+      version = get_version_from_pom().split("-")[0]
+      sh "./update_version.sh $version $decorator"
+    }
+}
+
 def build(Boolean sign) {
   container(BUILD_CONTAINER_NAME) {
     sh "./build.sh -Dmaven.repo.local=$WORKSPACE/m2 -B -e ${sign ? "-P sign" : ""}"
@@ -138,6 +155,10 @@
   return res
 }
 
+def get_version_from_pom() {
+  return sh_with_return("mvn -q -Dexec.executable=echo -Dexec.args='\${project.version}' --non-recursive exec:exec -f releng/pom.xml")
+}
+
 def get_version() {
   return sh_with_return(". $FULL_REPOSITORY_TARGET/publisher.properties && echo \$productVersion")
 }
@@ -152,7 +173,7 @@
     sh "mvn clean verify -B -f rcpttTests/pom.xml \
         -Dmaven.repo.local=$WORKSPACE/m2 -e \
         -Dci-maven-version=2.0.0-SNAPSHOT \
-        -DexplicitRunner=`readlink -f $WORKSPACE/$RUNNER_DIR/rcptt.runner-$version-SNAPSHOT.zip` \
+        -DexplicitRunner=`readlink -f $WORKSPACE/$RUNNER_DIR/rcptt.runner-*.zip` \
         -DrcpttPath=$WORKSPACE/$PRODUCTS_DIR/org.eclipse.rcptt.platform.product-linux.gtk.x86_64.zip \
         || true"
     sh "test -f $WORKSPACE/rcpttTests/target/results/tests.html"
@@ -167,7 +188,7 @@
         sh "mvn clean verify -B -f tests/pom.xml \
             -Dmaven.repo.local=$WORKSPACE/m2 -e \
             -Dci-maven-version=2.0.0-SNAPSHOT \
-            -DexplicitRunner=`readlink -f $WORKSPACE/$RUNNER_DIR/rcptt.runner-$version-SNAPSHOT.zip` \
+            -DexplicitRunner=`readlink -f $WORKSPACE/$RUNNER_DIR/rcptt.runner-*.zip` \
             -DmockupsRepository=https://ci.eclipse.org/rcptt/job/mockups/lastSuccessfulBuild/artifact/repository/target/repository \
             || true"
         sh "test -f $WORKSPACE/mockups/tests/target/results/tests.html"
@@ -266,8 +287,8 @@
                   [ RUNTIME_DIR_E3, "runtime3x" ],
                   [ RUNTIME_DIR_E4, "runtime4x" ],
                   [ "$DOC_DIR/target/doc", "doc" ],
-                  [ "$RCPTT_REPOSITORY_TARGET/rcptt.repository-$version-SNAPSHOT.zip", "repository-${version}${qualifiedDecoration}.zip" ],
-                  [ "$RUNNER_DIR/rcptt.runner-$version-SNAPSHOT.zip", "runner/rcptt.runner-${version}${qualifiedDecoration}.zip" ] ]) {
+                  [ "$RCPTT_REPOSITORY_TARGET/rcptt.repository-*.zip", "repository-${version}${qualifiedDecoration}.zip" ],
+                  [ "$RUNNER_DIR/rcptt.runner-*.zip", "runner/rcptt.runner-${version}${qualifiedDecoration}.zip" ] ]) {
       sh "scp -r ${item[0]} $CREDENTIAL:$storageFolder/${item[1]}"
     }
 
@@ -297,7 +318,7 @@
 
 def maven_deploy_runner(String version) {
   container(BUILD_CONTAINER_NAME) {
-    sh "mvn deploy:deploy-file \
+    sh "mvn deploy:deploy-file -B \
         -Dversion=$version -Durl=https://repo.eclipse.org/content/repositories/rcptt-releases/ \
         -DgroupId=org.eclipse.rcptt.runner \
         -DrepositoryId=repo.eclipse.org \
@@ -309,8 +330,8 @@
 
 def maven_deploy_maven_plugin(String version){
   container(BUILD_CONTAINER_NAME) {
-    sh "mvn -f maven-plugin/pom.xml clean versions:set -DnewVersion=$version"
-    sh "mvn -f maven-plugin/pom.xml clean deploy"
+    sh "mvn -f maven-plugin/pom.xml clean versions:set -DnewVersion=$version -B"
+    sh "mvn -f maven-plugin/pom.xml clean deploy -B"
   }
 }
 
diff --git a/repository/full/org.eclipse.rcptt.product b/repository/full/org.eclipse.rcptt.product
index 15d57e6..4481323 100644
--- a/repository/full/org.eclipse.rcptt.product
+++ b/repository/full/org.eclipse.rcptt.product
@@ -5,17 +5,7 @@
 
    <aboutInfo>
       <image path="icons/about.png"/>
-      <text>
-         RCP Testing Tool IDE
-
-Version: 2.5.0
-
-Copyright (c) Xored Software Inc and others.
-Visit http://eclipse.org/rcptt
-
-This product includes software developed by the
-Apache Software Foundation http://www.apache.org/
-      </text>
+      <text>%productBlurb</text>
    </aboutInfo>
 
    <configIni use="default">
diff --git a/repository/rcp/.project b/repository/rcp/.project
deleted file mode 100644
index 6629c34..0000000
--- a/repository/rcp/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>q7-rcp-repository</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/repository/rcp/category.xml b/repository/rcp/category.xml
deleted file mode 100644
index 1363410..0000000
--- a/repository/rcp/category.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Copyright (c) 2009, 2016 Xored Software Inc 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:
-    	Xored Software Inc - initial API and implementation and/or initial documentation
- -->
-
-<site>
-   <feature id="org.eclipse.rcptt.platform">
-      <category name="rcptt"/>
-   </feature>
-   <feature id="org.eclipse.rcptt.ecl.server"/>
-   <feature id="org.eclipse.rcptt.tesla.ecl"/>
-   <feature id="org.eclipse.rcptt.ecl.core"/>
-   <feature id="org.eclipse.rcptt.ecl.ide"/>
-   <feature id="org.eclipse.rcptt.ecl.platform"/>
-   <feature id="org.eclipse.rcptt.ecl.platform.ui"/>
-   <feature id="org.eclipse.rcptt.tesla"/>
-   <feature id="org.eclipse.rcptt.watson"/>
-   <feature id="org.eclipse.rcptt.watson.runtime"/>
-   <feature id="org.eclipse.pde"/>
-   <feature id="org.eclipse.emf.ecore"/>
-   <feature id="org.eclipse.emf.workspace"/>
-   <feature id="org.eclipse.jdt"/>
-   <feature id="org.eclipse.platform"/>
-   <feature id="org.eclipse.emf.common"/>
-   <feature id="org.eclipse.emf.common.ui"/>
-   <feature id="org.eclipse.emf.databinding"/>
-   <feature id="org.eclipse.emf.transaction"/>
-   <feature id="org.eclipse.emf.edit.ui"/>
-   <feature id="org.eclipse.emf.edit"/>
-   <feature id="org.eclipse.emf.validation"/>
-   <feature id="org.eclipse.cvs"/>
-   <feature id="org.eclipse.rcptt.core"/>
-   <feature id="org.eclipse.rcptt.launching"/>
-   <bundle id="com.google.gson"/>
-   <category-def name="rcptt" label="RCP Testing Tool Project"/>
-</site>
diff --git a/repository/rcp/pom.xml b/repository/rcp/pom.xml
deleted file mode 100644
index f57a1f4..0000000
--- a/repository/rcp/pom.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Copyright (c) 2009, 2019 Xored Software Inc 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:
-    	Xored Software Inc - initial API and implementation and/or initial documentation
- -->
-
-<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>
-    <artifactId>repositories</artifactId>
-    <groupId>org.eclipse.rcptt.repositories</groupId>
-    <version>2.5.0-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
-  </parent>
-  <artifactId>rcp</artifactId>
-  <packaging>eclipse-repository</packaging>
-</project>
diff --git a/repository/updates/.project b/repository/updates/.project
deleted file mode 100644
index c3cb8a9..0000000
--- a/repository/updates/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>q7-updates-repository</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/repository/updates/category.xml b/repository/updates/category.xml
deleted file mode 100644
index 619cd24..0000000
--- a/repository/updates/category.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Copyright (c) 2009, 2016 Xored Software Inc 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:
-    	Xored Software Inc - initial API and implementation and/or initial documentation
- -->
-
-<site>
-  <feature id="org.eclipse.rcptt.updates"/>
-</site>
diff --git a/repository/updates/pom.xml b/repository/updates/pom.xml
deleted file mode 100644
index a4cecab..0000000
--- a/repository/updates/pom.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Copyright (c) 2009, 2019 Xored Software Inc 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:
-    	Xored Software Inc - initial API and implementation and/or initial documentation
- -->
-
-<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>
-    <artifactId>repositories</artifactId>
-    <groupId>org.eclipse.rcptt.repositories</groupId>
-    <version>2.5.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>updates</artifactId>
-  <packaging>eclipse-repository</packaging>
-</project>
diff --git a/run_tests.sh b/run_tests.sh
index f288411..6fd14a0 100755
--- a/run_tests.sh
+++ b/run_tests.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 #*******************************************************************************
-# Copyright (c) 2009, 2016 Xored Software Inc and others.
+# Copyright (c) 2009, 2019 Xored Software Inc 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
@@ -12,5 +12,5 @@
 . repository/full/target/publisher.properties
 mvn clean verify -B -f rcpttTests/pom.xml \
 -DrcpttPath=`readlink -f repository/full/target/products/org.eclipse.rcptt.platform.product-linux.gtk.x86_64.zip` \
--DexplicitRunner=`readlink -f runner/product/target/rcptt.runner-${productVersion}-SNAPSHOT.zip` || true
+-DexplicitRunner=`readlink -f runner/product/target/rcptt.runner-*.zip` || true
 test -f rcpttTests/target/results/tests.html
diff --git a/run_tests_mac.sh b/run_tests_mac.sh
index bb6b15b..084a313 100755
--- a/run_tests_mac.sh
+++ b/run_tests_mac.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 #*******************************************************************************
-# Copyright (c) 2009, 2016 Xored Software Inc and others.
+# Copyright (c) 2009, 2019 Xored Software Inc 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
@@ -12,5 +12,5 @@
 . repository/full/target/publisher.properties
 mvn clean verify -B -f rcpttTests/pom.xml \
 -DrcpttPath=../repository/full/target/products/org.eclipse.rcptt.platform.product-macosx.cocoa.x86_64.zip \
--DexplicitRunner=../runner/product/target/rcptt.runner-${productVersion}-SNAPSHOT.zip || true
+-DexplicitRunner=`readlink -f runner/product/target/rcptt.runner-*.zip` || true
 test -f rcpttTests/target/results/tests.html
\ No newline at end of file
diff --git a/runtime/tests/org.eclipse.rcptt.watson.test/META-INF/MANIFEST.MF b/runtime/tests/org.eclipse.rcptt.watson.test/META-INF/MANIFEST.MF
index 91ff818..7a9883f 100644
--- a/runtime/tests/org.eclipse.rcptt.watson.test/META-INF/MANIFEST.MF
+++ b/runtime/tests/org.eclipse.rcptt.watson.test/META-INF/MANIFEST.MF
@@ -8,4 +8,4 @@
 Require-Bundle: org.junit,
  org.eclipse.rcptt.watson.core,
  org.eclipse.rcptt.ecl.core,
- org.eclipse.core.runtime;bundle-version="3.15.200"
+ org.eclipse.core.runtime
diff --git a/repository/pom.xml b/runtime/tests/org.eclipse.rcptt.watson.test/pom.xml
similarity index 80%
rename from repository/pom.xml
rename to runtime/tests/org.eclipse.rcptt.watson.test/pom.xml
index 10aa7c2..e522863 100644
--- a/repository/pom.xml
+++ b/runtime/tests/org.eclipse.rcptt.watson.test/pom.xml
@@ -13,12 +13,10 @@
 <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>
-    <artifactId>rcptt</artifactId>
+    <artifactId>rcptt.runtime.tests</artifactId>
     <groupId>org.eclipse.rcptt</groupId>
     <version>2.5.0-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
   </parent>
-  <groupId>org.eclipse.rcptt.repositories</groupId>
-  <artifactId>repositories</artifactId>
-  <packaging>pom</packaging>
+  <artifactId>org.eclipse.rcptt.watson.test</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
 </project>
diff --git a/runtime/tests/pom.xml b/runtime/tests/pom.xml
index 2ff249c..2620762 100644
--- a/runtime/tests/pom.xml
+++ b/runtime/tests/pom.xml
@@ -79,6 +79,7 @@
 				<module>org.eclipse.rcptt.tesla.jface.aspects.test</module>
 				<module>org.eclipse.rcptt.tesla.swt.aspects.test</module>
 				<module>org.eclipse.rcptt.tesla.swt.test</module>
+				<module>org.eclipse.rcptt.watson.test</module>
 			</modules>
 		</profile>
 		<profile>
diff --git a/update_version.sh b/update_version.sh
index d10223d..33e51db 100755
--- a/update_version.sh
+++ b/update_version.sh
@@ -17,8 +17,15 @@
     exit 900
 fi
 
+DECORATOR="$2"
+if [ $DECORATOR ]; then
+    VERSION_WITH_DECORATOR="$VERSION.$DECORATOR"
+else
+    VERSION_WITH_DECORATOR="$VERSION-SNAPSHOT"
+fi
+
 GOAL="org.eclipse.tycho:tycho-versions-plugin:set-version"
-OPTIONS="-Dtycho.mode=maven -Dtycho.localArtifacts=ignore -DnewVersion=${VERSION}-SNAPSHOT -DupdateVersionRangeMatchingBounds"
+OPTIONS="-Dtycho.mode=maven -Dtycho.localArtifacts=ignore -DnewVersion=$VERSION_WITH_DECORATOR -DupdateVersionRangeMatchingBounds"
 
 echo "================= Updating All Components ================="
 mvn $GOAL -f releng/pom.xml -P update-version $OPTIONS || exit 100
@@ -27,8 +34,11 @@
 mvn $GOAL -f maven-plugin/pom.xml $OPTIONS || exit 101
 
 echo "================== Updating Maven Script =================="
-mvn versions:set -f clean-pom.xml -DnewVersion=$VERSION-SNAPSHOT -DgenerateBackupPoms=false || exit 106
+mvn versions:set -f clean-pom.xml -DnewVersion=$VERSION_WITH_DECORATOR -DgenerateBackupPoms=false || exit 102
 
-echo "==========================================================="
-echo "This script updates version for most of plugins, but not\nfor all. So, after execution, it is needed to search\nthe old version number in the project directory and update\nversions in some places by hand."
-echo "==========================================================="
+echo "================== Updating RCPTT Tests =================="
+mvn versions:use-dep-version -f ./rcpttTests/ECL_IDE_module/pom.xml  -Dincludes=com.xored.q7:q7contexts.shared -DdepVersion=$VERSION_WITH_DECORATOR -DgenerateBackupPoms=false -DforceVersion=true || exit 103
+mvn versions:set -f ./rcpttTests/pom-base.xml -DnewVersion=$VERSION_WITH_DECORATOR -DgenerateBackupPoms=false || exit 104
+# mvn versions:set-property -f ./rcpttTests/pom-base.xml -Dproperty=rcptt-maven-version -DnewVersion=$VERSION_WITH_DECORATOR -DgenerateBackupPoms=false || exit 105
+# mvn versions:set-property -f ./rcpttTests/pom-base.xml -Dproperty=runner-version -DnewVersion=$VERSION_WITH_DECORATOR -DgenerateBackupPoms=false || exit 106
+# mvn versions:set-property -f ./rcpttTests/pom-base.xml -Dproperty=rcpttRepo -DnewVersion="http://download.eclipse.org/rcptt/nightly/$VERSION/latest/repository" -DgenerateBackupPoms=false || exit 107
