Merge remote-tracking branch 'origin/master' into tycho

Conflicts:
	features/org.eclipse.emf.parsley.tests.swtbot.feature/feature.xml
	tests/org.eclipse.emf.parsley.tests.swtbot.cdo/src/org/eclipse/emf/parsley/tests/swtbot/cdo/treeform/CDOTreeFormDirtyAndSaveableTests.java
	tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyDslEditorTests.launch
	tests/org.eclipse.emf.parsley.tests.swtbot/META-INF/MANIFEST.MF
	tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyAbstractTests.java

Change-Id: Ibc22f87bd3c4565753d9e53699a193225e04172c
diff --git a/.gitignore b/.gitignore
index 6fdf8fd..25227ff 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@
 target/
 *.java._trace
 *.smap
+hs_*.log
 
 buildroot/
 buildroot-RAP/
diff --git a/devtools/org.eclipse.emf.parsley.targetplatform/.gitignore b/devtools/org.eclipse.emf.parsley.targetplatform/.gitignore
new file mode 100644
index 0000000..d7b5227
--- /dev/null
+++ b/devtools/org.eclipse.emf.parsley.targetplatform/.gitignore
@@ -0,0 +1 @@
+/local.target
diff --git a/devtools/org.eclipse.emf.parsley.targetplatform/.project b/devtools/org.eclipse.emf.parsley.targetplatform/.project
new file mode 100644
index 0000000..81a7475
--- /dev/null
+++ b/devtools/org.eclipse.emf.parsley.targetplatform/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emf.parsley.targetplatform</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>
diff --git a/devtools/org.eclipse.emf.parsley.targetplatform/README.txt b/devtools/org.eclipse.emf.parsley.targetplatform/README.txt
new file mode 100644
index 0000000..ae1ecb2
--- /dev/null
+++ b/devtools/org.eclipse.emf.parsley.targetplatform/README.txt
@@ -0,0 +1,10 @@
+Use the ant file to create a .target definition file, starting from another
+.target file, but replacing all URLs to remote update sites with URLs 
+pointing to a local file system path where a mirror of the original URLs
+has previously been created (see the .b3aggr files).
+
+The generated local.target file is automatically ignored by the
+Git repository.
+
+This file can be used by selecting the "local" profile in the
+main pom.xml file.
\ No newline at end of file
diff --git a/devtools/org.eclipse.emf.parsley.targetplatform/create_local_target.ant b/devtools/org.eclipse.emf.parsley.targetplatform/create_local_target.ant
new file mode 100644
index 0000000..cdf2cc3
--- /dev/null
+++ b/devtools/org.eclipse.emf.parsley.targetplatform/create_local_target.ant
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="CreateLocalTargetDefinitionFile" basedir="." >
+
+	<property name="local.target" value="local.target"/>
+	<property name="orig.target" location="./luna.target"/>
+	<property name="local.mirror.path.input" location="${user.home}/mirror/luna-cdo-xtext-2.6-swtbot/final/"/>
+	<property name="local.mirror.url.input" value="file:${local.mirror.path}"/>
+	
+	<macrodef name="replace_win_slashes">
+	    <attribute name="property.to.process" />
+	    <attribute name="output.property" />
+	    <sequential>
+	    	<loadresource property="@{output.property}">
+    	        <string value="@{property.to.process}"/>
+    	        <filterchain>
+    	        	<replaceregex pattern="\\" replace="/" flags="gi"/>
+    	        </filterchain>
+	    	</loadresource>
+	        <echo message="property.to.process: @{property.to.process}" />
+	    	<echo message="output.property    : ${@{output.property}}" />
+	    </sequential>
+	</macrodef>
+
+	<replace_win_slashes property.to.process="${local.mirror.path.input}" output.property="local.mirror.path" />
+	<replace_win_slashes property.to.process="${local.mirror.url.input}" output.property="local.mirror.url" />
+	
+    <target name="copy-target-file" description="Copy the .target definition file into the local.target">
+		<echo message="local.target: ${local.target}" />
+		<echo message="orig.target : ${orig.target}" />
+
+    	<copy file="${orig.target}" tofile="${local.target}" overwrite="true" verbose="true"/>
+    </target>
+
+	
+	<target name="create-target-file" depends="copy-target-file" description="Creates a .target file from the original one, pointing to a local mirror">
+		<echo message="local.mirror.path: ${local.mirror.path}" />
+		<echo message="local.mirror.url : ${local.mirror.url}" />
+		
+		<replaceregexp>
+			<regexp pattern="target name=&quot;(\S+)&quot;(\.*)" />
+			<substitution expression="target name=&quot;local&quot;\2" />
+			<fileset id="path.target" dir=".">
+				<include name="${local.target}" />
+			</fileset>
+		</replaceregexp>
+
+		<replaceregexp byline="true">
+			<regexp pattern="&lt;repository location=&quot;(\S+)&quot;(\.*)/&gt;" />
+			<substitution expression="&lt;repository location=&quot;${local.mirror.url}&quot;\2/&gt;" />
+			<fileset id="path.target" dir=".">
+				<include name="${local.target}" />
+			</fileset>
+		</replaceregexp>
+	</target>
+
+</project>
diff --git a/devtools/org.eclipse.emf.parsley.targetplatform/indigo.target b/devtools/org.eclipse.emf.parsley.targetplatform/indigo.target
new file mode 100644
index 0000000..2312b59
--- /dev/null
+++ b/devtools/org.eclipse.emf.parsley.targetplatform/indigo.target
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?>
+
+<target name="indigo" sequenceNumber="2">
+<locations>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="de.itemis.xtext.antlr.feature.feature.group" version="2.1.1.v201405091103"/>
+<repository location="http://download.itemis.de/updates"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.sdk.feature.group" version="3.7.2.r37x_v20111213-7Q7xALDPb32vCjY6UACVPdFTz-icPtJkUadz0lMmk4z-8"/>
+<unit id="org.eclipse.emf.query.sdk.feature.group" version="1.5.0.v20110502-1600-67O-95GFz03DQEiNLXRMK_NPj507"/>
+<repository location="http://download.eclipse.org/releases/indigo"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.net4j.sdk.feature.group" version="4.2.1.v20140218-1830"/>
+<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="4.2.1.v20140218-1830"/>
+<repository location="http://download.eclipse.org/modeling/emf/cdo/updates/releases/4.2"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.xtext.sdk.feature.group" version="2.6.2.v201407030533"/>
+<repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.sdk.feature.group" version="2.10.0.v20140519-0339"/>
+<repository location="http://download.eclipse.org/modeling/emf/emf/updates/releases"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.xtext.xdoc.feature.feature.group" version="0.0.0"/>
+<repository location="http://master.dl.sourceforge.net/project/xtext-xdoc/updates-2.6"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.swtbot.forms.feature.group" version="2.2.1.201402241301"/>
+<unit id="org.hamcrest.library" version="1.3.0.v201305281000"/>
+<unit id="org.eclipse.swtbot.ide.feature.group" version="2.2.1.201402241301"/>
+<unit id="org.eclipse.swtbot.eclipse.feature.group" version="2.2.1.201402241301"/>
+<unit id="org.eclipse.swtbot.generator.feature.feature.group" version="2.2.1.201402241301"/>
+<repository location="http://download.eclipse.org/technology/swtbot/releases/latest"/>
+</location>
+</locations>
+</target>
diff --git a/devtools/org.eclipse.emf.parsley.targetplatform/kepler-rap.target b/devtools/org.eclipse.emf.parsley.targetplatform/kepler-rap.target
new file mode 100644
index 0000000..7de6504
--- /dev/null
+++ b/devtools/org.eclipse.emf.parsley.targetplatform/kepler-rap.target
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?>
+
+<target name="kepler-rap" sequenceNumber="1">
+<locations>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.rap.feature.feature.group" version="2.1.2.20140210-0628"/>
+<unit id="org.eclipse.rap.sdk.feature.feature.group" version="2.1.2.20140210-0628"/>
+<unit id="org.eclipse.rap.examples.feature.feature.group" version="2.1.2.20140121-1149"/>
+<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="2.1.2.20140210-0628"/>
+<repository location="http://download.eclipse.org/rt/rap/2.1/"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.xtext.xbase.lib.feature.group" version="2.6.0.v201405210727"/>
+<unit id="org.eclipse.xtext.xbase.lib.source.feature.group" version="2.6.0.v201405210727"/>
+<repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="com.google.guava" version="15.0.0.v201403281430"/>
+<unit id="javax.inject" version="1.0.0.v20091030"/>
+<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
+<unit id="com.google.inject" version="3.0.0.v201312141243"/>
+<unit id="com.google.guava.source" version="15.0.0.v201403281430"/>
+<unit id="javax.inject.source" version="1.0.0.v20091030"/>
+<unit id="org.apache.log4j.source" version="1.2.15.v201012070815"/>
+<unit id="com.google.inject.source" version="3.0.0.v201312141243"/>
+<unit id="org.apache.commons.logging.source" version="1.1.1.v201101211721"/>
+<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.databinding.source.feature.group" version="1.3.0.v20140203-1126"/>
+<unit id="org.eclipse.emf.rap.source.feature.group" version="2.9.1.v20140203-1126"/>
+<unit id="org.eclipse.emf.query.source.feature.group" version="1.7.0.201306111332"/>
+<unit id="org.eclipse.emf.cdo.feature.group" version="4.2.1.v20140218-1830"/>
+<unit id="org.eclipse.emf.cdo.source.feature.group" version="4.2.1.v20140218-1830"/>
+<unit id="org.eclipse.emf.rap.sdk.feature.group" version="2.9.1.v20140203-1126"/>
+<unit id="org.eclipse.emf.databinding.feature.group" version="1.3.0.v20140203-1126"/>
+<unit id="org.eclipse.net4j.db.feature.group" version="4.2.1.v20140218-1830"/>
+<unit id="org.eclipse.net4j.db.source.feature.group" version="4.2.1.v20140218-1830"/>
+<unit id="org.eclipse.net4j.feature.group" version="4.2.1.v20140218-1830"/>
+<unit id="org.eclipse.net4j.source.feature.group" version="4.2.1.v20140218-1830"/>
+<unit id="org.eclipse.net4j.util.feature.group" version="4.2.1.v20140218-1709"/>
+<unit id="org.eclipse.net4j.util.source.feature.group" version="4.2.1.v20140218-1709"/>
+<unit id="org.eclipse.emf.cdo.server.feature.group" version="4.2.1.v20140218-1830"/>
+<unit id="org.eclipse.emf.cdo.server.source.feature.group" version="4.2.1.v20140218-1830"/>
+<unit id="org.eclipse.emf.cdo.server.db.feature.group" version="4.2.1.v20140218-1709"/>
+<unit id="org.eclipse.emf.cdo.server.db.source.feature.group" version="4.2.1.v20140218-1709"/>
+<unit id="org.eclipse.emf.databinding.edit.feature.group" version="1.3.0.v20140203-1126"/>
+<unit id="org.eclipse.emf.query.feature.group" version="1.7.0.201306111332"/>
+<unit id="org.eclipse.emf.databinding.edit.source.feature.group" version="1.3.0.v20140203-1126"/>
+<repository location="http://download.eclipse.org/releases/kepler"/>
+</location>
+</locations>
+</target>
diff --git a/devtools/org.eclipse.emf.parsley.targetplatform/kepler.target b/devtools/org.eclipse.emf.parsley.targetplatform/kepler.target
new file mode 100644
index 0000000..2747280
--- /dev/null
+++ b/devtools/org.eclipse.emf.parsley.targetplatform/kepler.target
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?>
+
+<target name="kepler" sequenceNumber="1">
+<locations>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="de.itemis.xtext.antlr.feature.feature.group" version="2.1.1.v201405091103"/>
+<repository location="http://download.itemis.de/updates"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.net4j.sdk.feature.group" version="4.2.1.v20140218-1830"/>
+<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="4.2.1.v20140218-1830"/>
+<unit id="org.eclipse.sdk.feature.group" version="4.3.2.v20140221-1852"/>
+<unit id="org.eclipse.emf.query.sdk.feature.group" version="1.7.0.201306111332"/>
+<repository location="http://download.eclipse.org/releases/kepler"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.xtext.sdk.feature.group" version="2.6.2.v201407030533"/>
+<repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.sdk.feature.group" version="2.10.0.v20140519-0339"/>
+<repository location="http://download.eclipse.org/modeling/emf/emf/updates/releases"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.xtext.xdoc.feature.feature.group" version="0.0.0"/>
+<repository location="http://master.dl.sourceforge.net/project/xtext-xdoc/updates-2.6"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.swtbot.forms.feature.group" version="2.2.1.201402241301"/>
+<unit id="org.hamcrest.library" version="1.3.0.v201305281000"/>
+<unit id="org.eclipse.swtbot.ide.feature.group" version="2.2.1.201402241301"/>
+<unit id="org.eclipse.swtbot.eclipse.feature.group" version="2.2.1.201402241301"/>
+<unit id="org.eclipse.swtbot.generator.feature.feature.group" version="2.2.1.201402241301"/>
+<repository location="http://download.eclipse.org/technology/swtbot/releases/latest"/>
+</location>
+</locations>
+</target>
diff --git a/devtools/org.eclipse.emf.parsley.targetplatform/luna.target b/devtools/org.eclipse.emf.parsley.targetplatform/luna.target
new file mode 100644
index 0000000..b3ade54
--- /dev/null
+++ b/devtools/org.eclipse.emf.parsley.targetplatform/luna.target
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?>
+
+<target name="luna" sequenceNumber="3">
+<locations>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="de.itemis.xtext.antlr.feature.feature.group" version="2.1.1.v201405091103"/>
+<repository location="http://download.itemis.de/updates"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.net4j.sdk.feature.group" version="4.3.0.v20140308-0604"/>
+<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="4.3.0.v20140606-1557"/>
+<unit id="org.eclipse.sdk.feature.group" version="4.4.0.v20140606-1558"/>
+<unit id="org.eclipse.emf.query.sdk.feature.group" version="1.8.0.201405281426"/>
+<repository location="http://download.eclipse.org/releases/luna"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.xtext.sdk.feature.group" version="2.6.2.v201407030533"/>
+<repository location="http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.sdk.feature.group" version="2.10.0.v20140519-0339"/>
+<repository location="http://download.eclipse.org/modeling/emf/emf/updates/releases"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.xtext.xdoc.feature.feature.group" version="0.0.0"/>
+<repository location="http://master.dl.sourceforge.net/project/xtext-xdoc/updates-2.6"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.swtbot.forms.feature.group" version="2.2.1.201402241301"/>
+<unit id="org.hamcrest.library" version="1.3.0.v201305281000"/>
+<unit id="org.eclipse.swtbot.ide.feature.group" version="2.2.1.201402241301"/>
+<unit id="org.eclipse.swtbot.eclipse.feature.group" version="2.2.1.201402241301"/>
+<unit id="org.eclipse.swtbot.generator.feature.feature.group" version="2.2.1.201402241301"/>
+<repository location="http://download.eclipse.org/technology/swtbot/releases/latest"/>
+</location>
+</locations>
+</target>
diff --git a/devtools/org.eclipse.emf.parsley.targetplatform/pom.xml b/devtools/org.eclipse.emf.parsley.targetplatform/pom.xml
new file mode 100644
index 0000000..806a2cc
--- /dev/null
+++ b/devtools/org.eclipse.emf.parsley.targetplatform/pom.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.targetplatform</artifactId>
+	<packaging>pom</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>build-helper-maven-plugin</artifactId>
+				<version>1.3</version>
+				<executions>
+					<execution>
+						<id>attach-artifacts</id>
+						<phase>package</phase>
+						<goals>
+							<goal>attach-artifact</goal>
+						</goals>
+						<configuration>
+							<artifacts>
+								<artifact>
+									<file>${target-file-name}.target</file>
+									<type>target</type>
+									<classifier>${target-file-name}</classifier>
+								</artifact>
+							</artifacts>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/doc/org.eclipse.emf.parsley.doc/pom.xml b/doc/org.eclipse.emf.parsley.doc/pom.xml
new file mode 100644
index 0000000..a50a653
--- /dev/null
+++ b/doc/org.eclipse.emf.parsley.doc/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.doc</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/dsl/org.eclipse.emf.parsley.dsl.tests/EmfParsleyDslAllUiTests.launch b/dsl/org.eclipse.emf.parsley.dsl.tests/EmfParsleyDslAllUiTests.launch
index dccf61e..4dbff11 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.tests/EmfParsleyDslAllUiTests.launch
+++ b/dsl/org.eclipse.emf.parsley.dsl.tests/EmfParsleyDslAllUiTests.launch
@@ -28,7 +28,7 @@
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.parsley.dsl.tests"/>
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx512m -XX:MaxPermSize=256m"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx512m -XX:MaxPermSize=256m -Dorg.eclipse.swt.browser.DefaultType=mozilla"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.sdk.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="true"/>
diff --git a/dsl/org.eclipse.emf.parsley.dsl.tests/META-INF/MANIFEST.MF b/dsl/org.eclipse.emf.parsley.dsl.tests/META-INF/MANIFEST.MF
index 0106ce9..5461c16 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.tests/META-INF/MANIFEST.MF
+++ b/dsl/org.eclipse.emf.parsley.dsl.tests/META-INF/MANIFEST.MF
@@ -12,7 +12,7 @@
  org.eclipse.ui.workbench;bundle-version="3.5.0";resolution:=optional,
  org.eclipse.xtext.xbase.lib,
  org.eclipse.xtext.xbase.junit,
- org.eclipse.jdt.core;bundle-version="3.8.1",
+ org.eclipse.jdt.core;bundle-version="3.7.3",
  org.eclipse.emf.parsley.examples.library,
  org.eclipse.xtext.common.types.ui,
  org.eclipse.emf.parsley.tests.models,
diff --git a/dsl/org.eclipse.emf.parsley.dsl.tests/pom.xml b/dsl/org.eclipse.emf.parsley.dsl.tests/pom.xml
new file mode 100644
index 0000000..5d32560
--- /dev/null
+++ b/dsl/org.eclipse.emf.parsley.dsl.tests/pom.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.dsl.tests</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+
+	<dependencies>
+		<dependency>
+			<!-- needed for running plain Junit tests with Maven surefire plugin -->
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>${junit-version}</version>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.xtend</groupId>
+				<artifactId>xtend-maven-plugin</artifactId>
+			</plugin>
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-surefire-plugin</artifactId>
+				<version>${maven-surefire-plugin.version}</version>
+				<executions>
+					<execution>
+						<!-- The execution id default-test must be left to tycho-surefire-plugin 
+							since it will execute it anyway -->
+						<id>MavenSurefirePluginTest</id>
+						<phase>test</phase>
+						<configuration>
+							<skip>${dsl.tests.skip}</skip>
+							<!-- tycho.testArgLine repeated to re-use the configuration for argLine 
+								for jacoco agent -->
+							<argLine>${tycho.testArgLine} ${memoryArgs}</argLine>
+							<testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
+							<includes>
+								<include>**/org/eclipse/emf/parsley/dsl/tests/*Tests.java</include>
+							</includes>
+							<excludes>
+								<exclude>**/org/eclipse/emf/parsley/dsl/tests/*AllTests.java</exclude>
+								<exclude>**/org/eclipse/emf/parsley/dsl/tests/*AbstractTests.java</exclude>
+								<exclude>**/org/eclipse/emf/parsley/dsl/tests/*DslGeneratorTests.java</exclude>
+							</excludes>
+						</configuration>
+						<goals>
+							<goal>test</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-surefire-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<!-- compiler tests need an OSGI environment, but no UI -->
+						<id>default-test</id>
+						<phase>integration-test</phase>
+						<configuration>
+							<skip>${dsl.tests.skip}</skip>
+							<useUIHarness>false</useUIHarness>
+							<useUIThread>false</useUIThread>
+							<!-- tycho.testArgLine repeated to re-use the configuration for argLine 
+								for jacoco agent -->
+							<argLine>${tycho.testArgLine} ${memoryArgs}</argLine>
+							<includes>
+								<include>**/org/eclipse/emf/parsley/dsl/tests/*DslGeneratorTests.java</include>
+							</includes>
+						</configuration>
+						<goals>
+							<goal>test</goal>
+						</goals>
+					</execution>
+					<execution>
+						<id>TychoSurefirePluginUiTest</id>
+						<phase>integration-test</phase>
+						<configuration>
+							<skip>${dsl.tests.skip}</skip>
+							<useUIHarness>true</useUIHarness>
+							<useUIThread>true</useUIThread>
+							<!-- tycho.testArgLine repeated to re-use the configuration for argLine 
+								for jacoco agent -->
+							<argLine>${tycho.testArgLine} ${uiTestsArgs}</argLine>
+							<includes>
+								<include>**/org/eclipse/emf/parsley/dsl/ui/tests/*Test.java</include>
+							</includes>
+						</configuration>
+						<goals>
+							<goal>test</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>target-platform-configuration</artifactId>
+				<configuration>
+					<dependency-resolution>
+						<extraRequirements>
+							<!-- to get the org.eclipse.osgi.compatibility.state plugin iff 
+							the targeted Eclipse version (e.g., Luna) has it
+							(backwards compatible with kepler and previous versions) -->
+							<requirement>
+								<type>eclipse-feature</type>
+								<id>org.eclipse.rcp</id>
+								<versionRange>0.0.0</versionRange>
+							</requirement>
+						</extraRequirements>
+					</dependency-resolution>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/dsl/org.eclipse.emf.parsley.dsl.tests/xtend-gen/.gitignore b/dsl/org.eclipse.emf.parsley.dsl.tests/xtend-gen/.gitignore
deleted file mode 100644
index 1c31bab..0000000
--- a/dsl/org.eclipse.emf.parsley.dsl.tests/xtend-gen/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-org/
\ No newline at end of file
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ui/META-INF/MANIFEST.MF b/dsl/org.eclipse.emf.parsley.dsl.ui/META-INF/MANIFEST.MF
index ebce1fe..ff28793 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.ui/META-INF/MANIFEST.MF
+++ b/dsl/org.eclipse.emf.parsley.dsl.ui/META-INF/MANIFEST.MF
@@ -6,7 +6,7 @@
 Bundle-SymbolicName: org.eclipse.emf.parsley.dsl.ui;singleton:=true
 Bundle-ActivationPolicy: lazy
 Require-Bundle: org.eclipse.emf.parsley.dsl;visibility:=reexport,
- org.eclipse.xtext.ui,
+ org.eclipse.xtext.ui;bundle-version="[2.6.2,2.7.0)",
  org.eclipse.ui.editors;bundle-version="3.5.0",
  org.eclipse.ui.ide;bundle-version="3.5.0",
  org.eclipse.xtext.ui.shared,
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ui/pom.xml b/dsl/org.eclipse.emf.parsley.dsl.ui/pom.xml
new file mode 100644
index 0000000..4956bc2
--- /dev/null
+++ b/dsl/org.eclipse.emf.parsley.dsl.ui/pom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.dsl.ui</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.xtend</groupId>
+				<artifactId>xtend-maven-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>findbugs-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ui/src/org/eclipse/emf/parsley/dsl/ui/wizard/EmfParsleyDslProjectTemplateSelectionPage.java b/dsl/org.eclipse.emf.parsley.dsl.ui/src/org/eclipse/emf/parsley/dsl/ui/wizard/EmfParsleyDslProjectTemplateSelectionPage.java
index 6161655..98b97b5 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.ui/src/org/eclipse/emf/parsley/dsl/ui/wizard/EmfParsleyDslProjectTemplateSelectionPage.java
+++ b/dsl/org.eclipse.emf.parsley.dsl.ui/src/org/eclipse/emf/parsley/dsl/ui/wizard/EmfParsleyDslProjectTemplateSelectionPage.java
@@ -89,7 +89,6 @@
 			dcontrol.setEnabled(enabled);
 	}
 
-	@Override
 	public void createControl(Composite parent) {
 		Composite container = new Composite(parent, SWT.NULL);
 
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ui/xtend-gen/.gitignore b/dsl/org.eclipse.emf.parsley.dsl.ui/xtend-gen/.gitignore
deleted file mode 100644
index 1c31bab..0000000
--- a/dsl/org.eclipse.emf.parsley.dsl.ui/xtend-gen/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-org/
\ No newline at end of file
diff --git a/dsl/org.eclipse.emf.parsley.dsl/META-INF/MANIFEST.MF b/dsl/org.eclipse.emf.parsley.dsl/META-INF/MANIFEST.MF
index 6d8ba7f..4227ce0 100644
--- a/dsl/org.eclipse.emf.parsley.dsl/META-INF/MANIFEST.MF
+++ b/dsl/org.eclipse.emf.parsley.dsl/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
 Bundle-Version: 0.1.1.qualifier
 Bundle-SymbolicName: org.eclipse.emf.parsley.dsl;singleton:=true
 Bundle-ActivationPolicy: lazy
-Require-Bundle: org.eclipse.xtext;visibility:=reexport,
+Require-Bundle: org.eclipse.xtext;bundle-version="[2.6.2,2.7.0)";visibility:=reexport,
  org.eclipse.xtext.xbase;resolution:=optional;visibility:=reexport,
  org.eclipse.xtext.generator;resolution:=optional,
  org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional,
diff --git a/dsl/org.eclipse.emf.parsley.dsl/pom.xml b/dsl/org.eclipse.emf.parsley.dsl/pom.xml
new file mode 100644
index 0000000..addc382
--- /dev/null
+++ b/dsl/org.eclipse.emf.parsley.dsl/pom.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.dsl</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+	<build>
+		<!-- The following is required so that the mwe2 workflow finds the
+			.xtext grammar file -->
+		<sourceDirectory>src</sourceDirectory>
+		<resources>
+			<resource>
+				<directory>src</directory>
+				<includes>
+					<include>**/*.xtext</include>
+				</includes>
+			</resource>
+		</resources>
+
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-clean-plugin</artifactId>
+				<version>2.5</version>
+				<configuration>
+					<skip>${mwe2.skip}</skip>
+					<filesets>
+						<fileset>
+							<directory>${basedir}/src-gen</directory>
+						</fileset>
+						<fileset>
+							<directory>${basedir}/xtend-gen</directory>
+						</fileset>
+						<!-- clean ui plugin as well -->
+						<fileset>
+							<directory>${basedir}/../${project.artifactId}.ui/src-gen</directory>
+						</fileset>
+						<fileset>
+							<directory>${basedir}/../${project.artifactId}.ui/xtend-gen</directory>
+						</fileset>
+						<!-- clean test fragment as well -->
+						<fileset>
+							<directory>${basedir}/../${project.artifactId}.tests/src-gen</directory>
+						</fileset>
+						<fileset>
+							<directory>${basedir}/../${project.artifactId}.tests/xtend-gen</directory>
+						</fileset>
+					</filesets>
+				</configuration>
+			</plugin>
+
+			<plugin>
+				<groupId>org.fornax.toolsupport</groupId>
+				<artifactId>fornax-oaw-m2-plugin</artifactId>
+				<version>${fornax-oaw-m2-plugin-version}</version>
+				<configuration>
+					<skip>${mwe2.skip}</skip>
+					<workflowEngine>mwe2</workflowEngine>
+					<workflowDescriptor>src/org/eclipse/emf/parsley/dsl/GenerateEmfParsleyDsl.mwe2</workflowDescriptor>
+				</configuration>
+				<executions>
+					<execution>
+						<phase>generate-sources</phase>
+						<goals>
+							<goal>run-workflow</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.eclipse.xtend</groupId>
+				<artifactId>xtend-maven-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>findbugs-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/EmfParsleyDslRuntimeModule.java b/dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/EmfParsleyDslRuntimeModule.java
index c1cee86..1d141bf 100644
--- a/dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/EmfParsleyDslRuntimeModule.java
+++ b/dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/EmfParsleyDslRuntimeModule.java
@@ -15,7 +15,7 @@
 
 import org.eclipse.emf.parsley.dsl.generator.EmfParsleyDslGenerator;
 import org.eclipse.emf.parsley.dsl.generator.EmfParsleyDslOutputConfigurationProvider;
-import org.eclipse.emf.parsley.dsl.scoping.EmfParsleyDslImplicitlyImportedTypes;
+import org.eclipse.emf.parsley.dsl.scoping.EmfParsleyDslImplicitlyImportedFeatures;
 import org.eclipse.emf.parsley.dsl.scoping.EmfParsleyDslImportedNamespaceScopeProvider;
 import org.eclipse.emf.parsley.dsl.scoping.EmfParsleyDslScopeProvider;
 import org.eclipse.emf.parsley.dsl.scoping.EmfParsleyDslXbaseBatchScopeProvider;
@@ -23,7 +23,7 @@
 import org.eclipse.xtext.generator.IOutputConfigurationProvider;
 import org.eclipse.xtext.generator.OutputConfigurationProvider;
 import org.eclipse.xtext.scoping.IScopeProvider;
-import org.eclipse.xtext.xbase.scoping.batch.ImplicitlyImportedTypes;
+import org.eclipse.xtext.xbase.scoping.batch.ImplicitlyImportedFeatures;
 import org.eclipse.xtext.xbase.scoping.batch.XbaseBatchScopeProvider;
 
 import com.google.inject.Binder;
@@ -57,8 +57,8 @@
 		return EmfParsleyDslScopeProvider.class;
 	}
 
-	public Class<? extends ImplicitlyImportedTypes> bindImplicitlyImportedTypes() {
-		return EmfParsleyDslImplicitlyImportedTypes.class;
+	public Class<? extends ImplicitlyImportedFeatures> bindImplicitlyImportedFeatures() {
+		return EmfParsleyDslImplicitlyImportedFeatures.class;
 	}
 	
 	@Override
diff --git a/dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/GenerateEmfParsleyDsl.mwe2 b/dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/GenerateEmfParsleyDsl.mwe2
index c463aaa..4645e21 100644
--- a/dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/GenerateEmfParsleyDsl.mwe2
+++ b/dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/GenerateEmfParsleyDsl.mwe2
@@ -71,6 +71,7 @@
                 //  options = {
                 //      backtrack = true
                 //  }
+                	antlrParam = "-Xconversiontimeout" antlrParam = "10000"
                 }
     
                 // java-based API for validation
@@ -111,7 +112,9 @@
                 fragment = contentAssist.ContentAssistFragment auto-inject {}
     
                 // generates a more lightweight Antlr parser and lexer tailored for content assist
-                fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject {}
+                fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject {
+                	antlrParam = "-Xconversiontimeout" antlrParam = "10000"
+                }
     
                 // generates junit test support classes into Generator#pathTestProject
                 fragment = junit.Junit4Fragment auto-inject {}
diff --git a/dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/scoping/EmfParsleyDslImplicitlyImportedTypes.xtend b/dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/scoping/EmfParsleyDslImplicitlyImportedFeatures.xtend
similarity index 84%
rename from dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/scoping/EmfParsleyDslImplicitlyImportedTypes.xtend
rename to dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/scoping/EmfParsleyDslImplicitlyImportedFeatures.xtend
index 4bac1f5..9e0b4d8 100644
--- a/dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/scoping/EmfParsleyDslImplicitlyImportedTypes.xtend
+++ b/dsl/org.eclipse.emf.parsley.dsl/src/org/eclipse/emf/parsley/dsl/scoping/EmfParsleyDslImplicitlyImportedFeatures.xtend
@@ -12,9 +12,9 @@
 
 import org.eclipse.jface.databinding.swt.SWTObservables
 import org.eclipse.swt.widgets.Control
-import org.eclipse.xtext.xbase.scoping.batch.ImplicitlyImportedTypes
+import org.eclipse.xtext.xbase.scoping.batch.ImplicitlyImportedFeatures
 
-class EmfParsleyDslImplicitlyImportedTypes extends ImplicitlyImportedTypes {
+class EmfParsleyDslImplicitlyImportedFeatures extends ImplicitlyImportedFeatures {
 	override protected getExtensionClasses() {
 		(super.getExtensionClasses() + #[typeof(Control), typeof(SWTObservables)])
 			.toList
diff --git a/dsl/org.eclipse.emf.parsley.dsl/xtend-gen/.gitignore b/dsl/org.eclipse.emf.parsley.dsl/xtend-gen/.gitignore
deleted file mode 100644
index 1c31bab..0000000
--- a/dsl/org.eclipse.emf.parsley.dsl/xtend-gen/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-org/
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.model/pom.xml b/examples/org.eclipse.emf.parsley.examples.cdo.model/pom.xml
new file mode 100644
index 0000000..b2250b0
--- /dev/null
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.model/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.examples.cdo.model</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.server/pom.xml b/examples/org.eclipse.emf.parsley.examples.cdo.server/pom.xml
new file mode 100644
index 0000000..67f9a45
--- /dev/null
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.server/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.examples.cdo.server</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.parsley.examples.cdo.treeform/pom.xml b/examples/org.eclipse.emf.parsley.examples.cdo.treeform/pom.xml
new file mode 100644
index 0000000..ba934d4
--- /dev/null
+++ b/examples/org.eclipse.emf.parsley.examples.cdo.treeform/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.examples.cdo.treeform</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl.ui/pom.xml b/examples/org.eclipse.emf.parsley.examples.fowlerdsl.ui/pom.xml
new file mode 100644
index 0000000..f8ee3dc
--- /dev/null
+++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl.ui/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.examples.fowlerdsl.ui</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/META-INF/MANIFEST.MF
index b6caf9f..8b4101c 100644
--- a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/META-INF/MANIFEST.MF
@@ -17,7 +17,8 @@
  org.eclipse.emf.ecore;bundle-version="2.7.0",
  org.eclipse.emf.common;bundle-version="2.7.0",
  org.antlr.runtime,
- org.eclipse.xtext.common.types
+ org.eclipse.xtext.common.types,
+ org.objectweb.asm;bundle-version="[5.0.1,6.0.0)";resolution:=optional
 Import-Package: org.apache.commons.logging,
  org.apache.log4j,
  org.eclipse.xtext.xbase.lib
diff --git a/examples/org.eclipse.emf.parsley.examples.fowlerdsl/pom.xml b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/pom.xml
new file mode 100644
index 0000000..5328408
--- /dev/null
+++ b/examples/org.eclipse.emf.parsley.examples.fowlerdsl/pom.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.examples.fowlerdsl</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+	<build>
+		<!-- The following is required so that the mwe2 workflow finds the
+			.xtext grammar file -->
+		<sourceDirectory>src</sourceDirectory>
+		<resources>
+			<resource>
+				<directory>src</directory>
+				<includes>
+					<include>**/*.xtext</include>
+				</includes>
+			</resource>
+		</resources>
+
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-clean-plugin</artifactId>
+				<version>2.5</version>
+				<configuration>
+					<skip>${mwe2.skip}</skip>
+					<filesets>
+						<fileset>
+							<directory>${basedir}/src-gen</directory>
+						</fileset>
+						<fileset>
+							<directory>${basedir}/xtend-gen</directory>
+						</fileset>
+						<!-- clean ui plugin as well -->
+						<fileset>
+							<directory>${basedir}/../${project.artifactId}.ui/src-gen</directory>
+						</fileset>
+						<fileset>
+							<directory>${basedir}/../${project.artifactId}.ui/xtend-gen</directory>
+						</fileset>
+					</filesets>
+				</configuration>
+			</plugin>
+
+			<plugin>
+				<groupId>org.fornax.toolsupport</groupId>
+				<artifactId>fornax-oaw-m2-plugin</artifactId>
+				<version>${fornax-oaw-m2-plugin-version}</version>
+				<configuration>
+					<skip>${mwe2.skip}</skip>
+					<workflowEngine>mwe2</workflowEngine>
+					<workflowDescriptor>src/org/eclipse/emf/parsley/examples/fowlerdsl/GenerateStatemachine.mwe2</workflowDescriptor>
+				</configuration>
+				<executions>
+					<execution>
+						<phase>generate-sources</phase>
+						<goals>
+							<goal>run-workflow</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.parsley.examples.library.edit/pom.xml b/examples/org.eclipse.emf.parsley.examples.library.edit/pom.xml
new file mode 100644
index 0000000..bd70626
--- /dev/null
+++ b/examples/org.eclipse.emf.parsley.examples.library.edit/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.examples.library.edit</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.parsley.examples.library.editor/pom.xml b/examples/org.eclipse.emf.parsley.examples.library.editor/pom.xml
new file mode 100644
index 0000000..fc0456c
--- /dev/null
+++ b/examples/org.eclipse.emf.parsley.examples.library.editor/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.examples.library.editor</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.parsley.examples.library/pom.xml b/examples/org.eclipse.emf.parsley.examples.library/pom.xml
new file mode 100644
index 0000000..119d95a
--- /dev/null
+++ b/examples/org.eclipse.emf.parsley.examples.library/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.examples.library</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.parsley.examples.views/META-INF/MANIFEST.MF b/examples/org.eclipse.emf.parsley.examples.views/META-INF/MANIFEST.MF
index 8048f62..a69949f 100644
--- a/examples/org.eclipse.emf.parsley.examples.views/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.emf.parsley.examples.views/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: Emf Parsley Examples
 Bundle-SymbolicName: org.eclipse.emf.parsley.examples.views;singleton:=true
 Bundle-Version: 0.1.1.qualifier
-Bundle-Activator: org.eclipse.emf.parsley.examples.Activator
+Bundle-Activator: org.eclipse.emf.parsley.examples.EmfParsleyExamplesViewsActivator
 Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
  org.eclipse.core.runtime;bundle-version="3.5.0",
  org.eclipse.emf.parsley,
diff --git a/examples/org.eclipse.emf.parsley.examples.views/pom.xml b/examples/org.eclipse.emf.parsley.examples.views/pom.xml
new file mode 100644
index 0000000..f52b69a
--- /dev/null
+++ b/examples/org.eclipse.emf.parsley.examples.views/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.examples.views</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.emf.parsley.examples.views/src/org/eclipse/emf/parsley/examples/EmfParsleyExamplesExecutableExtensionFactory.java b/examples/org.eclipse.emf.parsley.examples.views/src/org/eclipse/emf/parsley/examples/EmfParsleyExamplesExecutableExtensionFactory.java
index ae17d09..1dd89d9 100644
--- a/examples/org.eclipse.emf.parsley.examples.views/src/org/eclipse/emf/parsley/examples/EmfParsleyExamplesExecutableExtensionFactory.java
+++ b/examples/org.eclipse.emf.parsley.examples.views/src/org/eclipse/emf/parsley/examples/EmfParsleyExamplesExecutableExtensionFactory.java
@@ -20,12 +20,12 @@
 
 	@Override
 	protected Bundle getBundle() {
-		return Activator.getDefault().getBundle();
+		return EmfParsleyExamplesViewsActivator.getDefault().getBundle();
 	}
 
 	@Override
 	protected EmfParsleyGuiceModule getModule() {
-		return new EmfParsleyExamplesModule(Activator.getDefault());
+		return new EmfParsleyExamplesModule(EmfParsleyExamplesViewsActivator.getDefault());
 	}
 
 }
diff --git a/examples/org.eclipse.emf.parsley.examples.views/src/org/eclipse/emf/parsley/examples/Activator.java b/examples/org.eclipse.emf.parsley.examples.views/src/org/eclipse/emf/parsley/examples/EmfParsleyExamplesViewsActivator.java
similarity index 85%
rename from examples/org.eclipse.emf.parsley.examples.views/src/org/eclipse/emf/parsley/examples/Activator.java
rename to examples/org.eclipse.emf.parsley.examples.views/src/org/eclipse/emf/parsley/examples/EmfParsleyExamplesViewsActivator.java
index 5a80a9f..4dfae26 100644
--- a/examples/org.eclipse.emf.parsley.examples.views/src/org/eclipse/emf/parsley/examples/Activator.java
+++ b/examples/org.eclipse.emf.parsley.examples.views/src/org/eclipse/emf/parsley/examples/EmfParsleyExamplesViewsActivator.java
@@ -16,18 +16,18 @@
 /**
  * The activator class controls the plug-in life cycle
  */
-public class Activator extends AbstractUIPlugin {
+public class EmfParsleyExamplesViewsActivator extends AbstractUIPlugin {
 
 	// The plug-in ID
 	public static final String PLUGIN_ID = "org.eclipse.emf.parsley.examples"; //$NON-NLS-1$
 
 	// The shared instance
-	private static Activator plugin;
+	private static EmfParsleyExamplesViewsActivator plugin;
 	
 	/**
 	 * The constructor
 	 */
-	public Activator() {
+	public EmfParsleyExamplesViewsActivator() {
 	}
 
 	/*
@@ -53,7 +53,7 @@
 	 *
 	 * @return the shared instance
 	 */
-	public static Activator getDefault() {
+	public static EmfParsleyExamplesViewsActivator getDefault() {
 		return plugin;
 	}
 
diff --git a/examples/org.eclipse.emf.parsley.ui.examples/pom.xml b/examples/org.eclipse.emf.parsley.ui.examples/pom.xml
new file mode 100644
index 0000000..7a21238
--- /dev/null
+++ b/examples/org.eclipse.emf.parsley.ui.examples/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.ui.examples</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<artifactId>maven-antrun-plugin</artifactId>
+				<version>1.7</version>
+				<executions>
+					<execution>
+						<phase>compile</phase>
+						<configuration>
+							<tasks>
+								<ant antfile="${basedir}/build.xml">
+									<target name="zip_all_examples" />
+								</ant>
+							</tasks>
+						</configuration>
+						<goals>
+							<goal>run</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.emf.parsley.cdo.feature/pom.xml b/features/org.eclipse.emf.parsley.cdo.feature/pom.xml
new file mode 100644
index 0000000..c303feb
--- /dev/null
+++ b/features/org.eclipse.emf.parsley.cdo.feature/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.cdo.feature</artifactId>
+	<packaging>eclipse-feature</packaging>
+
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.emf.parsley.dsl.feature/pom.xml b/features/org.eclipse.emf.parsley.dsl.feature/pom.xml
new file mode 100644
index 0000000..6aee0c7
--- /dev/null
+++ b/features/org.eclipse.emf.parsley.dsl.feature/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.dsl.feature</artifactId>
+	<packaging>eclipse-feature</packaging>
+
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.emf.parsley.examples.feature/pom.xml b/features/org.eclipse.emf.parsley.examples.feature/pom.xml
new file mode 100644
index 0000000..23bd21a
--- /dev/null
+++ b/features/org.eclipse.emf.parsley.examples.feature/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.examples.feature</artifactId>
+	<packaging>eclipse-feature</packaging>
+
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.emf.parsley.feature/pom.xml b/features/org.eclipse.emf.parsley.feature/pom.xml
new file mode 100644
index 0000000..80a2fce
--- /dev/null
+++ b/features/org.eclipse.emf.parsley.feature/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.feature</artifactId>
+	<packaging>eclipse-feature</packaging>
+
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.emf.parsley.rap.cdo.sdk/pom.xml b/features/org.eclipse.emf.parsley.rap.cdo.sdk/pom.xml
new file mode 100644
index 0000000..3d0ff2b
--- /dev/null
+++ b/features/org.eclipse.emf.parsley.rap.cdo.sdk/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.rap.cdo.sdk</artifactId>
+	<packaging>eclipse-feature</packaging>
+
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.emf.parsley.rap.sdk/pom.xml b/features/org.eclipse.emf.parsley.rap.sdk/pom.xml
new file mode 100644
index 0000000..4621d9b
--- /dev/null
+++ b/features/org.eclipse.emf.parsley.rap.sdk/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.rap.sdk</artifactId>
+	<packaging>eclipse-feature</packaging>
+
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.emf.parsley.sdk/pom.xml b/features/org.eclipse.emf.parsley.sdk/pom.xml
new file mode 100644
index 0000000..028bfac
--- /dev/null
+++ b/features/org.eclipse.emf.parsley.sdk/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.sdk</artifactId>
+	<packaging>eclipse-feature</packaging>
+
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/feature.xml b/features/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/feature.xml
index 613b594..9f71327 100644
--- a/features/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/feature.xml
+++ b/features/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/feature.xml
@@ -17,15 +17,7 @@
    </license>
 
    <includes
-         id="org.eclipse.emf.parsley.examples.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.emf.parsley.dsl.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.emf.cdo.server"
+         id="org.eclipse.emf.parsley.tests.swtbot.feature"
          version="0.0.0"/>
 
    <plugin
@@ -43,13 +35,6 @@
          unpack="false"/>
 
    <plugin
-         id="org.eclipse.emf.parsley.tests.swtbot.cdo"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
          id="org.eclipse.emf.parsley.examples.views"
          download-size="0"
          install-size="0"
diff --git a/features/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/pom.xml b/features/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/pom.xml
new file mode 100644
index 0000000..32724db
--- /dev/null
+++ b/features/org.eclipse.emf.parsley.tests.swtbot.cdo.feature/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.tests.swtbot.cdo.feature</artifactId>
+	<packaging>eclipse-feature</packaging>
+
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.emf.parsley.tests.swtbot.feature/feature.xml b/features/org.eclipse.emf.parsley.tests.swtbot.feature/feature.xml
index 95ab8b9..2f6919d 100644
--- a/features/org.eclipse.emf.parsley.tests.swtbot.feature/feature.xml
+++ b/features/org.eclipse.emf.parsley.tests.swtbot.feature/feature.xml
@@ -45,13 +45,6 @@
          version="0.0.0"/>
 
    <plugin
-         id="org.eclipse.emf.parsley.tests.swtbot"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
          id="org.eclipse.emf.parsley.ui.examples"
          download-size="0"
          install-size="0"
@@ -96,4 +89,11 @@
          install-size="0"
          version="0.0.0"/>
 
+   <plugin
+         id="org.eclipse.emf.parsley.tests.pde.utils"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
 </feature>
diff --git a/features/org.eclipse.emf.parsley.tests.swtbot.feature/pom.xml b/features/org.eclipse.emf.parsley.tests.swtbot.feature/pom.xml
new file mode 100644
index 0000000..b0cc789
--- /dev/null
+++ b/features/org.eclipse.emf.parsley.tests.swtbot.feature/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.tests.swtbot.feature</artifactId>
+	<packaging>eclipse-feature</packaging>
+
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.cdo.common/pom.xml b/plugins/org.eclipse.emf.parsley.cdo.common/pom.xml
new file mode 100644
index 0000000..3cd3a1c
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.cdo.common/pom.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.cdo.common</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>findbugs-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.cdo/pom.xml b/plugins/org.eclipse.emf.parsley.cdo/pom.xml
new file mode 100644
index 0000000..3923d8e
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.cdo/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.cdo</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.common/pom.xml b/plugins/org.eclipse.emf.parsley.common/pom.xml
new file mode 100644
index 0000000..9de4a51
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.common/pom.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.common</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>findbugs-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/binding/EObjectTextObservable.java b/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/binding/EObjectTextObservable.java
index 78cf28e..e6a8661 100644
--- a/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/binding/EObjectTextObservable.java
+++ b/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/binding/EObjectTextObservable.java
@@ -52,11 +52,7 @@
 		
 		current = (EObject) value;
 		
-		if (current != null) {
-			text.setText(labelProvider.getText(current));
-		} else {
-			text.setText("");
-		}
+		text.setText(labelProvider.getText(current));
 	}
 
 }
diff --git a/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/edit/TextUndoRedo.java b/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/edit/TextUndoRedo.java
index 6c206e4..50c3599 100644
--- a/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/edit/TextUndoRedo.java
+++ b/plugins/org.eclipse.emf.parsley.common/src/org/eclipse/emf/parsley/edit/TextUndoRedo.java
@@ -138,10 +138,10 @@
 	 */
 	public void keyPressed(KeyEvent e) {
 		// Listen to CTRL+Z for Undo, to CTRL+Y or CTRL+SHIFT+Z for Redo
-		boolean isCtrl = (e.stateMask & SWT.CTRL) > 0;
-		boolean isAlt = (e.stateMask & SWT.ALT) > 0;
+		boolean isCtrl = (e.stateMask & SWT.CTRL) != 0;
+		boolean isAlt = (e.stateMask & SWT.ALT) != 0;
 		if (isCtrl && !isAlt) {
-			boolean isShift = (e.stateMask & SWT.SHIFT) > 0;
+			boolean isShift = (e.stateMask & SWT.SHIFT) != 0;
 			if (!isShift && e.keyCode == 'z') {
 				undo();
 			} else if (!isShift && e.keyCode == 'y' || isShift
diff --git a/plugins/org.eclipse.emf.parsley.editors.common/pom.xml b/plugins/org.eclipse.emf.parsley.editors.common/pom.xml
new file mode 100644
index 0000000..fd7c1a8
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.editors.common/pom.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.editors.common</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>findbugs-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.editors/pom.xml b/plugins/org.eclipse.emf.parsley.editors/pom.xml
new file mode 100644
index 0000000..2b54d16
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.editors/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.editors</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.generator.common/pom.xml b/plugins/org.eclipse.emf.parsley.generator.common/pom.xml
new file mode 100644
index 0000000..cf80d48
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.generator.common/pom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.generator.common</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.xtend</groupId>
+				<artifactId>xtend-maven-plugin</artifactId>
+			</plugin>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>findbugs-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.rap.cdo/pom.xml b/plugins/org.eclipse.emf.parsley.rap.cdo/pom.xml
new file mode 100644
index 0000000..a4444a0
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.rap.cdo/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.rap.cdo</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.rap.runtime/pom.xml b/plugins/org.eclipse.emf.parsley.rap.runtime/pom.xml
new file mode 100644
index 0000000..362df9b
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.rap.runtime/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.rap.runtime</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.rap.views/pom.xml b/plugins/org.eclipse.emf.parsley.rap.views/pom.xml
new file mode 100644
index 0000000..338918b
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.rap.views/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.rap.views</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.rap/pom.xml b/plugins/org.eclipse.emf.parsley.rap/pom.xml
new file mode 100644
index 0000000..0d17f17
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.rap/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.rap</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.runtime.common/pom.xml b/plugins/org.eclipse.emf.parsley.runtime.common/pom.xml
new file mode 100644
index 0000000..7617a98
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.runtime.common/pom.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.runtime.common</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>findbugs-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.runtime/pom.xml b/plugins/org.eclipse.emf.parsley.runtime/pom.xml
new file mode 100644
index 0000000..af2c779
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.runtime/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.runtime</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.views.common/pom.xml b/plugins/org.eclipse.emf.parsley.views.common/pom.xml
new file mode 100644
index 0000000..02b3099
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.views.common/pom.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.views.common</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>findbugs-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.views/pom.xml b/plugins/org.eclipse.emf.parsley.views/pom.xml
new file mode 100644
index 0000000..d8fe786
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.views/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.views</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley.wizards/pom.xml b/plugins/org.eclipse.emf.parsley.wizards/pom.xml
new file mode 100644
index 0000000..6e42ba2
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley.wizards/pom.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.wizards</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>findbugs-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.emf.parsley/pom.xml b/plugins/org.eclipse.emf.parsley/pom.xml
new file mode 100644
index 0000000..3f16fb3
--- /dev/null
+++ b/plugins/org.eclipse.emf.parsley/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.emf.parsley.parent/.project b/releng/org.eclipse.emf.parsley.parent/.project
new file mode 100644
index 0000000..bdc3d50
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.parent/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emf.parsley.parent</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>
diff --git a/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent INDIGO Other Display.launch b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent INDIGO Other Display.launch
new file mode 100644
index 0000000..7930333
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent INDIGO Other Display.launch
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean verify -Dfindbugs.skip=true"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value="rcp-build-indigo rcp-build"/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<mapAttribute key="org.eclipse.debug.core.environmentVariables">
+<mapEntry key="DISPLAY" value=":50"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.emf.parsley.parent}"/>
+</launchConfiguration>
diff --git a/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent INDIGO.launch b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent INDIGO.launch
new file mode 100644
index 0000000..4db8749
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent INDIGO.launch
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean verify"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value="rcp-build-indigo rcp-build"/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.emf.parsley.parent}"/>
+</launchConfiguration>
diff --git a/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent KEPLER Other Display.launch b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent KEPLER Other Display.launch
new file mode 100644
index 0000000..9d2af6b
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent KEPLER Other Display.launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean verify"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value="rcp-build-kepler rcp-build"/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<mapAttribute key="org.eclipse.debug.core.environmentVariables">
+<mapEntry key="DISPLAY" value=":50"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.emf.parsley.parent}"/>
+</launchConfiguration>
diff --git a/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent KEPLER.launch b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent KEPLER.launch
new file mode 100644
index 0000000..78f3a7e
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent KEPLER.launch
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean verify"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value="rcp-build-kepler rcp-build"/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.emf.parsley.parent}"/>
+</launchConfiguration>
diff --git a/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent No Findbugs.launch b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent No Findbugs.launch
new file mode 100644
index 0000000..19c8297
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent No Findbugs.launch
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean verify -Dfindbugs.skip=true"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.emf.parsley.parent}"/>
+</launchConfiguration>
diff --git a/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent RAP.launch b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent RAP.launch
new file mode 100644
index 0000000..431dbb7
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent RAP.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean verify"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value="rap-build"/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.emf.parsley.parent}"/>
+</launchConfiguration>
diff --git a/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent SWTBOT Other Display.launch b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent SWTBOT Other Display.launch
new file mode 100644
index 0000000..8437827
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent SWTBOT Other Display.launch
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean verify -Ddsl.tests.skip=true -Dsimple.tests.skip=true -Dfindbugs.skip=true"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<mapAttribute key="org.eclipse.debug.core.environmentVariables">
+<mapEntry key="DISPLAY" value=":50"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.emf.parsley.parent}"/>
+</launchConfiguration>
diff --git "a/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent Test eclipse-sign \050without signing\051.launch" "b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent Test eclipse-sign \050without signing\051.launch"
new file mode 100644
index 0000000..fec79a3
--- /dev/null
+++ "b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent Test eclipse-sign \050without signing\051.launch"
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean verify -Dcbi.jarsigner.skip=true"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value="rcp-build rcp-build-luna eclipse-sign"/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.emf.parsley.parent}"/>
+</launchConfiguration>
diff --git a/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent.launch b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent.launch
new file mode 100644
index 0000000..97fa796
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.parent.launch
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean verify"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.emf.parsley.parent}"/>
+</launchConfiguration>
diff --git a/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.tycho No Findbugs Other Display.launch b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.tycho No Findbugs Other Display.launch
new file mode 100644
index 0000000..1835d43
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.tycho No Findbugs Other Display.launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean install -Dfindbugs.skip=true"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<mapAttribute key="org.eclipse.debug.core.environmentVariables">
+<mapEntry key="DISPLAY" value=":50"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.emf.parsley.parent}"/>
+</launchConfiguration>
diff --git a/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.tycho Other Display.launch b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.tycho Other Display.launch
new file mode 100644
index 0000000..aeddffb
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.parent/launches/org.eclipse.emf.parsley.tycho Other Display.launch
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean verify"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<mapAttribute key="org.eclipse.debug.core.environmentVariables">
+<mapEntry key="DISPLAY" value=":50"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.emf.parsley.parent}"/>
+</launchConfiguration>
diff --git a/releng/org.eclipse.emf.parsley.parent/pom.xml b/releng/org.eclipse.emf.parsley.parent/pom.xml
new file mode 100644
index 0000000..6eab85d
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.parent/pom.xml
@@ -0,0 +1,591 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.eclipse.emf.parsley</groupId>
+	<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+	<version>0.1.1-SNAPSHOT</version>
+	<packaging>pom</packaging>
+	<modules>
+		<module>../../devtools/org.eclipse.emf.parsley.targetplatform</module>
+		
+		<module>../../plugins/org.eclipse.emf.parsley.runtime.common</module>
+		<module>../../plugins/org.eclipse.emf.parsley.common</module>
+		<module>../../plugins/org.eclipse.emf.parsley.views.common</module>
+		<module>../../plugins/org.eclipse.emf.parsley.cdo.common</module>
+	</modules>
+
+	<properties>
+		<tycho-version>0.21.0</tycho-version>
+		<tycho-extras-version>0.21.0</tycho-extras-version>
+		<maven-surefire-plugin.version>2.16</maven-surefire-plugin.version>
+		<maven-antrun-plugin.version>1.7</maven-antrun-plugin.version>
+		<junit-version>4.11</junit-version>
+		<jacoco-version>0.5.8.201207111220</jacoco-version>
+		<findbugs-version>2.5.5-SNAPSHOT</findbugs-version>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<xtext-version>2.6.2</xtext-version>
+		<!-- <platform-version>[3.9,4.0)</platform-version> -->
+		<fornax-oaw-m2-plugin-version>3.4.0</fornax-oaw-m2-plugin-version>
+
+		<!-- tests and runtime args -->
+		<memoryArgs>-Xms256M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=256M -XX:+HeapDumpOnOutOfMemoryError</memoryArgs>
+		<uiTestsArgs>${memoryArgs} -Dorg.eclipse.swt.browser.DefaultType=mozilla</uiTestsArgs>
+		<pdeTestsArgs>-DbuildingWithTycho=true</pdeTestsArgs>
+		<swtbotTestsArgs>${uiTestsArgs} -Dorg.eclipse.swtbot.search.timeout=150000 -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false</swtbotTestsArgs>
+
+		<!-- <jacoco.reportPath>../target/jacoco.exec</jacoco.reportPath> -->
+		<!-- <findbugs.reportPath>../target/findbugs</findbugs.reportPath> -->
+		
+		<p2.repository.dest>${project.basedir}/../../target/repository</p2.repository.dest>
+		
+		<!-- Enable this on Hudson CI @Eclipse.org -->
+		<cbi.jarsigner.skip>true</cbi.jarsigner.skip>
+
+		<!-- Sonar -->
+		<sonar.language>java</sonar.language>
+		<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
+		<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
+		<sonar.jacoco.reportPath>${project.basedir}/../../target/jacoco.exec</sonar.jacoco.reportPath>
+		<sonar.junit.reportsPath>../${project.artifactId}.tests/target/surefire-reports/</sonar.junit.reportsPath>
+		<sonar.exclusions>file:**/src-gen/**,file:**/test/**,file:**/tests/**,file:**/example/**,file:**/examples/**</sonar.exclusions>
+
+		<findbugs.skip>false</findbugs.skip>
+		<mwe2.skip>false</mwe2.skip>
+		
+		<dsl.tests.skip>false</dsl.tests.skip>
+		<simple.tests.skip>false</simple.tests.skip>
+		<swtbot.tests.skip>false</swtbot.tests.skip>
+	</properties>
+	
+	<profiles>
+		<profile>
+			<id>rcp-build</id>
+			<activation>
+				<activeByDefault>true</activeByDefault>
+			</activation>
+			<modules>
+				<module>../../plugins/org.eclipse.emf.parsley.runtime</module>
+				<module>../../plugins/org.eclipse.emf.parsley</module>
+				<module>../../plugins/org.eclipse.emf.parsley.views</module>
+				<module>../../plugins/org.eclipse.emf.parsley.cdo</module>
+				<module>../../plugins/org.eclipse.emf.parsley.editors.common</module>
+				<module>../../plugins/org.eclipse.emf.parsley.editors</module>
+				<module>../../plugins/org.eclipse.emf.parsley.generator.common</module>
+				<module>../../plugins/org.eclipse.emf.parsley.wizards</module>
+		
+				<module>../../examples/org.eclipse.emf.parsley.ui.examples</module>
+		
+				<module>../../features/org.eclipse.emf.parsley.examples.feature</module>
+		
+				<module>../../doc/org.eclipse.emf.parsley.doc</module>
+		
+				<module>../../tests/org.eclipse.emf.parsley.tests.models</module>
+		
+				<module>../../tests/org.eclipse.emf.parsley.cdo.tests</module>
+				<module>../../tests/org.eclipse.emf.parsley.tests</module>
+		
+				<module>../../dsl/org.eclipse.emf.parsley.dsl</module>
+				<module>../../dsl/org.eclipse.emf.parsley.dsl.ui</module>
+				<module>../../dsl/org.eclipse.emf.parsley.dsl.tests</module>
+		
+				<module>../../features/org.eclipse.emf.parsley.feature</module>
+				<module>../../features/org.eclipse.emf.parsley.dsl.feature</module>
+				<module>../../features/org.eclipse.emf.parsley.cdo.feature</module>
+				<module>../../features/org.eclipse.emf.parsley.sdk</module>
+		
+				<!-- These examples are used in swtbot tests -->
+				<module>../../examples/org.eclipse.emf.parsley.examples.fowlerdsl</module>
+				<module>../../examples/org.eclipse.emf.parsley.examples.fowlerdsl.ui</module>
+				<module>../../examples/org.eclipse.emf.parsley.examples.library</module>
+				<module>../../examples/org.eclipse.emf.parsley.examples.library.edit</module>
+				<module>../../examples/org.eclipse.emf.parsley.examples.library.editor</module>
+				<module>../../examples/org.eclipse.emf.parsley.examples.views</module>
+		
+				<module>../../features/org.eclipse.emf.parsley.tests.swtbot.feature</module>
+				<module>../../tests/org.eclipse.emf.parsley.tests.swtbot</module>
+				
+				<!-- These examples are used in CDO swtbot tests -->
+				<module>../../examples/org.eclipse.emf.parsley.examples.cdo.server</module>
+				<module>../../examples/org.eclipse.emf.parsley.examples.cdo.model</module>
+				<module>../../examples/org.eclipse.emf.parsley.examples.cdo.treeform</module>
+		
+				<module>../../features/org.eclipse.emf.parsley.tests.swtbot.cdo.feature</module>
+				<module>../../tests/org.eclipse.emf.parsley.tests.swtbot.cdo</module>
+		
+				<module>../../releng/org.eclipse.emf.parsley.repository</module>
+			</modules>
+			
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.jacoco</groupId>
+						<artifactId>jacoco-maven-plugin</artifactId>
+						<version>${jacoco-version}</version>
+						<executions>
+							<execution>
+								<goals>
+									<goal>prepare-agent</goal>
+								</goals>
+								<configuration>
+									<!-- Where to put jacoco coverage report -->
+									<destFile>${sonar.jacoco.reportPath}</destFile>
+									<includes>
+										<include>org.eclipse.emf.parsley.*</include>
+									</includes>
+									<excludes>
+										<exclude>**/src-gen/**/*.java</exclude>
+										<exclude>**.antlr**</exclude>
+										<exclude>**.parseTree**</exclude>
+										<exclude>**Abstract*RuntimeModule.java</exclude>
+										<exclude>**/*SetupGenerated*.java</exclude>
+										<exclude>**/Abstract*Validator.java</exclude>
+										<exclude>**/*GrammarAccess.java</exclude>
+										<exclude>**/Abstract*UiModule.java</exclude>
+										<exclude>**/Abstract*ProposalProvider.java</exclude>
+										<exclude>**/*Test.java</exclude>
+									</excludes>
+									<append>true</append>
+								</configuration>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+		
+		<profile>
+			<id>rcp-build-luna</id>
+			<activation>
+				<activeByDefault>true</activeByDefault>
+			</activation>
+
+			<modules>
+				<module>../../tests/org.eclipse.emf.parsley.tests.pde.utils.luna</module>
+			</modules>
+			
+			<properties>
+				<target-file-name>luna</target-file-name>
+			</properties>
+		</profile>
+
+		<profile>
+			<id>local</id>
+			<activation>
+				<activeByDefault>false</activeByDefault>
+			</activation>
+
+			<modules>
+				<module>../../tests/org.eclipse.emf.parsley.tests.pde.utils.luna</module>
+			</modules>
+			
+			<properties>
+				<target-file-name>local</target-file-name>
+			</properties>
+		</profile>
+		
+		<profile>
+			<id>rcp-build-kepler</id>
+			<activation>
+				<activeByDefault>false</activeByDefault>
+			</activation>
+			
+			<modules>
+				<module>../../tests/org.eclipse.emf.parsley.tests.pde.utils.kepler</module>
+			</modules>
+			
+			<properties>
+				<target-file-name>kepler</target-file-name>
+			</properties>
+		</profile>
+
+		<profile>
+			<id>rcp-build-indigo</id>
+			<activation>
+				<activeByDefault>false</activeByDefault>
+			</activation>
+
+			<modules>
+				<module>../../tests/org.eclipse.emf.parsley.tests.pde.utils.indigo</module>
+			</modules>
+			
+			<properties>
+				<target-file-name>indigo</target-file-name>
+			</properties>
+		</profile>
+		
+		<profile>
+			<id>rap-build</id>
+			<activation>
+				<activeByDefault>false</activeByDefault>
+			</activation>
+
+			<modules>
+				<module>../../plugins/org.eclipse.emf.parsley.rap.runtime</module>
+				<module>../../plugins/org.eclipse.emf.parsley.rap</module>
+				<module>../../plugins/org.eclipse.emf.parsley.rap.cdo</module>
+				<module>../../plugins/org.eclipse.emf.parsley.rap.views</module>
+				
+				<module>../../releng/org.eclipse.emf.parsley.rap.requirements</module>
+				<module>../../features/org.eclipse.emf.parsley.rap.sdk</module>
+
+				<module>../../releng/org.eclipse.emf.parsley.rap.cdo.requirements</module>
+				<module>../../features/org.eclipse.emf.parsley.rap.cdo.sdk</module>
+				
+				<module>../../releng/org.eclipse.emf.parsley.rap.repository</module>
+			</modules>
+			<properties>
+				<findbugs.skip>true</findbugs.skip>
+				<target-file-name>kepler-rap</target-file-name>
+			</properties>
+		</profile>
+
+		<profile>
+			<id>eclipse-sign</id>
+			<properties>
+				<findbugs.skip>true</findbugs.skip>
+				<skipTests>true</skipTests>
+				
+				<!-- for Hudson CI @Eclipse.org -->
+				<!-- Disable this on your local machine -->
+				<cbi.jarsigner.skip>false</cbi.jarsigner.skip>
+			</properties>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.eclipse.tycho</groupId>
+						<artifactId>target-platform-configuration</artifactId>
+						<configuration>
+							<includePackedArtifacts>true</includePackedArtifacts>
+						</configuration>
+					</plugin>
+					<plugin>
+						<groupId>org.eclipse.tycho.extras</groupId>
+						<artifactId>tycho-pack200a-plugin</artifactId>
+						<executions>
+							<execution>
+								<id>pack200-normalize</id>
+								<goals>
+									<goal>normalize</goal>
+								</goals>
+								<phase>verify</phase>
+							</execution>
+						</executions>
+					</plugin>
+					<plugin>
+						<groupId>org.eclipse.cbi.maven.plugins</groupId>
+						<artifactId>eclipse-jarsigner-plugin</artifactId>
+						<executions>
+							<execution>
+								<id>sign</id>
+								<goals>
+									<goal>sign</goal>
+								</goals>
+								<phase>verify</phase>
+							</execution>
+						</executions>
+					</plugin>
+					<plugin>
+						<groupId>org.eclipse.tycho.extras</groupId>
+						<artifactId>tycho-pack200b-plugin</artifactId>
+						<executions>
+							<execution>
+								<id>pack200-pack</id>
+								<goals>
+									<goal>pack</goal>
+								</goals>
+								<phase>verify</phase>
+							</execution>
+						</executions>
+					</plugin>
+					<plugin>
+						<groupId>org.eclipse.tycho</groupId>
+						<artifactId>tycho-p2-plugin</artifactId>
+						<executions>
+							<execution>
+								<id>p2-metadata</id>
+								<goals>
+									<goal>p2-metadata</goal>
+								</goals>
+								<phase>verify</phase>
+							</execution>
+						</executions>
+						<configuration>
+							<defaultP2Metadata>false</defaultP2Metadata>
+						</configuration>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
+
+	<!-- 
+	<repositories>
+		<repository>
+			<id>kepler</id>
+			<layout>p2</layout>
+			<url>http://download.eclipse.org/releases/kepler</url>
+		</repository>
+		<repository>
+			<id>Xtext Update Site</id>
+			<layout>p2</layout>
+			<url>http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/</url>
+		</repository>
+	</repositories>
+	-->
+
+	<pluginRepositories>
+		<pluginRepository>
+			<id>cbi-release</id>
+			<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
+		</pluginRepository>
+	
+		<pluginRepository>
+			<id>sonatype_releases</id>
+			<url>https://oss.sonatype.org/content/repositories/releases/</url>
+			<releases>
+				<enabled>true</enabled>
+			</releases>
+			<snapshots>
+				<enabled>false</enabled>
+			</snapshots>
+		</pluginRepository>
+	
+		<pluginRepository>
+			<!-- required for findbugs plugin 2.5.4-SNAPSHOT (using findbugs 2.0.3) -->
+			<id>codehaus-snapshots</id>
+			<name>codehaus snapshot repository</name>
+			<!--<url>http://snapshots.repository.codehaus.org/</url> -->
+
+			<url>http://maven.wso2.org/nexus/content/repositories/codehaus-snapshots</url>
+			<snapshots>
+				<enabled>true</enabled>
+			</snapshots>
+			<releases>
+				<enabled>true</enabled>
+			</releases>
+		</pluginRepository>
+	
+		<!-- Repository to resolve fornax-oaw-m2-plugin -->
+		<!-- in case of SSL certificates errors, use
+			-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -->
+		<pluginRepository>
+			<id>fornax.plugin.repository</id>
+			<name>Fornax Plugin Repository</name>
+			<url>http://www.fornax-platform.org/m2/repository</url>
+			<!--  <url>http://www.fornax-platform.org/nexus/content/groups/public</url> -->
+			<releases>
+				<enabled>true</enabled>
+			</releases>
+			<snapshots>
+				<enabled>false</enabled>
+			</snapshots>
+		</pluginRepository>
+	</pluginRepositories>
+
+	<build>
+		<pluginManagement>
+			<plugins>
+				<!-- xtend-maven-plugin is in pluginManagement instead of in plugins 
+					so that it doesn't run before the exec-maven-plugin's *.mwe2 gen; this way 
+					we can list it after. -->
+
+				<plugin>
+					<groupId>org.eclipse.xtend</groupId>
+					<artifactId>xtend-maven-plugin</artifactId>
+					<version>${xtext-version}</version>
+					<executions>
+						<execution>
+							<goals>
+								<goal>compile</goal>
+								<goal>xtend-install-debug-info</goal>
+								<goal>testCompile</goal>
+								<goal>xtend-test-install-debug-info</goal>
+							</goals>
+						</execution>
+					</executions>
+					<configuration>
+						<outputDirectory>xtend-gen</outputDirectory>
+					</configuration>
+				</plugin>
+
+				<plugin>
+					<groupId>org.codehaus.mojo</groupId>
+					<artifactId>findbugs-maven-plugin</artifactId>
+					<version>${findbugs-version}</version>
+					<configuration>
+						<skip>${findbugs.skip}</skip>
+						<findbugsXmlOutput>true</findbugsXmlOutput>
+						<failOnError>false</failOnError>
+						<!-- <findbugsXmlOutputDirectory>${findbugs.reportPath}</findbugsXmlOutputDirectory> -->
+						<!-- Enables analysis which takes more memory but finds more bugs. If 
+							you run out of memory, changes the value of the effort element to 'Low'. -->
+						<!-- <effort>Max</effort> -->
+						<!-- Low: Reports all bugs (other values are medium and max) -->
+						<!-- <threshold>Medium</threshold> -->
+						<maxRank>15</maxRank>
+						<jvmArgs>-Xmx1024m</jvmArgs>
+						<excludeFilterFile>${project.basedir}/../../releng/org.eclipse.emf.parsley.site/excludeFilter.xml</excludeFilterFile>
+					</configuration>
+					<executions>
+						<execution>
+							<goals>
+								<goal>check</goal>
+							</goals>
+						</execution>
+					</executions>
+				</plugin>
+				
+				<!--  see https://bugs.eclipse.org/bugs/show_bug.cgi?id=419172#c17 -->
+				<plugin>
+					<groupId>org.codehaus.mojo</groupId>
+					<artifactId>sonar-maven-plugin</artifactId>
+					<version>2.4</version>
+				</plugin>
+
+				<plugin>
+					<groupId>org.eclipse.tycho</groupId>
+					<artifactId>target-platform-configuration</artifactId>
+					<version>${tycho-version}</version>
+				</plugin>
+
+				<plugin>
+					<groupId>org.eclipse.tycho</groupId>
+					<artifactId>tycho-p2-plugin</artifactId>
+					<version>${tycho-version}</version>
+				</plugin>
+
+				<plugin>
+					<groupId>org.eclipse.tycho.extras</groupId>
+					<artifactId>tycho-pack200a-plugin</artifactId>
+					<version>${tycho-extras-version}</version>
+				</plugin>
+				<plugin>
+					<groupId>org.eclipse.tycho.extras</groupId>
+					<artifactId>tycho-pack200b-plugin</artifactId>
+					<version>${tycho-extras-version}</version>
+				</plugin>
+				<plugin>
+					<groupId>org.eclipse.cbi.maven.plugins</groupId>
+					<artifactId>eclipse-jarsigner-plugin</artifactId>
+					<version>1.0.4</version>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-maven-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<extensions>true</extensions>
+			</plugin>
+			
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>target-platform-configuration</artifactId>
+				<configuration>
+					<target>
+						<artifact>
+							<groupId>org.eclipse.emf.parsley</groupId>
+							<artifactId>org.eclipse.emf.parsley.targetplatform</artifactId>
+							<version>${project.version}</version>
+							<classifier>${target-file-name}</classifier> 
+						</artifact>
+					</target>
+				</configuration>
+			</plugin>
+
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-source-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>plugin-source</id>
+						<goals>
+							<goal>plugin-source</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+
+			<plugin>
+				<groupId>org.eclipse.tycho.extras</groupId>
+				<artifactId>tycho-source-feature-plugin</artifactId>
+				<version>${tycho-extras-version}</version>
+				<executions>
+					<execution>
+						<id>source-feature</id>
+						<phase>package</phase>
+						<goals>
+							<goal>source-feature</goal>
+						</goals>
+						<configuration>
+							<excludes>
+								<!-- These are bundles and feature that do not have a corresponding 
+									source version; NOT the ones that we do not want source versions -->
+								<plugin id="org.eclipse.emf.parsley.runtime" />
+								<plugin id="org.eclipse.emf.parsley" />
+								<plugin id="org.eclipse.emf.parsley.cdo" />
+								<plugin id="org.eclipse.emf.parsley.editors" />
+								
+								<plugin id="org.eclipse.emf.parsley.rap.runtime" />
+								<plugin id="org.eclipse.emf.parsley.rap" />
+								<plugin id="org.eclipse.emf.parsley.rap.cdo" />
+								<plugin id="org.eclipse.emf.parsley.rap.views" />
+
+								<plugin id="org.eclipse.emf.rap" />
+
+								<feature id="org.eclipse.swtbot.ide" />
+								<feature id="org.eclipse.xtext.sdk" />
+								<feature id="org.eclipse.pde" />
+								<feature id="org.eclipse.emf.common" />
+								<feature id="org.eclipse.emf.databinding.edit" />
+								<feature id="org.eclipse.emf.query" />
+								<feature id="org.eclipse.emf.mwe2.language.sdk" />
+								<feature id="org.eclipse.emf.mwe2.runtime.sdk" />
+								<feature id="org.eclipse.swtbot.eclipse" />
+								<feature id="org.eclipse.swtbot.forms" />
+								<feature id="org.eclipse.emf.cdo.server" />
+							</excludes>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-p2-plugin</artifactId>
+				<executions>
+					<execution>
+						<!-- Don't attach (default) metadata before the "generate-source-feature" 
+							execution. -->
+						<id>default-p2-metadata-default</id>
+						<configuration>
+							<attachP2Metadata>false</attachP2Metadata>
+						</configuration>
+					</execution>
+					<execution>
+						<!-- Do attach metadata after the "generate-source-feature" execution. -->
+						<id>attach-p2-metadata</id>
+						<phase>package</phase>
+						<goals>
+							<goal>p2-metadata</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-packaging-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<configuration>
+					<format>'v'yyyyMMdd'-'HHmm</format>
+				</configuration>
+			</plugin>
+
+		</plugins>
+	</build>
+
+</project>
diff --git a/releng/org.eclipse.emf.parsley.rap.cdo.requirements/pom.xml b/releng/org.eclipse.emf.parsley.rap.cdo.requirements/pom.xml
new file mode 100644
index 0000000..34f3c0e
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.rap.cdo.requirements/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.rap.cdo.requirements</artifactId>
+	<packaging>eclipse-feature</packaging>
+
+</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.emf.parsley.rap.repository/.project b/releng/org.eclipse.emf.parsley.rap.repository/.project
new file mode 100644
index 0000000..021471a
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.rap.repository/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emf.parsley.rap.repository</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/releng/org.eclipse.emf.parsley.rap.repository/build.properties b/releng/org.eclipse.emf.parsley.rap.repository/build.properties
new file mode 100644
index 0000000..a342bd0
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.rap.repository/build.properties
@@ -0,0 +1,9 @@
+###############################################################################
+# Copyright (c) 2013 RCP Vision (http://www.rcp-vision.com) 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
+###############################################################################
+bin.includes = feature.xml,\
+               feature.properties
diff --git a/releng/org.eclipse.emf.parsley.rap.repository/category.xml b/releng/org.eclipse.emf.parsley.rap.repository/category.xml
new file mode 100644
index 0000000..b88b391
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.rap.repository/category.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+   <feature id="org.eclipse.emf.parsley.rap.sdk" version="0.0.0">
+      <category name="emfparsley.rap.category"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.rap.cdo.sdk" version="0.0.0">
+      <category name="emfparsley.rap.category"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.rap.requirements" version="0.0.0">
+      <category name="emfparsley.rap.category"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.rap.cdo.requirements" version="0.0.0">
+      <category name="emfparsley.rap.category"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.rap.sdk.source" version="0.0.0">
+      <category name="emfparsley.rap.category.source"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.rap.cdo.sdk.source" version="0.0.0">
+      <category name="emfparsley.rap.category.source"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.rap.requirements.source" version="0.0.0">
+      <category name="emfparsley.rap.category.source"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.rap.cdo.requirements.source" version="0.0.0">
+      <category name="emfparsley.rap.category.source"/>
+   </feature>
+   <category-def name="emfparsley.rap.category" label="Emf Parsley RAP">
+      <description>
+         Emf Parsley RAP
+      </description>
+   </category-def>
+   <category-def name="emfparsley.rap.category.source" label="Emf Parsley RAP Sources">
+      <description>
+         Emf Parsley RAP (Sources)
+      </description>
+   </category-def>
+</site>
diff --git a/releng/org.eclipse.emf.parsley.rap.repository/feature.properties b/releng/org.eclipse.emf.parsley.rap.repository/feature.properties
new file mode 100644
index 0000000..ed49dee
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.rap.repository/feature.properties
@@ -0,0 +1,132 @@
+# "providerName" property - name of the company that provides the feature
+providerName= Eclipse Modeling Project
+copyright=Copyright (c) 2013 RCP Vision (http://www.rcp-vision.com) and others.\n\
+\n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License\n\
+v1.0 which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html Description here.
+license=\
+Eclipse Foundation Software User Agreement\n\
+February 1, 2011\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+       - Content may be structured and packaged into modules to facilitate delivering,\n\
+         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+         plug-in fragments ("Fragments"), and features ("Features").\n\
+       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+         in a directory named "plugins".\n\
+       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+       - The top-level (root) directory\n\
+       - Plug-in and Fragment directories\n\
+       - Inside Plug-ins and Fragments packaged as JARs\n\
+       - Sub-directories of the directory named "src" of certain Plug-ins\n\
+       - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
+       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+          extending or updating the functionality of an Eclipse-based product.\n\
+       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+          with the Specification. Such Installable Software Agreement must inform the user of the\n\
+          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+          indication of agreement by the user, the provisioning Technology will complete installation\n\
+          of the Installable Software.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
diff --git a/releng/org.eclipse.emf.parsley.rap.repository/feature.xml b/releng/org.eclipse.emf.parsley.rap.repository/feature.xml
new file mode 100644
index 0000000..6305f60
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.rap.repository/feature.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.emf.parsley.rap.site"
+      label="Emf Parsley RAP Site"
+      version="0.1.1.qualifier">
+
+   <description url="http://code.google.com/a/eclipselabs.org/p/emf-components/">
+      Working with EMF a developer realizes that all the information are available for building basic UI.
+
+A lightweight framework that allows easy and quick development of EMF-based Applications. Can be configured to use all kind of EMF persistence implementations (XMI, Teneo, CDO).
+
+It aims at providing a set of Components like Trees, Tables and Detail Forms that manage the model with the introspective EMF capabilities. Using these components you can easily build forms, viewer or editors. The framework provides basic UI implementations which are customizable with Injection mechanism (based on Google Guice).
+   </description>
+
+   <copyright>
+      %copyright
+   </copyright>
+
+   <license url="http://www.eclipse.org/legal/epl-v10.html">
+      %license
+   </license>
+
+   <includes
+         id="org.eclipse.emf.parsley.rap.sdk"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.emf.parsley.rap.cdo.sdk"
+         version="0.0.0"/>
+
+</feature>
diff --git a/releng/org.eclipse.emf.parsley.rap.repository/pom.xml b/releng/org.eclipse.emf.parsley.rap.repository/pom.xml
new file mode 100644
index 0000000..3159412
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.rap.repository/pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.rap.repository</artifactId>
+	<packaging>eclipse-repository</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<!-- copy the p2 repository into the project root folder 
+					to allow for easier archiving in CI server -->
+				<artifactId>maven-antrun-plugin</artifactId>
+				<version>${maven-antrun-plugin.version}</version>
+				<executions>
+					<execution>
+						<id>copy-to-root-target</id>
+						<phase>package</phase>
+						<configuration>
+							<target>
+								<echo message="" />
+								<echo message="Repository path: ${project.build.directory}/repository" />
+								<echo message="Built version: ${unqualifiedVersion}.${buildQualifier}" />
+								<echo message="" />
+
+								<delete includeemptydirs="false" failonerror="false">
+									<fileset dir="${p2.repository.dest}">
+										<include name="**" />
+									</fileset>
+								</delete>
+								<copy includeemptydirs="false" todir="${p2.repository.dest}">
+									<fileset dir="target/repository">
+										<include name="**" />
+									</fileset>
+								</copy>
+							</target>
+						</configuration>
+						<goals>
+							<goal>run</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+
+		</plugins>
+	</build>
+
+</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.emf.parsley.rap.requirements/feature.xml b/releng/org.eclipse.emf.parsley.rap.requirements/feature.xml
index 771b253..e52d555 100644
--- a/releng/org.eclipse.emf.parsley.rap.requirements/feature.xml
+++ b/releng/org.eclipse.emf.parsley.rap.requirements/feature.xml
@@ -28,7 +28,7 @@
          version="0.0.0"/>
 
    <includes
-         id="org.eclipse.emf.rap.sdk"
+         id="org.eclipse.emf.common"
          version="0.0.0"/>
 
    <plugin
@@ -80,4 +80,81 @@
          version="0.0.0"
          unpack="false"/>
 
+   <plugin
+         id="org.eclipse.rap.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.emf.rap.common.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.emf.rap.edit.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.rap.rwt"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.rap.ui.forms"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.rap.ui.views"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.rap.ui.workbench"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.rap.jface"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.rap.rwt.osgi"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.rap.jface.databinding"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.emf.rap"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
 </feature>
diff --git a/releng/org.eclipse.emf.parsley.rap.requirements/pom.xml b/releng/org.eclipse.emf.parsley.rap.requirements/pom.xml
new file mode 100644
index 0000000..15b08e9
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.rap.requirements/pom.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.rap.requirements</artifactId>
+	<packaging>eclipse-feature</packaging>
+
+<!-- 	<build> -->
+<!-- 		<plugins> -->
+<!-- 			<plugin> -->
+<!-- 				<groupId>org.eclipse.tycho.extras</groupId> -->
+<!-- 				<artifactId>tycho-source-feature-plugin</artifactId> -->
+<!-- 				<version>${tycho-extras-version}</version> -->
+<!-- 				<configuration> -->
+<!-- 					<skip>true</skip> -->
+<!-- 				</configuration> -->
+<!-- 			</plugin> -->
+<!-- 		</plugins> -->
+<!-- 	</build> -->
+
+</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.emf.parsley.releng/aggregator/luna-cdo-xtext-2.6-swtbot-mirror.b3aggr b/releng/org.eclipse.emf.parsley.releng/aggregator/luna-cdo-xtext-2.6-swtbot-mirror.b3aggr
new file mode 100644
index 0000000..3d475f2
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.releng/aggregator/luna-cdo-xtext-2.6-swtbot-mirror.b3aggr
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<aggregator:Aggregation xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:aggregator="http://www.eclipse.org/b3/2011/aggregator/1.1.0" description="Mirror for EMF Parsley Target Platform" label="Mirror for EMF Parsley Target Platform" buildRoot="${user.home}/mirror/luna-cdo-xtext-2.6-swtbot">
+  <validationSets label="main">
+    <contributions label="Luna">
+      <repositories location="http://download.eclipse.org/releases/luna">
+        <products name="org.eclipse.sdk.ide"/>
+        <features name="org.eclipse.emf.sdk.feature.group"/>
+        <features name="org.eclipse.emf.cdo.sdk.feature.group"/>
+        <features name="org.eclipse.emf.query.sdk.feature.group"/>
+        <features name="org.eclipse.net4j.sdk.feature.group"/>
+        <features name="org.eclipse.rcp.feature.group"/>
+        <features name="org.eclipse.rcp.source.feature.group"/>
+        <features name="org.eclipse.equinox.executable.feature.group"/>
+        <features name="org.eclipse.sdk.feature.group"/>
+      </repositories>
+    </contributions>
+    <contributions description="Xtext Releases" label="Xtext Releases">
+      <repositories location="http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases">
+        <features name="org.eclipse.xtext.sdk.feature.group" versionRange="[2.6.2,2.7.0)"/>
+      </repositories>
+    </contributions>
+    <contributions description="SwtBot" label="SwtBot">
+      <repositories location="http://download.eclipse.org/technology/swtbot/releases/latest">
+        <features name="org.eclipse.swtbot.eclipse.feature.group"/>
+        <features name="org.eclipse.swtbot.ide.feature.group"/>
+      </repositories>
+    </contributions>
+    <contributions description="Xdoc" label="Xdoc">
+      <repositories location="http://master.dl.sourceforge.net/project/xtext-xdoc/updates-2.6">
+        <features name="org.eclipse.xtext.xdoc.feature.feature.group"/>
+      </repositories>
+    </contributions>
+    <contributions description="Itemis Xtext" label="Itemis Xtext">
+      <repositories location="http://download.itemis.de/updates">
+        <features name="de.itemis.xtext.antlr.feature.feature.group"/>
+      </repositories>
+    </contributions>
+  </validationSets>
+  <configurations/>
+  <configurations architecture="x86_64"/>
+  <configurations operatingSystem="linux" windowSystem="gtk"/>
+  <configurations operatingSystem="linux" windowSystem="gtk" architecture="x86_64"/>
+  <configurations operatingSystem="macosx" windowSystem="cocoa"/>
+  <configurations operatingSystem="macosx" windowSystem="cocoa" architecture="x86_64"/>
+  <customCategories identifier="custom.rcp.components" label="Custom RCP Components"/>
+</aggregator:Aggregation>
diff --git a/releng/org.eclipse.emf.parsley.releng/increment_versions.ant b/releng/org.eclipse.emf.parsley.releng/increment_versions.ant
index 0d78433..f02c241 100644
--- a/releng/org.eclipse.emf.parsley.releng/increment_versions.ant
+++ b/releng/org.eclipse.emf.parsley.releng/increment_versions.ant
@@ -18,10 +18,12 @@
 		<input message="Please enter the new release version (MAJOR.MINOR.MICRO):" addproperty="version.main" defaultvalue="${version_main}" />
 
 		<property name="version.osgi" value="${version.main}.qualifier"/>
+		<property name="version.mvn" value="${version.main}-SNAPSHOT"/>
 		
 		<propertyfile file="release.properties" comment="Build version">
 			<entry key="version_main" value="${version.main}" />
 			<entry key="version_osgi" value="${version.osgi}" />
+			<entry key="version_mvn" value="${version.mvn}" />
 		</propertyfile>
 		
 		<antcall target="-modify-artifacts"/>
@@ -30,8 +32,19 @@
 	<target name="-modify-artifacts" if="version.main" >
 		<echo message="VERSION MAIN: ${version.main}" />
 		<echo message="VERSION OSGI: ${version.osgi}" />
+		<echo message="VERSION MVN : ${version.mvn}" />
 		<echo message="WORKSPACE   : ${WORKSPACE}" />
 		<echo message="" />
+		
+		<!-- pom.xml -->
+		<replaceregexp>
+			<regexp pattern="&lt;version&gt;(.*)&lt;/version&gt;" />
+			<substitution expression="&lt;version&gt;${version.mvn}&lt;/version&gt;" />
+			<fileset id="path.pom" dir="${WORKSPACE}">
+				<include name="**/pom.xml" />
+				<exclude name="**/target/**" />
+			</fileset>
+		</replaceregexp>
 
 		<!-- MANIFEST.MF -->
 		<replaceregexp>
@@ -54,4 +67,27 @@
 		</replaceregexp>
 
 	</target>
+	
+	<target name="set-version-xtext" description="Sets the Xtext version constraints in MANIFEST.MF">
+		<!-- Read the last entered values for defaults -->
+		<property file="version.properties" />
+		<input message="Please enter the new Xtext version:" addproperty="version.xtext" defaultvalue="${version_xtext}" />
+		<!-- MANIFEST.MF -->
+		<replaceregexp>
+			<regexp pattern='org\.eclipse\.xtext;bundle-version=".*\"(.*)' />
+			<substitution expression='org.eclipse.xtext;bundle-version="${version.xtext}"\1' />
+			<fileset id="path.manifest" dir="${WORKSPACE}">
+				<include name="**/META-INF/MANIFEST.MF" />
+				<exclude name="**/target/**" />
+			</fileset>
+		</replaceregexp>
+		<replaceregexp>
+			<regexp pattern='org\.eclipse\.xtext\.(?!example)(.*);bundle-version=".*\"(.*)' />
+			<substitution expression='org.eclipse.xtext.\1;bundle-version="${version.xtext}"\2' />
+			<fileset id="path.manifest" dir="${WORKSPACE}">
+				<include name="**/META-INF/MANIFEST.MF" />
+				<exclude name="**/target/**" />
+			</fileset>
+		</replaceregexp>
+	</target>
 </project>
diff --git a/releng/org.eclipse.emf.parsley.repository/.project b/releng/org.eclipse.emf.parsley.repository/.project
new file mode 100644
index 0000000..4e3df80
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.repository/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emf.parsley.repository</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/releng/org.eclipse.emf.parsley.repository/build.properties b/releng/org.eclipse.emf.parsley.repository/build.properties
new file mode 100644
index 0000000..b3a611b
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.repository/build.properties
@@ -0,0 +1,2 @@
+bin.includes = feature.xml,\
+               feature.properties
diff --git a/releng/org.eclipse.emf.parsley.repository/category.xml b/releng/org.eclipse.emf.parsley.repository/category.xml
new file mode 100644
index 0000000..814ffaf
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.repository/category.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+   <feature id="org.eclipse.emf.parsley.feature">
+      <category name="emfparsley.category"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.examples.feature">
+      <category name="emfparsley.category"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.cdo.feature">
+      <category name="emfparsley.category"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.dsl.feature">
+      <category name="emfparsley.category"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.sdk">
+      <category name="emfparsley.category"/>
+   </feature>
+
+   <feature id="org.eclipse.emf.parsley.feature.source">
+      <category name="emfparsley.category.source"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.examples.feature.source">
+      <category name="emfparsley.category.source"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.cdo.feature.source">
+      <category name="emfparsley.category.source"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.dsl.feature.source">
+      <category name="emfparsley.category.source"/>
+   </feature>
+   <feature id="org.eclipse.emf.parsley.sdk.source">
+      <category name="emfparsley.category.source"/>
+   </feature>
+
+   <category-def name="emfparsley.category" label="Emf Parsley">
+      <description>
+         Emf Parsley
+      </description>
+   </category-def>
+   <category-def name="emfparsley.category.source" label="Emf Parsley Sources">
+      <description>
+         Emf Parsley (Sources)
+      </description>
+   </category-def>
+</site>
diff --git a/releng/org.eclipse.emf.parsley.repository/feature.properties b/releng/org.eclipse.emf.parsley.repository/feature.properties
new file mode 100644
index 0000000..ed49dee
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.repository/feature.properties
@@ -0,0 +1,132 @@
+# "providerName" property - name of the company that provides the feature
+providerName= Eclipse Modeling Project
+copyright=Copyright (c) 2013 RCP Vision (http://www.rcp-vision.com) and others.\n\
+\n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License\n\
+v1.0 which accompanies this distribution, and is available at\n\
+http://www.eclipse.org/legal/epl-v10.html Description here.
+license=\
+Eclipse Foundation Software User Agreement\n\
+February 1, 2011\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+       - Content may be structured and packaged into modules to facilitate delivering,\n\
+         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+         plug-in fragments ("Fragments"), and features ("Features").\n\
+       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+         in a directory named "plugins".\n\
+       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+       - The top-level (root) directory\n\
+       - Plug-in and Fragment directories\n\
+       - Inside Plug-ins and Fragments packaged as JARs\n\
+       - Sub-directories of the directory named "src" of certain Plug-ins\n\
+       - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
+       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+          extending or updating the functionality of an Eclipse-based product.\n\
+       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+          with the Specification. Such Installable Software Agreement must inform the user of the\n\
+          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+          indication of agreement by the user, the provisioning Technology will complete installation\n\
+          of the Installable Software.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
diff --git a/releng/org.eclipse.emf.parsley.repository/feature.xml b/releng/org.eclipse.emf.parsley.repository/feature.xml
new file mode 100644
index 0000000..d6da25a
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.repository/feature.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.emf.parsley.repository"
+      label="Emf Parsley Repository"
+      version="0.1.1.qualifier"
+      provider-name="RCP Vision">
+
+   <description url="http://www.eclipse.org/emfparsley">
+      Working with EMF a developer realizes that all the information are available for building basic UI.
+
+A lightweight framework that allows easy and quick development of EMF-based Applications. Can be configured to use all kind of EMF persistence implementations (XMI, Teneo, CDO).
+
+It aims at providing a set of Components like Trees, Tables and Detail Forms that manage the model with the introspective EMF capabilities. Using these components you can easily build forms, viewer or editors. The framework provides basic UI implementations which are customizable with Injection mechanism (based on Google Guice).
+   </description>
+
+   <copyright>
+      %copyright
+   </copyright>
+
+   <license url="http://www.eclipse.org/legal/epl-v10.html">
+      %license
+   </license>
+
+   <includes
+         id="org.eclipse.emf.parsley.feature"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.emf.parsley.cdo.feature"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.emf.parsley.examples.feature"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.emf.parsley.dsl.feature"
+         version="0.0.0"/>
+
+   <includes
+         id="org.eclipse.emf.parsley.sdk"
+         version="0.0.0"/>
+
+</feature>
diff --git a/releng/org.eclipse.emf.parsley.repository/pom.xml b/releng/org.eclipse.emf.parsley.repository/pom.xml
new file mode 100644
index 0000000..76ab0dc
--- /dev/null
+++ b/releng/org.eclipse.emf.parsley.repository/pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.repository</artifactId>
+	<packaging>eclipse-repository</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<!-- copy the p2 repository into the project root folder 
+					to allow for easier archiving in CI server -->
+				<artifactId>maven-antrun-plugin</artifactId>
+				<version>${maven-antrun-plugin.version}</version>
+				<executions>
+					<execution>
+						<id>copy-to-root-target</id>
+						<phase>package</phase>
+						<configuration>
+							<target>
+								<echo message="" />
+								<echo message="Repository path: ${project.build.directory}/repository" />
+								<echo message="Built version: ${unqualifiedVersion}.${buildQualifier}" />
+								<echo message="" />
+
+								<delete includeemptydirs="false" failonerror="false">
+									<fileset dir="${p2.repository.dest}">
+										<include name="**" />
+									</fileset>
+								</delete>
+								<copy includeemptydirs="false" todir="${p2.repository.dest}">
+									<fileset dir="target/repository">
+										<include name="**" />
+									</fileset>
+								</copy>
+							</target>
+						</configuration>
+						<goals>
+							<goal>run</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+
+		</plugins>
+	</build>
+
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.parsley.cdo.tests/pom.xml b/tests/org.eclipse.emf.parsley.cdo.tests/pom.xml
new file mode 100644
index 0000000..ffc8ce2
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.cdo.tests/pom.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.cdo.tests</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-surefire-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<configuration>
+					<skip>${simple.tests.skip}</skip>
+					<useUIHarness>false</useUIHarness>
+					<useUIThread>false</useUIThread>
+					<!-- tycho.testArgLine repeated to re-use the configuration for argLine 
+						for jacoco agent -->
+					<argLine>${tycho.testArgLine} ${memoryArgs}</argLine>
+					<includes>
+						<include>**/*Tests.java</include>
+					</includes>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.parsley.tests.models/pom.xml b/tests/org.eclipse.emf.parsley.tests.models/pom.xml
new file mode 100644
index 0000000..25aae9b
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.models/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.tests.models</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/.classpath b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/.classpath
new file mode 100644
index 0000000..ad32c83
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/.project b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/.project
new file mode 100644
index 0000000..b92c19e
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emf.parsley.tests.pde.utils</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..150518c
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Emf Parsley Tests PDE Utils
+Bundle-SymbolicName: org.eclipse.emf.parsley.tests.pde.utils
+Bundle-Version: 0.1.1.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.pde.core;bundle-version="3.7.1";visibility:=reexport,
+ org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.eclipse.core.resources;bundle-version="3.7.101"
+Export-Package: org.eclipse.emf.parsley.tests.pde.utils
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/about.html b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/about.html
new file mode 100644
index 0000000..c258ef5
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2006</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/build.properties b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/pom.xml b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/pom.xml
new file mode 100644
index 0000000..819963a
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.tests.pde.utils</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/utils/PDETargetPlatformUtils.java b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/src/org/eclipse/emf/parsley/tests/pde/utils/PDETargetPlatformUtils.java
similarity index 84%
copy from tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/utils/PDETargetPlatformUtils.java
copy to tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/src/org/eclipse/emf/parsley/tests/pde/utils/PDETargetPlatformUtils.java
index a50e6fb..05decf4 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/utils/PDETargetPlatformUtils.java
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.indigo/src/org/eclipse/emf/parsley/tests/pde/utils/PDETargetPlatformUtils.java
@@ -1,3 +1,4 @@
+package org.eclipse.emf.parsley.tests.pde.utils;
 /*******************************************************************************
  * Copyright (c) 2013 RCP Vision (http://www.rcp-vision.com) and others.
  * All rights reserved. This program and the accompanying materials
@@ -8,7 +9,7 @@
  * Contributors:
  * Lorenzo Bettini - Initial contribution and API
  *******************************************************************************/
-package org.eclipse.emf.parsley.tests.utils;
+
 
 import java.io.File;
 import java.util.ArrayList;
@@ -20,11 +21,11 @@
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.osgi.baseadaptor.BaseData;
 import org.eclipse.osgi.framework.internal.core.AbstractBundle;
-import org.eclipse.pde.core.target.ITargetDefinition;
-import org.eclipse.pde.core.target.ITargetLocation;
-import org.eclipse.pde.core.target.ITargetPlatformService;
-import org.eclipse.pde.core.target.LoadTargetDefinitionJob;
 import org.eclipse.pde.internal.core.target.TargetPlatformService;
+import org.eclipse.pde.internal.core.target.provisional.IBundleContainer;
+import org.eclipse.pde.internal.core.target.provisional.ITargetDefinition;
+import org.eclipse.pde.internal.core.target.provisional.ITargetPlatformService;
+import org.eclipse.pde.internal.core.target.provisional.LoadTargetDefinitionJob;
 import org.osgi.framework.Bundle;
 
 /**
@@ -65,7 +66,7 @@
 		ITargetDefinition targetDef = tpService.newTarget();
 		targetDef.setName("Tycho platform");
 		Bundle[] bundles = Platform.getBundle("org.eclipse.core.runtime").getBundleContext().getBundles();
-		List<ITargetLocation> bundleContainers = new ArrayList<ITargetLocation>();
+		List<IBundleContainer> bundleContainers = new ArrayList<IBundleContainer>();
 		Set<File> dirs = new HashSet<File>();
 		System.out.println("Bundles for the target platform:");
 		for (Bundle bundle : bundles) {
@@ -78,12 +79,12 @@
 			File folder = file.getParentFile();
 			if (!dirs.contains(folder)) {
 				dirs.add(folder);
-				bundleContainers.add(tpService.newDirectoryLocation(folder.getAbsolutePath()));
+				bundleContainers.add(tpService.newDirectoryContainer(folder.getAbsolutePath()));
 			}
 		}
 		System.out.println("");
 		System.out.println("Bundles added the target platform.");
-		targetDef.setTargetLocations(bundleContainers.toArray(new ITargetLocation[bundleContainers.size()]));
+		targetDef.setBundleContainers(bundleContainers.toArray(new IBundleContainer[bundleContainers.size()]));
 		targetDef.setArch(Platform.getOSArch());
 		targetDef.setOS(Platform.getOS());
 		targetDef.setWS(Platform.getWS());
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/.classpath b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/.classpath
new file mode 100644
index 0000000..ad32c83
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/.project b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/.project
new file mode 100644
index 0000000..b92c19e
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emf.parsley.tests.pde.utils</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..106e253
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Emf Parsley Tests PDE Utils
+Bundle-SymbolicName: org.eclipse.emf.parsley.tests.pde.utils
+Bundle-Version: 0.1.1.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.pde.core;bundle-version="3.9.1";visibility:=reexport,
+ org.eclipse.core.runtime;bundle-version="3.9.100",
+ org.eclipse.core.resources;bundle-version="3.8.101"
+Export-Package: org.eclipse.emf.parsley.tests.pde.utils
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/about.html b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/about.html
new file mode 100644
index 0000000..c258ef5
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2006</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/build.properties b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/pom.xml b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/pom.xml
new file mode 100644
index 0000000..819963a
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.tests.pde.utils</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/utils/PDETargetPlatformUtils.java b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/src/org/eclipse/emf/parsley/tests/pde/utils/PDETargetPlatformUtils.java
similarity index 98%
rename from tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/utils/PDETargetPlatformUtils.java
rename to tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/src/org/eclipse/emf/parsley/tests/pde/utils/PDETargetPlatformUtils.java
index a50e6fb..a9df53e 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/utils/PDETargetPlatformUtils.java
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.kepler/src/org/eclipse/emf/parsley/tests/pde/utils/PDETargetPlatformUtils.java
@@ -1,3 +1,4 @@
+package org.eclipse.emf.parsley.tests.pde.utils;
 /*******************************************************************************
  * Copyright (c) 2013 RCP Vision (http://www.rcp-vision.com) and others.
  * All rights reserved. This program and the accompanying materials
@@ -8,7 +9,7 @@
  * Contributors:
  * Lorenzo Bettini - Initial contribution and API
  *******************************************************************************/
-package org.eclipse.emf.parsley.tests.utils;
+
 
 import java.io.File;
 import java.util.ArrayList;
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/.classpath b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/.classpath
new file mode 100644
index 0000000..ad32c83
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/.project b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/.project
new file mode 100644
index 0000000..b92c19e
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.emf.parsley.tests.pde.utils</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..8748e08
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Emf Parsley Tests PDE Utils
+Bundle-SymbolicName: org.eclipse.emf.parsley.tests.pde.utils
+Bundle-Version: 0.1.1.qualifier
+Bundle-Vendor: Eclipse Modeling Project
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.pde.core;bundle-version="3.10.0";visibility:=reexport,
+ org.eclipse.core.runtime;bundle-version="3.9.100",
+ org.eclipse.core.resources;bundle-version="3.8.101"
+Export-Package: org.eclipse.emf.parsley.tests.pde.utils
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/about.html b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/about.html
new file mode 100644
index 0000000..c258ef5
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 5, 2006</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/build.properties b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .
diff --git a/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/pom.xml b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/pom.xml
new file mode 100644
index 0000000..819963a
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/pom.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.tests.pde.utils</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/utils/PDETargetPlatformUtils.java b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/src/org/eclipse/emf/parsley/tests/pde/utils/PDETargetPlatformUtils.java
similarity index 86%
copy from tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/utils/PDETargetPlatformUtils.java
copy to tests/org.eclipse.emf.parsley.tests.pde.utils.luna/src/org/eclipse/emf/parsley/tests/pde/utils/PDETargetPlatformUtils.java
index a50e6fb..998a034 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/utils/PDETargetPlatformUtils.java
+++ b/tests/org.eclipse.emf.parsley.tests.pde.utils.luna/src/org/eclipse/emf/parsley/tests/pde/utils/PDETargetPlatformUtils.java
@@ -1,3 +1,4 @@
+package org.eclipse.emf.parsley.tests.pde.utils;
 /*******************************************************************************
  * Copyright (c) 2013 RCP Vision (http://www.rcp-vision.com) and others.
  * All rights reserved. This program and the accompanying materials
@@ -8,7 +9,7 @@
  * Contributors:
  * Lorenzo Bettini - Initial contribution and API
  *******************************************************************************/
-package org.eclipse.emf.parsley.tests.utils;
+
 
 import java.io.File;
 import java.util.ArrayList;
@@ -18,8 +19,8 @@
 
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.osgi.baseadaptor.BaseData;
-import org.eclipse.osgi.framework.internal.core.AbstractBundle;
+import org.eclipse.osgi.internal.framework.EquinoxBundle;
+import org.eclipse.osgi.storage.BundleInfo.Generation;
 import org.eclipse.pde.core.target.ITargetDefinition;
 import org.eclipse.pde.core.target.ITargetLocation;
 import org.eclipse.pde.core.target.ITargetPlatformService;
@@ -70,11 +71,11 @@
 		System.out.println("Bundles for the target platform:");
 		for (Bundle bundle : bundles) {
 			System.out.print(bundle);
-			AbstractBundle bundleImpl = (AbstractBundle) bundle;
-			BaseData bundleData = (BaseData) bundleImpl.getBundleData();
-//			EquinoxBundle bundleImpl = (EquinoxBundle) bundle;
-//			Generation generation = (Generation) bundleImpl.getModule().getCurrentRevision().getRevisionInfo();
-			File file = bundleData.getBundleFile().getBaseFile();
+//			AbstractBundle bundleImpl = (AbstractBundle) bundle;
+//			BaseData bundleData = (BaseData) bundleImpl.getBundleData();
+			EquinoxBundle bundleImpl = (EquinoxBundle) bundle;
+			Generation generation = (Generation) bundleImpl.getModule().getCurrentRevision().getRevisionInfo();
+			File file = generation.getBundleFile().getBaseFile();
 			File folder = file.getParentFile();
 			if (!dirs.contains(folder)) {
 				dirs.add(folder);
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/.gitignore b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/.gitignore
new file mode 100644
index 0000000..24405ef
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/.gitignore
@@ -0,0 +1 @@
+/screenshots
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/EmfParsleySwtBotAllTestsForCDO.launch b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/EmfParsleySwtBotAllTestsForCDO.launch
index 4e9cf92..e5f5189 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/EmfParsleySwtBotAllTestsForCDO.launch
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/EmfParsleySwtBotAllTestsForCDO.launch
@@ -36,41 +36,28 @@
 <stringAttribute key="product" value="org.eclipse.sdk.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="false"/>
 <setAttribute key="selected_features">
-<setEntry value="org.eclipse.cvs.source:default"/>
-<setEntry value="org.eclipse.cvs:default"/>
-<setEntry value="org.eclipse.e4.rcp.source:default"/>
-<setEntry value="org.eclipse.e4.rcp:default"/>
 <setEntry value="org.eclipse.emf.cdo.server:default"/>
 <setEntry value="org.eclipse.emf.common:default"/>
 <setEntry value="org.eclipse.emf.ecore:default"/>
+<setEntry value="org.eclipse.emf.parsley.cdo.feature:default"/>
 <setEntry value="org.eclipse.emf.parsley.dsl.feature:default"/>
 <setEntry value="org.eclipse.emf.parsley.examples.feature:default"/>
 <setEntry value="org.eclipse.emf.parsley.feature:default"/>
+<setEntry value="org.eclipse.emf.parsley.sdk:default"/>
 <setEntry value="org.eclipse.emf.parsley.tests.swtbot.cdo.feature:default"/>
-<setEntry value="org.eclipse.equinox.p2.core.feature.source:default"/>
+<setEntry value="org.eclipse.emf.parsley.tests.swtbot.feature:default"/>
 <setEntry value="org.eclipse.equinox.p2.core.feature:default"/>
-<setEntry value="org.eclipse.equinox.p2.extras.feature.source:default"/>
 <setEntry value="org.eclipse.equinox.p2.extras.feature:default"/>
-<setEntry value="org.eclipse.equinox.p2.rcp.feature.source:default"/>
 <setEntry value="org.eclipse.equinox.p2.rcp.feature:default"/>
-<setEntry value="org.eclipse.equinox.p2.user.ui.source:default"/>
 <setEntry value="org.eclipse.equinox.p2.user.ui:default"/>
-<setEntry value="org.eclipse.help.source:default"/>
 <setEntry value="org.eclipse.help:default"/>
-<setEntry value="org.eclipse.jdt.source:default"/>
 <setEntry value="org.eclipse.jdt:default"/>
-<setEntry value="org.eclipse.net4j.util.ui:default"/>
-<setEntry value="org.eclipse.net4j.util:default"/>
-<setEntry value="org.eclipse.net4j:default"/>
-<setEntry value="org.eclipse.pde.source:default"/>
 <setEntry value="org.eclipse.pde:default"/>
-<setEntry value="org.eclipse.platform.source:default"/>
 <setEntry value="org.eclipse.platform:default"/>
-<setEntry value="org.eclipse.rcp.source:default"/>
 <setEntry value="org.eclipse.rcp:default"/>
-<setEntry value="org.eclipse.sdk:default"/>
 <setEntry value="org.eclipse.swtbot.eclipse:default"/>
 <setEntry value="org.eclipse.swtbot.forms:default"/>
+<setEntry value="org.eclipse.swtbot.generator.feature:default"/>
 <setEntry value="org.eclipse.swtbot.ide:default"/>
 <setEntry value="org.eclipse.swtbot:default"/>
 <setEntry value="org.eclipse.xtend.sdk:default"/>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/META-INF/MANIFEST.MF
index b1a5aa8..aacc415 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/META-INF/MANIFEST.MF
@@ -14,13 +14,13 @@
  org.eclipse.emf.cdo.server.net4j,
  org.eclipse.net4j.tcp,
  org.eclipse.emf,
- org.eclipse.swtbot.eclipse.core;bundle-version="2.1.1",
- org.eclipse.swtbot.eclipse.ui;bundle-version="2.1.1",
- org.eclipse.swtbot.forms.finder;bundle-version="2.1.1",
- org.eclipse.swtbot.swt.finder;bundle-version="2.1.1",
+ org.eclipse.swtbot.eclipse.core;bundle-version="2.2.1",
+ org.eclipse.swtbot.eclipse.ui;bundle-version="2.2.1",
+ org.eclipse.swtbot.forms.finder;bundle-version="2.2.1",
+ org.eclipse.swtbot.swt.finder;bundle-version="2.2.1",
  com.google.inject,
  org.junit;bundle-version="4.8.0",
- org.eclipse.swtbot.eclipse.finder;bundle-version="2.1.1",
+ org.eclipse.swtbot.eclipse.finder;bundle-version="2.2.1",
  org.eclipse.emf.edit;bundle-version="2.9.0",
  org.eclipse.emf.parsley.common,
  org.eclipse.emf.parsley.examples.cdo.treeform,
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/pom.xml b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/pom.xml
new file mode 100644
index 0000000..6cb3d2e
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.tests.swtbot.cdo</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-surefire-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<configuration>
+					<skip>${swtbot.tests.skip}</skip>
+					<useUIHarness>true</useUIHarness>
+					<useUIThread>false</useUIThread>
+					<!-- tycho.testArgLine repeated to re-use the configuration for argLine 
+						for jacoco agent -->
+					<argLine>${tycho.testArgLine} ${swtbotTestsArgs}</argLine>
+					<testSuite>org.eclipse.emf.parsley.tests.swtbot.cdo</testSuite>
+					<testClass>org.eclipse.emf.parsley.tests.swtbot.cdo.CDOTestSuite</testClass>
+				</configuration>
+			</plugin>
+			
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>target-platform-configuration</artifactId>
+				<configuration>
+					<dependency-resolution>
+						<extraRequirements>
+							<requirement>
+								<type>eclipse-feature</type>
+								<id>org.eclipse.emf.parsley.tests.swtbot.cdo.feature</id>
+								<versionRange>0.0.0</versionRange>
+							</requirement>
+							<requirement>
+								<type>eclipse-feature</type>
+								<id>org.eclipse.rcp</id>
+								<versionRange>0.0.0</versionRange>
+							</requirement>
+						</extraRequirements>
+					</dependency-resolution>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/src/org/eclipse/emf/parsley/tests/swtbot/cdo/treeform/CDOTreeFormDirtyAndSaveableTests.java b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/src/org/eclipse/emf/parsley/tests/swtbot/cdo/treeform/CDOTreeFormDirtyAndSaveableTests.java
index 497e073..9b3cff5 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/src/org/eclipse/emf/parsley/tests/swtbot/cdo/treeform/CDOTreeFormDirtyAndSaveableTests.java
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/src/org/eclipse/emf/parsley/tests/swtbot/cdo/treeform/CDOTreeFormDirtyAndSaveableTests.java
@@ -12,21 +12,20 @@
  *******************************************************************************/
 package org.eclipse.emf.parsley.tests.swtbot.cdo.treeform;
 
+import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.emf.parsley.tests.swtbot.cdo.util.CDOAbstractTests;
+import org.eclipse.swt.widgets.Display;
 import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
 import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
 import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
 import org.eclipse.ui.ISaveablePart;
 import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.internal.WorkbenchPage;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-@SuppressWarnings("restriction")
 @RunWith(SWTBotJunit4ClassRunner.class)
 public class CDOTreeFormDirtyAndSaveableTests extends CDOAbstractTests {
 
@@ -95,13 +94,12 @@
 //	}
 	
 	private void forceSaveView(SWTBotView botView){
-		final WorkbenchPage workbenchPage = (WorkbenchPage)botView.getViewReference().getPage();
 		final IViewPart view = botView.getViewReference().getView(false);
 		if(view instanceof ISaveablePart){	
-			PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
-				@Override
+			Display.getDefault().syncExec(new Runnable() {
 				public void run() {
-					workbenchPage.saveSaveable((ISaveablePart)view, view, false, false);
+					((ISaveablePart)view).doSave(
+							new NullProgressMonitor());
 				}
 			});
 		}else{
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/src/org/eclipse/emf/parsley/tests/swtbot/cdo/util/CDOAbstractTests.java b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/src/org/eclipse/emf/parsley/tests/swtbot/cdo/util/CDOAbstractTests.java
index 8a724ac..9f0172e 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/src/org/eclipse/emf/parsley/tests/swtbot/cdo/util/CDOAbstractTests.java
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot.cdo/src/org/eclipse/emf/parsley/tests/swtbot/cdo/util/CDOAbstractTests.java
@@ -12,6 +12,9 @@
 
 import static org.eclipse.swtbot.swt.finder.waits.Conditions.shellCloses;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.eclipse.core.runtime.Assert;
 import org.eclipse.emf.cdo.net4j.CDONet4jSessionConfiguration;
 import org.eclipse.emf.cdo.net4j.CDONet4jUtil;
@@ -21,8 +24,11 @@
 import org.eclipse.net4j.util.container.IPluginContainer;
 import org.eclipse.net4j.util.security.PasswordCredentialsProvider;
 import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.TreeItem;
 import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
 import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
+import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
+import org.eclipse.swtbot.swt.finder.results.ListResult;
 import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
 import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
 import org.eclipse.swtbot.swt.finder.widgets.SWTBotToolbarButton;
@@ -40,10 +46,13 @@
 	protected static final String USER ="user";
 	protected static final String PASSWORD ="password";
 
+	protected static final String EMF_PARSLEY_CATEGORY = "Emf Parsley";
+
+	protected static SWTWorkbenchBot bot;
+
 	protected  static void startCDOServer(){
 		CDOServer.startMemoryRepository(REPOSITORY, PORT);
 		Assert.isTrue(doTestCdoConnection(SERVER, PORT, REPOSITORY));
-		
 	}
 	
 	protected static boolean doTestCdoConnection(String server, String port, String repository){
@@ -71,21 +80,16 @@
 		CDOSession session = config.openNet4jSession();
 		session.close();
 	}
-	
-
-	protected static SWTWorkbenchBot bot;
 
 	@BeforeClass
 	public static void initBot() throws Exception {
 		bot = new SWTWorkbenchBot();
-		 SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
+		SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
 	}
-	
 
 	public CDOAbstractTests() {
 		super();
 	}
-
 	
 	protected void doSaveView(){
 		SWTBotToolbarButton toggleButtonSave = bot.toolbarButtonWithTooltip("Save (Ctrl+S)");
@@ -101,14 +105,11 @@
 		getLibraryView(id).close();
 	}
 	
-	
-protected static final String EMF_PARSLEY_CATEGORY = "Emf Parsley";
-	
 	protected static SWTBotView openTestView(String libraryView) {
 		bot.menu("Window").menu("Show View").menu("Other...").click();
 		SWTBotShell shell = bot.shell("Show View");
 		shell.activate();
-		bot.tree().expandNode(EMF_PARSLEY_CATEGORY).select(libraryView);
+		expandNodeSync(bot.tree(), EMF_PARSLEY_CATEGORY).select(libraryView);
 		bot.button("OK").click();
 		bot.waitUntil(shellCloses(shell), 50000);
 		return getLibraryView(libraryView);
@@ -158,4 +159,65 @@
 			}
 		});
 	}
+
+	protected static SWTBotTreeItem expandNodeSync(final SWTBotTree tree, String...names) {
+		SWTBotTreeItem current = null;
+		for (int i = 0; i < names.length; i++) {
+			if (current == null) {
+				current = tree.expandNode(names[i]);
+			} else {
+				current = current.expandNode(names[i]);
+			}
+			waitForTreeItems(current);
+		}
+		return current;
+	}
+
+	/**
+	 * This should prevent test failures in slow machines.
+	 * @param treeItem
+	 */
+	protected static void waitForTreeItems(final SWTBotTreeItem treeItem) {
+		int retries = 3;
+		int msecs = 2000;
+		int count = 0;
+		while (count < retries) {
+			System.out.println("Checking that tree item " + treeItem.getText() + " has children...");
+			List<SWTBotTreeItem> foundItems = UIThreadRunnable.syncExec(new ListResult<SWTBotTreeItem>() {
+				public List<SWTBotTreeItem> run() {
+					TreeItem[] items = treeItem.widget.getItems();
+					List<SWTBotTreeItem> results = new ArrayList<SWTBotTreeItem>();
+					for (TreeItem treeItem : items) {
+						results.add(new SWTBotTreeItem(treeItem));
+					}
+					return results;
+				}
+			});
+			if (foundItems.isEmpty()) {
+				treeItem.collapse();
+				System.out.println("No chilren... retrying in " + msecs + " milliseconds..."); //$NON-NLS-1$
+				try {
+					Thread.sleep(msecs);
+				} catch (InterruptedException e) {
+					e.printStackTrace();
+				}
+				treeItem.expand();
+			} else if (foundItems.size() == 1 && foundItems.get(0).getText().trim().isEmpty()) {
+				treeItem.collapse();
+				System.out.println("Only one child with empty text... retrying in " + msecs + " milliseconds..."); //$NON-NLS-1$
+				try {
+					Thread.sleep(msecs);
+				} catch (InterruptedException e) {
+					e.printStackTrace();
+				}
+				treeItem.expand();
+			} else {
+				System.out.println("Found " + foundItems.size() + " items. OK!");
+				return;
+			}
+			
+			count++;
+		}
+	}
+
 }
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyDslEditorTests.launch b/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyDslEditorTests.launch
index 611a4de..02d3136 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyDslEditorTests.launch
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyDslEditorTests.launch
@@ -11,7 +11,7 @@
 <booleanAttribute key="clearws" value="true"/>
 <booleanAttribute key="clearwslog" value="false"/>
 <stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
-<booleanAttribute key="default" value="false"/>
+<booleanAttribute key="default" value="true"/>
 <stringAttribute key="featureDefaultLocation" value="workspace"/>
 <stringAttribute key="featurePluginResolution" value="workspace"/>
 <booleanAttribute key="includeOptional" value="true"/>
@@ -31,12 +31,11 @@
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.parsley.tests.swtbot"/>
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m -Dorg.eclipse.swtbot.search.timeout=60000 -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m -Dorg.eclipse.swtbot.search.timeout=60000 -Dorg.eclipse.swt.browser.DefaultType=mozilla"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.sdk.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="false"/>
 <setAttribute key="selected_features">
-<setEntry value="org.eclipse.e4.rcp:default"/>
 <setEntry value="org.eclipse.emf.cdo.server:default"/>
 <setEntry value="org.eclipse.emf.common:default"/>
 <setEntry value="org.eclipse.emf.ecore:default"/>
@@ -79,7 +78,7 @@
 <booleanAttribute key="show_selected_only" value="false"/>
 <stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
 <booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="true"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
 <booleanAttribute key="useDefaultConfig" value="true"/>
 <booleanAttribute key="useDefaultConfigArea" value="false"/>
 <booleanAttribute key="useProduct" value="true"/>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyEditingStrategyTests.launch b/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyEditingStrategyTests.launch
index a30777b..2ea5adb 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyEditingStrategyTests.launch
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyEditingStrategyTests.launch
@@ -31,7 +31,7 @@
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.parsley.tests.swtbot"/>
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false -Dorg.eclipse.swt.browser.DefaultType=mozilla"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.sdk.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="false"/>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyEditorTests.launch b/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyEditorTests.launch
index 396b9d8..f1ac0f2 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyEditorTests.launch
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyEditorTests.launch
@@ -25,6 +25,9 @@
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
 <listEntry value="1"/>
 </listAttribute>
+<mapAttribute key="org.eclipse.debug.core.environmentVariables">
+<mapEntry key="SWT_GTK3" value="0"/>
+</mapAttribute>
 <stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
 <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
 <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyExamplesWizardsTests.launch b/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyExamplesWizardsTests.launch
index 627e5b6..a4b9b4e 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyExamplesWizardsTests.launch
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleyExamplesWizardsTests.launch
@@ -31,7 +31,7 @@
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.parsley.tests.swtbot"/>
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m -Dorg.eclipse.swtbot.search.timeout=10000 -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m -Dorg.eclipse.swtbot.search.timeout=10000 -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false -Dorg.eclipse.swt.browser.DefaultType=mozilla"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.sdk.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="false"/>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleySwtBotAllTests.launch b/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleySwtBotAllTests.launch
index c665906..935877b 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleySwtBotAllTests.launch
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleySwtBotAllTests.launch
@@ -22,6 +22,9 @@
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
 <listEntry value="1"/>
 </listAttribute>
+<mapAttribute key="org.eclipse.debug.core.environmentVariables">
+<mapEntry key="SWT_GTK3" value="0"/>
+</mapAttribute>
 <stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
 <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
 <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
@@ -31,7 +34,7 @@
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.parsley.tests.swtbot"/>
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m -Dorg.eclipse.swtbot.search.timeout=100000 -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m -Dorg.eclipse.swtbot.search.timeout=100000 -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false -Dorg.eclipse.swt.browser.DefaultType=mozilla"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.sdk.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="false"/>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleySwtBotAllTestsUsingAnotherDISPLAY.launch b/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleySwtBotAllTestsUsingAnotherDISPLAY.launch
index 8e04fb5..560b5b4 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleySwtBotAllTestsUsingAnotherDISPLAY.launch
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/EmfParsleySwtBotAllTestsUsingAnotherDISPLAY.launch
@@ -23,7 +23,7 @@
 <listEntry value="1"/>
 </listAttribute>
 <mapAttribute key="org.eclipse.debug.core.environmentVariables">
-<mapEntry key="DISPLAY" value=":51"/>
+<mapEntry key="DISPLAY" value=":50"/>
 </mapAttribute>
 <stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
 <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
@@ -34,7 +34,7 @@
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.parsley.tests.swtbot"/>
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m -Dorg.eclipse.swtbot.search.timeout=100000 -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx384m -XX:MaxPermSize=256m -Dorg.eclipse.swtbot.search.timeout=100000 -Dorg.eclipse.swt.internal.gtk.cairoGraphics=false -Dorg.eclipse.swt.browser.DefaultType=mozilla"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.sdk.ide"/>
 <booleanAttribute key="run_in_ui_thread" value="false"/>
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.parsley.tests.swtbot/META-INF/MANIFEST.MF
index 5a6a57b..bab7d42 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/META-INF/MANIFEST.MF
@@ -23,8 +23,9 @@
  org.eclipse.emf.parsley.editors,
  org.eclipse.emf.parsley.tests.models,
  org.objectweb.asm;bundle-version="5.0.1",
- org.eclipse.pde.core;bundle-version="3.9.1",
- org.eclipse.ui.editors;bundle-version="3.5.0"
+ org.eclipse.ui.editors;bundle-version="3.5.0",
+ org.eclipse.emf.parsley.tests.pde.utils,
+ org.eclipse.emf.parsley.examples.views
 Bundle-Activator: org.eclipse.emf.parsley.tests.EmfParsleyTestsActivator
 Export-Package: org.eclipse.emf.parsley.tests,
  org.eclipse.emf.parsley.tests.editors,
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/pom.xml b/tests/org.eclipse.emf.parsley.tests.swtbot/pom.xml
new file mode 100644
index 0000000..7d9cc12
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/pom.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.tests.swtbot</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.xtend</groupId>
+				<artifactId>xtend-maven-plugin</artifactId>
+			</plugin>
+
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-surefire-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<executions>
+					<execution>
+						<id>default-test</id>
+						<phase>integration-test</phase>
+						<configuration>
+							<skip>${swtbot.tests.skip}</skip>
+							<useUIHarness>true</useUIHarness>
+							<useUIThread>false</useUIThread>
+							<!-- tycho.testArgLine repeated to re-use the configuration for argLine 
+								for jacoco agent -->
+							<argLine>${tycho.testArgLine} ${swtbotTestsArgs}</argLine>
+							<testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
+							<excludes>
+								<exclude>**/org/eclipse/emf/parsley/tests/*AbstractTest*.java</exclude>
+								<exclude>**/org/eclipse/emf/parsley/tests/*WizardsTest*.java</exclude>
+								<exclude>**/org/eclipse/emf/parsley/tests/*DslEditorTest*.java</exclude>
+								<exclude>**/org/eclipse/emf/parsley/tests/*TestsSuite*.java</exclude>
+								<exclude>**/org/eclipse/emf/parsley/tests/*Activator*.java</exclude>
+							</excludes>
+							<includes>
+								<include>**/org/eclipse/emf/parsley/tests/*Test*.java</include>
+							</includes>
+							<!-- Disable GTK3 with Luna because it makes the test hang (bug in IcedTea 
+								http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1736) -->
+							<environmentVariables>
+								<SWT_GTK3>0</SWT_GTK3>
+							</environmentVariables>
+						</configuration>
+						<goals>
+							<goal>test</goal>
+						</goals>
+					</execution>
+					<execution>
+						<id>PDEBasedTests</id>
+						<phase>integration-test</phase>
+						<!-- These tests required PDE and must pass -DbuildingWithTycho=true -->
+						<configuration>
+							<skip>${swtbot.tests.skip}</skip>
+							<useUIHarness>true</useUIHarness>
+							<useUIThread>false</useUIThread>
+							<!-- tycho.testArgLine repeated to re-use the configuration for argLine 
+								for jacoco agent -->
+							<argLine>${tycho.testArgLine} ${pdeTestsArgs} ${swtbotTestsArgs}</argLine>
+							<testClassesDirectory>${project.build.outputDirectory}</testClassesDirectory>
+							<excludes>
+								<exclude>**/org/eclipse/emf/parsley/tests/*AbstractTest*.java</exclude>
+								<exclude>**/org/eclipse/emf/parsley/tests/*TestsSuite*.java</exclude>
+								<exclude>**/org/eclipse/emf/parsley/tests/*Activator*.java</exclude>
+							</excludes>
+							<includes>
+								<include>**/org/eclipse/emf/parsley/tests/*DslEditorTest*.java</include>
+								<include>**/org/eclipse/emf/parsley/tests/*WizardsTest*.java</include>
+							</includes>
+							<environmentVariables>
+								<SWT_GTK3>0</SWT_GTK3>
+							</environmentVariables>
+						</configuration>
+						<goals>
+							<goal>test</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+			
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>target-platform-configuration</artifactId>
+				<configuration>
+					<dependency-resolution>
+						<extraRequirements>
+							<requirement>
+								<type>eclipse-feature</type>
+								<id>org.eclipse.emf.parsley.tests.swtbot.feature</id>
+								<versionRange>0.0.0</versionRange>
+							</requirement>
+							<requirement>
+								<type>eclipse-feature</type>
+								<id>org.eclipse.rcp</id>
+								<versionRange>0.0.0</versionRange>
+							</requirement>
+						</extraRequirements>
+					</dependency-resolution>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyAbstractTests.java b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyAbstractTests.java
index c30ea6a..2e4a119 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyAbstractTests.java
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyAbstractTests.java
@@ -22,10 +22,13 @@
 import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
 import java.text.MessageFormat;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IMarker;
@@ -35,12 +38,14 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Platform;
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.resource.ResourceSet;
 import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.parsley.examples.EmfParsleyExamplesViewsActivator;
 import org.eclipse.emf.parsley.examples.library.Library;
-import org.eclipse.emf.parsley.tests.utils.PDETargetPlatformUtils;
+import org.eclipse.emf.parsley.tests.pde.utils.PDETargetPlatformUtils;
 import org.eclipse.emf.parsley.tests.views.LibraryEmfView;
 import org.eclipse.emf.parsley.util.ActionBarsUtils;
 import org.eclipse.jface.action.IStatusLineManager;
@@ -66,6 +71,7 @@
 import org.eclipse.swtbot.swt.finder.finders.ContextMenuHelper;
 import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
 import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.results.ListResult;
 import org.eclipse.swtbot.swt.finder.results.WidgetResult;
 import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
 import org.eclipse.swtbot.swt.finder.widgets.SWTBotCheckBox;
@@ -275,6 +281,9 @@
 	public static void beforeClass() throws Exception {
 		PDETargetPlatformUtils.setTargetPlatform();
 		
+		// force loading of examples.views
+		EmfParsleyExamplesViewsActivator.getDefault();
+		
 		bot = new SWTWorkbenchBot();
 
 		// increase timeout to 10 seconds
@@ -317,11 +326,20 @@
 		// select the dialog
 		bot.table().select("Plug-in Development");
 		bot.button("OK").click();
-
+		
 		// in SwtBot 2.2.0 we must use part name since the title
 		// of the problems view also contains the items count
 		// see also http://www.eclipse.org/forums/index.php/t/640194/
-		bot.viewByPartName("Error Log").close();
+		
+		// Error Log view is disturbing since it often shows up
+		// and gets the focus, breaking many of our tests, so it's crucial
+		// to close it right away.
+		// Unfortunately, before Luna, the Error Log view was enabled by
+		// default in Plug-in Development perspective, but in Luna it is
+		// there anymore.
+		if (!isLuna()) {
+			bot.viewByPartName("Error Log").close();
+		}
 		bot.viewByPartName("Problems").show();
 
 		bot.viewByTitle(OUTLINE_VIEW).show();
@@ -354,6 +372,40 @@
 		});
 	}
 
+	protected static boolean isLuna() {
+		String version = Platform.getBundle(PlatformUI.PLUGIN_ID).getHeaders()
+				.get("Bundle-Version");
+
+		Pattern versionPattern = Pattern.compile("\\d+\\.(\\d+)\\..*");
+		Matcher m = versionPattern.matcher(version);
+		if (m.matches()) {
+			// org.eclipse.ui has minor number 106 for Luna
+			int minorVersion = Integer.parseInt(m.group(1));
+			if (minorVersion >= 106) {
+				return true;
+			}
+		}
+
+		return false;
+	}
+
+	protected static boolean isIndigo() {
+		String version = Platform.getBundle(PlatformUI.PLUGIN_ID).getHeaders()
+				.get("Bundle-Version");
+
+		Pattern versionPattern = Pattern.compile("\\d+\\.(\\d+)\\..*");
+		Matcher m = versionPattern.matcher(version);
+		if (m.matches()) {
+			// org.eclipse.ui has minor number 7 for Indigo, and surely less than 100
+			int minorVersion = Integer.parseInt(m.group(1));
+			if (minorVersion < 100) {
+				return true;
+			}
+		}
+
+		return false;
+	}
+
 	protected void assertPropertyViewIsOpenedAndCloseIt() {
 		SWTBotView propertyView = bot.viewByTitle("Properties");
 		// bot.sleep(2000);
@@ -619,7 +671,7 @@
 
 		SWTBotShell shell = bot.shell("New Project");
 		shell.activate();
-		bot.tree().expandNode(EMF_PARSLEY_CATEGORY, "Examples")
+		expandNodeSync(bot.tree(), EMF_PARSLEY_CATEGORY, "Examples")
 				.select(exampleDescription);
 		bot.button("Next >").click();
 
@@ -654,7 +706,7 @@
 
 		SWTBotShell shell = bot.shell("New Project");
 		shell.activate();
-		bot.tree().expandNode(category).select(projectType);
+		expandNodeSync(bot.tree(), category).select(projectType);
 		bot.button("Next >").click();
 
 		bot.textWithLabel("Project name:").setText(projectName);
@@ -667,7 +719,7 @@
 
 		SWTBotShell shell = bot.shell("New Project");
 		shell.activate();
-		bot.tree().expandNode(category, subCategory).select(projectType);
+		expandNodeSync(bot.tree(), category, subCategory).select(projectType);
 		bot.button("Next >").click();
 
 		bot.textWithLabel("Project name:").setText(projectName);
@@ -822,7 +874,7 @@
 		bot.menu("Window").menu("Show View").menu("Other...").click();
 		SWTBotShell shell = bot.shell("Show View");
 		shell.activate();
-		bot.tree().expandNode(EMF_PARSLEY_CATEGORY).select(libraryView);
+		expandNodeSync(bot.tree(), EMF_PARSLEY_CATEGORY).select(libraryView);
 		bot.button("OK").click();
 		waitForShellToClose(shell);
 		return getLibraryView(libraryView);
@@ -1090,4 +1142,65 @@
 	protected SWTFormsBot formBotFromView(SWTBotView detailView) {
 		return new SWTFormsBot(detailView.getWidget());
 	}
+
+	protected SWTBotTreeItem expandNodeSync(final SWTBotTree tree, String...names) {
+		SWTBotTreeItem current = null;
+		for (int i = 0; i < names.length; i++) {
+			if (current == null) {
+				current = tree.expandNode(names[i]);
+			} else {
+				current = current.expandNode(names[i]);
+			}
+			waitForTreeItems(current);
+		}
+		return current;
+	}
+
+	/**
+	 * This should prevent test failures in slow machines.
+	 * @param treeItem
+	 */
+	protected void waitForTreeItems(final SWTBotTreeItem treeItem) {
+		int retries = 3;
+		int msecs = 2000;
+		int count = 0;
+		while (count < retries) {
+			System.out.println("Checking that tree item " + treeItem.getText() + " has children...");
+			List<SWTBotTreeItem> foundItems = UIThreadRunnable.syncExec(new ListResult<SWTBotTreeItem>() {
+				public List<SWTBotTreeItem> run() {
+					TreeItem[] items = treeItem.widget.getItems();
+					List<SWTBotTreeItem> results = new ArrayList<SWTBotTreeItem>();
+					for (TreeItem treeItem : items) {
+						results.add(new SWTBotTreeItem(treeItem));
+					}
+					return results;
+				}
+			});
+			if (foundItems.isEmpty()) {
+				treeItem.collapse();
+				System.out.println("No chilren... retrying in " + msecs + " milliseconds..."); //$NON-NLS-1$
+				try {
+					Thread.sleep(msecs);
+				} catch (InterruptedException e) {
+					e.printStackTrace();
+				}
+				treeItem.expand();
+			} else if (foundItems.size() == 1 && foundItems.get(0).getText().trim().isEmpty()) {
+				treeItem.collapse();
+				System.out.println("Only one child with empty text... retrying in " + msecs + " milliseconds..."); //$NON-NLS-1$
+				try {
+					Thread.sleep(msecs);
+				} catch (InterruptedException e) {
+					e.printStackTrace();
+				}
+				treeItem.expand();
+			} else {
+				System.out.println("Found " + foundItems.size() + " items. OK!");
+				return;
+			}
+			
+			count++;
+		}
+	}
+
 }
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyDialogAbstractTests.xtend b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyDialogAbstractTests.xtend
new file mode 100644
index 0000000..fac3dda
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyDialogAbstractTests.xtend
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2013 RCP Vision (http://www.rcp-vision.com) 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:
+ * Lorenzo Bettini - Initial contribution and API
+ *******************************************************************************/
+package org.eclipse.emf.parsley.tests
+
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem
+
+public abstract class EmfParsleyDialogAbstractTests extends EmfParsleyAbstractTests {
+
+	protected var editorName = EMF_TREE_EDITOR_OPEN_DIALOG
+
+	def protected assertDialog(SWTBotTreeItem item, String dialogTitle, ()=>void proc) {
+		item.doubleClick
+		bot.shell(dialogTitle).activate
+		proc.apply()
+		bot.button("OK").click()
+	}
+
+	def protected assertDialogEdit(SWTBotTreeItem item, String dialogTitle, ()=>void proc) {
+		assertDialog(item, dialogTitle, proc)
+		assertEditorDirty()
+		saveEditor()
+	}
+	
+	def protected assertEditorDirty() {
+		editorName.assertEditorDirty
+	}
+	
+	def protected saveEditor() {
+		getEditor(editorName).save
+	}
+	
+	def protected getRootOfEditor() {
+		getRootOfTreeEditor(editorName, MY_EXT_LIBRARY_PLATFORM_URI)
+	}
+	
+	def protected libraryNode() {
+		getLibraryNode(getRootOfEditor)
+	}
+
+	def protected libraryModifiedNode() {
+		getLibraryModifiedNode(getRootOfEditor)
+	}
+
+	def protected writerNode() {
+		getWriterNode(libraryNode)
+	}
+
+}
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyDialogTests.xtend b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyDialogTests.xtend
index 9b41a20..e969d13 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyDialogTests.xtend
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyDialogTests.xtend
@@ -11,14 +11,11 @@
 package org.eclipse.emf.parsley.tests
 
 import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem
 import org.junit.Test
 import org.junit.runner.RunWith
 
 @RunWith(typeof(SWTBotJunit4ClassRunner))
-public class EmfParsleyDialogTests extends EmfParsleyAbstractTests {
-
-	protected var editorName = EMF_TREE_EDITOR_OPEN_DIALOG
+public class EmfParsleyDialogTests extends EmfParsleyDialogAbstractTests {
 
 	@Test
 	def void checkOpenDialogOnTreeElements() {
@@ -45,41 +42,4 @@
 		
 	}
 
-	def protected assertDialog(SWTBotTreeItem item, String dialogTitle, ()=>void proc) {
-		item.doubleClick
-		bot.shell(dialogTitle).activate
-		proc.apply()
-		bot.button("OK").click()
-	}
-
-	def protected assertDialogEdit(SWTBotTreeItem item, String dialogTitle, ()=>void proc) {
-		assertDialog(item, dialogTitle, proc)
-		assertEditorDirty()
-		saveEditor()
-	}
-	
-	def protected assertEditorDirty() {
-		editorName.assertEditorDirty
-	}
-	
-	def protected saveEditor() {
-		getEditor(editorName).save
-	}
-	
-	def protected getRootOfEditor() {
-		getRootOfTreeEditor(editorName, MY_EXT_LIBRARY_PLATFORM_URI)
-	}
-	
-	def protected libraryNode() {
-		getLibraryNode(getRootOfEditor)
-	}
-
-	def protected libraryModifiedNode() {
-		getLibraryModifiedNode(getRootOfEditor)
-	}
-
-	def protected writerNode() {
-		getWriterNode(libraryNode)
-	}
-
 }
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyEditingStrategyTests.xtend b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyEditingStrategyTests.xtend
index 5ef0ba4..b28bfce 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyEditingStrategyTests.xtend
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyEditingStrategyTests.xtend
@@ -18,7 +18,7 @@
 import org.junit.runner.RunWith
 
 @RunWith(typeof(SWTBotJunit4ClassRunner))
-public class EmfParsleyEditingStrategyTests extends EmfParsleyDialogTests {
+public class EmfParsleyEditingStrategyTests extends EmfParsleyDialogAbstractTests {
 
 	@Before
 	def void setup() {
diff --git a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyExamplesWizardsTests.java b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyExamplesWizardsTests.java
index 5cddd6a..111d260 100644
--- a/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyExamplesWizardsTests.java
+++ b/tests/org.eclipse.emf.parsley.tests.swtbot/src/org/eclipse/emf/parsley/tests/EmfParsleyExamplesWizardsTests.java
@@ -47,6 +47,9 @@
 
 	@Test
 	public void canCreateE4ExamplesProjectWithWizard() throws Exception {
+		if (isIndigo())
+			return; // this test would fail since e4 is not in the target platform in Indigo
+		
 		createExampleProjectsInWorkspace(EMF_PARSLEY_E4_EXAMPLE,
 				"org.eclipse.emf.parsley.examples.eclipse4",
 				"org.eclipse.emf.parsley.examples.eclipse4.parsleypart");
diff --git a/tests/org.eclipse.emf.parsley.tests/pom.xml b/tests/org.eclipse.emf.parsley.tests/pom.xml
new file mode 100644
index 0000000..aafdb04
--- /dev/null
+++ b/tests/org.eclipse.emf.parsley.tests/pom.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<relativePath>../../releng/org.eclipse.emf.parsley.parent/pom.xml</relativePath>
+		<groupId>org.eclipse.emf.parsley</groupId>
+		<artifactId>org.eclipse.emf.parsley.parent</artifactId>
+		<version>0.1.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.emf.parsley.tests</artifactId>
+	<packaging>eclipse-test-plugin</packaging>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.xtend</groupId>
+				<artifactId>xtend-maven-plugin</artifactId>
+			</plugin>
+
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-surefire-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<configuration>
+					<skip>${simple.tests.skip}</skip>
+					<useUIHarness>false</useUIHarness>
+					<useUIThread>false</useUIThread>
+					<!-- tycho.testArgLine repeated to re-use the configuration for argLine 
+						for jacoco agent -->
+					<argLine>${tycho.testArgLine} ${memoryArgs}</argLine>
+					<includes>
+						<include>**/*Test.java</include>
+					</includes>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file