Merge remote-tracking branch 'origin/master' into maven
diff --git a/examples/org.eclipse.graphiti.doc/.classpath b/examples/org.eclipse.graphiti.doc/.classpath
index bc74aab..3dd533f 100644
--- a/examples/org.eclipse.graphiti.doc/.classpath
+++ b/examples/org.eclipse.graphiti.doc/.classpath
@@ -2,5 +2,5 @@
 <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="output" path="bin"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/examples/org.eclipse.graphiti.doc/.gitignore b/examples/org.eclipse.graphiti.doc/.gitignore
new file mode 100644
index 0000000..808acca
--- /dev/null
+++ b/examples/org.eclipse.graphiti.doc/.gitignore
@@ -0,0 +1,3 @@
+/target/
+/javadoc/
+/api_docs.xml
diff --git a/examples/org.eclipse.graphiti.doc/.project b/examples/org.eclipse.graphiti.doc/.project
index 4ad89fe..137ef50 100644
--- a/examples/org.eclipse.graphiti.doc/.project
+++ b/examples/org.eclipse.graphiti.doc/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/examples/org.eclipse.graphiti.doc/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.graphiti.doc/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/examples/org.eclipse.graphiti.doc/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.graphiti.doc/.settings/org.eclipse.m2e.core.prefs b/examples/org.eclipse.graphiti.doc/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/examples/org.eclipse.graphiti.doc/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/examples/org.eclipse.graphiti.doc/META-INF/MANIFEST.MF b/examples/org.eclipse.graphiti.doc/META-INF/MANIFEST.MF
index 5e1e5c1..9e32344 100644
--- a/examples/org.eclipse.graphiti.doc/META-INF/MANIFEST.MF
+++ b/examples/org.eclipse.graphiti.doc/META-INF/MANIFEST.MF
@@ -5,6 +5,11 @@
 Bundle-Version: 0.14.0.qualifier
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Require-Bundle: org.eclipse.help;bundle-version="[3.6.0,4.0.0)"
+Require-Bundle: org.eclipse.help;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.graphiti;bundle-version="0.13.0",
+ org.eclipse.graphiti.export.batik;bundle-version="0.13.0",
+ org.eclipse.graphiti.mm;bundle-version="0.13.0",
+ org.eclipse.graphiti.pattern;bundle-version="0.13.0",
+ org.eclipse.graphiti.ui;bundle-version="0.13.0"
 Bundle-ClassPath: .
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/examples/org.eclipse.graphiti.doc/build.properties b/examples/org.eclipse.graphiti.doc/build.properties
index f0c1464..c0015b0 100644
--- a/examples/org.eclipse.graphiti.doc/build.properties
+++ b/examples/org.eclipse.graphiti.doc/build.properties
@@ -23,10 +23,10 @@
                toc_graphiti.xml,\
                plugin.xml,\
                javadoc/,\
+               api_docs.xml,\
                toc_concepts.xml
 jars.compile.order = .
-src.includes = api/,\
-               toc_graphiti.xml,\
+src.includes = toc_graphiti.xml,\
                toc.xml,\
                resources/,\
                about.html,\
diff --git a/examples/org.eclipse.graphiti.doc/pom.xml b/examples/org.eclipse.graphiti.doc/pom.xml
new file mode 100644
index 0000000..3dce799
--- /dev/null
+++ b/examples/org.eclipse.graphiti.doc/pom.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Documentation</name>

+	<artifactId>org.eclipse.graphiti.doc</artifactId>

+	<packaging>eclipse-plugin</packaging>

+

+	<properties>

+		<platform.api>org.eclipse.platform.doc.isv/reference/api</platform.api>

+	</properties>

+

+	<build>

+		<plugins>

+			<plugin>

+				<groupId>org.eclipse.tycho.extras</groupId>

+				<artifactId>tycho-document-bundle-plugin</artifactId>

+				<version>${tycho-extras-version}</version>

+				<executions>

+					<execution>

+						<id>eclipse-javadoc</id>

+						<phase>generate-resources</phase>

+						<goals>

+							<goal>javadoc</goal>

+						</goals>

+						<configuration>

+							<outputDirectory>${project.basedir}/javadoc</outputDirectory>

+							<tocFile>${project.basedir}/api_docs.xml</tocFile>

+							<tocOptions>

+								<mainLabel>Graphiti API</mainLabel>

+							</tocOptions>

+							<javadocOptions>

+								<!-- enable in case you need a proxy for web access

+								<jvmOptions>

+									<jvmOption>-Dhttp.proxySet=true</jvmOption>

+									<jvmOption>-Dhttp.proxyHost=proxy.example.com</jvmOption>

+									<jvmOption>-Dhttp.proxyPort=81</jvmOption>

+									<jvmOption>-DhttpnonProxyHosts=*.example.com</jvmOption>

+								</jvmOptions>

+								-->

+								<additionalArguments>

+									<additionalArgument>${javadoc-args}</additionalArgument>

+									<additionalArgument>

+										-link

+											http://docs.oracle.com/javase/8/docs/api/

+									</additionalArgument>

+									<additionalArgument>

+										-linkoffline 

+											../../${platform.api}

+											http://help.eclipse.org/mars/topic/org.eclipse.platform.doc.isv/reference/api/

+									</additionalArgument>

+									<additionalArgument>-public</additionalArgument>

+								</additionalArguments>

+							</javadocOptions>

+						</configuration>

+					</execution>

+				</executions>

+			</plugin>

+		</plugins>

+		

+		<pluginManagement>

+			<plugins>

+				<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->

+				<plugin>

+					<!-- JavaDoc generation: ignore goal in Eclipse build to avoid error marker -->

+					<groupId>org.eclipse.m2e</groupId>

+					<artifactId>lifecycle-mapping</artifactId>

+					<version>1.0.0</version>

+					<configuration>

+						<lifecycleMappingMetadata>

+							<pluginExecutions>

+								<pluginExecution>

+									<pluginExecutionFilter>

+										<groupId>

+											org.eclipse.tycho.extras

+										</groupId>

+										<artifactId>

+											tycho-document-bundle-plugin

+										</artifactId>

+										<versionRange>

+											[0.22.0,)

+										</versionRange>

+										<goals>

+											<goal>javadoc</goal>

+										</goals>

+									</pluginExecutionFilter>

+									<action>

+										<ignore></ignore>

+									</action>

+								</pluginExecution>

+							</pluginExecutions>

+						</lifecycleMappingMetadata>

+					</configuration>

+				</plugin>

+			</plugins>

+		</pluginManagement>

+	</build>

+</project>
diff --git a/examples/org.eclipse.graphiti.examples.chess/.classpath b/examples/org.eclipse.graphiti.examples.chess/.classpath
index c68522b..a2a79cb 100644
--- a/examples/org.eclipse.graphiti.examples.chess/.classpath
+++ b/examples/org.eclipse.graphiti.examples.chess/.classpath
@@ -2,7 +2,7 @@
 <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-gen"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="src" path="src-gen/"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/examples/org.eclipse.graphiti.examples.chess/.gitignore b/examples/org.eclipse.graphiti.examples.chess/.gitignore
index 5e56e04..06ba672 100644
--- a/examples/org.eclipse.graphiti.examples.chess/.gitignore
+++ b/examples/org.eclipse.graphiti.examples.chess/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/examples/org.eclipse.graphiti.examples.chess/.project b/examples/org.eclipse.graphiti.examples.chess/.project
index 052e07d..177c517 100644
--- a/examples/org.eclipse.graphiti.examples.chess/.project
+++ b/examples/org.eclipse.graphiti.examples.chess/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/examples/org.eclipse.graphiti.examples.chess/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.graphiti.examples.chess/.settings/org.eclipse.core.resources.prefs
index da2520d..7bda1fb 100644
--- a/examples/org.eclipse.graphiti.examples.chess/.settings/org.eclipse.core.resources.prefs
+++ b/examples/org.eclipse.graphiti.examples.chess/.settings/org.eclipse.core.resources.prefs
@@ -1,3 +1,2 @@
 eclipse.preferences.version=1
 encoding//model/chess.ecorediag=UTF-8
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.graphiti.examples.chess/.settings/org.eclipse.m2e.core.prefs b/examples/org.eclipse.graphiti.examples.chess/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/examples/org.eclipse.graphiti.examples.chess/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/examples/org.eclipse.graphiti.examples.chess/pom.xml b/examples/org.eclipse.graphiti.examples.chess/pom.xml
new file mode 100644
index 0000000..4f6c26b
--- /dev/null
+++ b/examples/org.eclipse.graphiti.examples.chess/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Example Chess</name>

+	<artifactId>org.eclipse.graphiti.examples.chess</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.graphiti.examples.common/.classpath b/examples/org.eclipse.graphiti.examples.common/.classpath
index ad32c83..c72d35a 100644
--- a/examples/org.eclipse.graphiti.examples.common/.classpath
+++ b/examples/org.eclipse.graphiti.examples.common/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/examples/org.eclipse.graphiti.examples.common/.gitignore b/examples/org.eclipse.graphiti.examples.common/.gitignore
index 5e56e04..06ba672 100644
--- a/examples/org.eclipse.graphiti.examples.common/.gitignore
+++ b/examples/org.eclipse.graphiti.examples.common/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/examples/org.eclipse.graphiti.examples.common/.project b/examples/org.eclipse.graphiti.examples.common/.project
index 841877f..b0ff0ae 100644
--- a/examples/org.eclipse.graphiti.examples.common/.project
+++ b/examples/org.eclipse.graphiti.examples.common/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/examples/org.eclipse.graphiti.examples.common/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.graphiti.examples.common/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/examples/org.eclipse.graphiti.examples.common/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.graphiti.examples.common/.settings/org.eclipse.m2e.core.prefs b/examples/org.eclipse.graphiti.examples.common/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/examples/org.eclipse.graphiti.examples.common/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/examples/org.eclipse.graphiti.examples.common/pom.xml b/examples/org.eclipse.graphiti.examples.common/pom.xml
new file mode 100644
index 0000000..be16990
--- /dev/null
+++ b/examples/org.eclipse.graphiti.examples.common/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Examples Common</name>

+	<artifactId>org.eclipse.graphiti.examples.common</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.graphiti.examples.composite/.classpath b/examples/org.eclipse.graphiti.examples.composite/.classpath
index ad32c83..c72d35a 100644
--- a/examples/org.eclipse.graphiti.examples.composite/.classpath
+++ b/examples/org.eclipse.graphiti.examples.composite/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/examples/org.eclipse.graphiti.examples.composite/.gitignore b/examples/org.eclipse.graphiti.examples.composite/.gitignore
index 7447f89..06ba672 100644
--- a/examples/org.eclipse.graphiti.examples.composite/.gitignore
+++ b/examples/org.eclipse.graphiti.examples.composite/.gitignore
@@ -1 +1,2 @@
-/bin
\ No newline at end of file
+/bin
+/target/
diff --git a/examples/org.eclipse.graphiti.examples.composite/.project b/examples/org.eclipse.graphiti.examples.composite/.project
index cf9c6c5..33ac3f7 100644
--- a/examples/org.eclipse.graphiti.examples.composite/.project
+++ b/examples/org.eclipse.graphiti.examples.composite/.project
@@ -20,8 +20,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
diff --git a/examples/org.eclipse.graphiti.examples.composite/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.graphiti.examples.composite/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/examples/org.eclipse.graphiti.examples.composite/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.graphiti.examples.composite/.settings/org.eclipse.m2e.core.prefs b/examples/org.eclipse.graphiti.examples.composite/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/examples/org.eclipse.graphiti.examples.composite/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/examples/org.eclipse.graphiti.examples.composite/pom.xml b/examples/org.eclipse.graphiti.examples.composite/pom.xml
new file mode 100644
index 0000000..93f240b
--- /dev/null
+++ b/examples/org.eclipse.graphiti.examples.composite/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Example Composite</name>

+	<artifactId>org.eclipse.graphiti.examples.composite</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.graphiti.examples.filesystem.mm/.classpath b/examples/org.eclipse.graphiti.examples.filesystem.mm/.classpath
index ad32c83..c72d35a 100644
--- a/examples/org.eclipse.graphiti.examples.filesystem.mm/.classpath
+++ b/examples/org.eclipse.graphiti.examples.filesystem.mm/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/examples/org.eclipse.graphiti.examples.filesystem.mm/.gitignore b/examples/org.eclipse.graphiti.examples.filesystem.mm/.gitignore
index 5e56e04..06ba672 100644
--- a/examples/org.eclipse.graphiti.examples.filesystem.mm/.gitignore
+++ b/examples/org.eclipse.graphiti.examples.filesystem.mm/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/examples/org.eclipse.graphiti.examples.filesystem.mm/.project b/examples/org.eclipse.graphiti.examples.filesystem.mm/.project
index 06e6404..3dc2926 100644
--- a/examples/org.eclipse.graphiti.examples.filesystem.mm/.project
+++ b/examples/org.eclipse.graphiti.examples.filesystem.mm/.project
@@ -20,8 +20,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 	</natures>
diff --git a/examples/org.eclipse.graphiti.examples.filesystem.mm/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.graphiti.examples.filesystem.mm/.settings/org.eclipse.core.resources.prefs
index 5222b5b..eee850c 100644
--- a/examples/org.eclipse.graphiti.examples.filesystem.mm/.settings/org.eclipse.core.resources.prefs
+++ b/examples/org.eclipse.graphiti.examples.filesystem.mm/.settings/org.eclipse.core.resources.prefs
@@ -1,3 +1,2 @@
 eclipse.preferences.version=1
 encoding//model/filesystem.ecorediag=UTF-8
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.graphiti.examples.filesystem.mm/.settings/org.eclipse.m2e.core.prefs b/examples/org.eclipse.graphiti.examples.filesystem.mm/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/examples/org.eclipse.graphiti.examples.filesystem.mm/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/examples/org.eclipse.graphiti.examples.filesystem.mm/pom.xml b/examples/org.eclipse.graphiti.examples.filesystem.mm/pom.xml
new file mode 100644
index 0000000..919d1ae
--- /dev/null
+++ b/examples/org.eclipse.graphiti.examples.filesystem.mm/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Example Filesystem Model</name>

+	<artifactId>org.eclipse.graphiti.examples.filesystem.mm</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.graphiti.examples.filesystem/.classpath b/examples/org.eclipse.graphiti.examples.filesystem/.classpath
index ad32c83..c72d35a 100644
--- a/examples/org.eclipse.graphiti.examples.filesystem/.classpath
+++ b/examples/org.eclipse.graphiti.examples.filesystem/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/examples/org.eclipse.graphiti.examples.filesystem/.gitignore b/examples/org.eclipse.graphiti.examples.filesystem/.gitignore
index 5e56e04..06ba672 100644
--- a/examples/org.eclipse.graphiti.examples.filesystem/.gitignore
+++ b/examples/org.eclipse.graphiti.examples.filesystem/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/examples/org.eclipse.graphiti.examples.filesystem/.project b/examples/org.eclipse.graphiti.examples.filesystem/.project
index 6c9c167..25bcb2d 100644
--- a/examples/org.eclipse.graphiti.examples.filesystem/.project
+++ b/examples/org.eclipse.graphiti.examples.filesystem/.project
@@ -20,8 +20,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
diff --git a/examples/org.eclipse.graphiti.examples.filesystem/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.graphiti.examples.filesystem/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/examples/org.eclipse.graphiti.examples.filesystem/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.graphiti.examples.filesystem/.settings/org.eclipse.m2e.core.prefs b/examples/org.eclipse.graphiti.examples.filesystem/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/examples/org.eclipse.graphiti.examples.filesystem/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/examples/org.eclipse.graphiti.examples.filesystem/pom.xml b/examples/org.eclipse.graphiti.examples.filesystem/pom.xml
new file mode 100644
index 0000000..cdd6f89
--- /dev/null
+++ b/examples/org.eclipse.graphiti.examples.filesystem/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Example Filesystem Editor</name>

+	<artifactId>org.eclipse.graphiti.examples.filesystem</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.graphiti.examples.tutorial/.classpath b/examples/org.eclipse.graphiti.examples.tutorial/.classpath
index ad32c83..c72d35a 100644
--- a/examples/org.eclipse.graphiti.examples.tutorial/.classpath
+++ b/examples/org.eclipse.graphiti.examples.tutorial/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/examples/org.eclipse.graphiti.examples.tutorial/.gitignore b/examples/org.eclipse.graphiti.examples.tutorial/.gitignore
index 5e56e04..06ba672 100644
--- a/examples/org.eclipse.graphiti.examples.tutorial/.gitignore
+++ b/examples/org.eclipse.graphiti.examples.tutorial/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/examples/org.eclipse.graphiti.examples.tutorial/.project b/examples/org.eclipse.graphiti.examples.tutorial/.project
index 3c620de..176fd4f 100644
--- a/examples/org.eclipse.graphiti.examples.tutorial/.project
+++ b/examples/org.eclipse.graphiti.examples.tutorial/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/examples/org.eclipse.graphiti.examples.tutorial/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.graphiti.examples.tutorial/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/examples/org.eclipse.graphiti.examples.tutorial/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.graphiti.examples.tutorial/.settings/org.eclipse.m2e.core.prefs b/examples/org.eclipse.graphiti.examples.tutorial/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/examples/org.eclipse.graphiti.examples.tutorial/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/examples/org.eclipse.graphiti.examples.tutorial/pom.xml b/examples/org.eclipse.graphiti.examples.tutorial/pom.xml
new file mode 100644
index 0000000..ea15caa
--- /dev/null
+++ b/examples/org.eclipse.graphiti.examples.tutorial/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Example Tutorial</name>

+	<artifactId>org.eclipse.graphiti.examples.tutorial</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/examples/org.eclipse.graphiti.ui.capabilities/.classpath b/examples/org.eclipse.graphiti.ui.capabilities/.classpath
index bc74aab..3dd533f 100644
--- a/examples/org.eclipse.graphiti.ui.capabilities/.classpath
+++ b/examples/org.eclipse.graphiti.ui.capabilities/.classpath
@@ -2,5 +2,5 @@
 <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="output" path="bin"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/examples/org.eclipse.graphiti.ui.capabilities/.gitignore b/examples/org.eclipse.graphiti.ui.capabilities/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/examples/org.eclipse.graphiti.ui.capabilities/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/examples/org.eclipse.graphiti.ui.capabilities/.project b/examples/org.eclipse.graphiti.ui.capabilities/.project
index 6134370..ef9657a 100644
--- a/examples/org.eclipse.graphiti.ui.capabilities/.project
+++ b/examples/org.eclipse.graphiti.ui.capabilities/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/examples/org.eclipse.graphiti.ui.capabilities/.settings/org.eclipse.core.resources.prefs b/examples/org.eclipse.graphiti.ui.capabilities/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/examples/org.eclipse.graphiti.ui.capabilities/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/examples/org.eclipse.graphiti.ui.capabilities/.settings/org.eclipse.m2e.core.prefs b/examples/org.eclipse.graphiti.ui.capabilities/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/examples/org.eclipse.graphiti.ui.capabilities/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/examples/org.eclipse.graphiti.ui.capabilities/pom.xml b/examples/org.eclipse.graphiti.ui.capabilities/pom.xml
new file mode 100644
index 0000000..17275a4
--- /dev/null
+++ b/examples/org.eclipse.graphiti.ui.capabilities/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Example for Capabilities</name>

+	<artifactId>org.eclipse.graphiti.ui.capabilities</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.graphiti.export.feature/.gitignore b/features/org.eclipse.graphiti.export.feature/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/features/org.eclipse.graphiti.export.feature/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/features/org.eclipse.graphiti.export.feature/.project b/features/org.eclipse.graphiti.export.feature/.project
index 5635451..6a6cc7c 100644
--- a/features/org.eclipse.graphiti.export.feature/.project
+++ b/features/org.eclipse.graphiti.export.feature/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/features/org.eclipse.graphiti.export.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.graphiti.export.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/features/org.eclipse.graphiti.export.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/features/org.eclipse.graphiti.export.feature/.settings/org.eclipse.m2e.core.prefs b/features/org.eclipse.graphiti.export.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/features/org.eclipse.graphiti.export.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/features/org.eclipse.graphiti.export.feature/feature.xml b/features/org.eclipse.graphiti.export.feature/feature.xml
index a27619a..999a747 100644
--- a/features/org.eclipse.graphiti.export.feature/feature.xml
+++ b/features/org.eclipse.graphiti.export.feature/feature.xml
@@ -19,7 +19,7 @@
       provider-name="%providerName"
       plugin="org.eclipse.graphiti.export.batik"
       license-feature="org.eclipse.license"
-      license-feature-version="0.0.0">
+      license-feature-version="1.0.0.qualifier">
 
    <description>
       %description
@@ -34,6 +34,10 @@
 http://www.eclipse.org/legal/epl-v10.html
    </copyright>
 
+   <license url="%licenseURL">
+      %license
+   </license>
+
    <plugin
          id="org.eclipse.graphiti.export.batik"
          download-size="0"
diff --git a/features/org.eclipse.graphiti.export.feature/pom.xml b/features/org.eclipse.graphiti.export.feature/pom.xml
new file mode 100644
index 0000000..5cbd35a
--- /dev/null
+++ b/features/org.eclipse.graphiti.export.feature/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Export Feature</name>

+	<artifactId>org.eclipse.graphiti.export.feature</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>

+				<executions>

+					<execution>

+						<id>source-feature</id>

+						<phase>package</phase>

+						<goals>

+							<goal>source-feature</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+			<plugin>

+				<groupId>org.eclipse.tycho</groupId>

+				<artifactId>tycho-p2-plugin</artifactId>

+				<version>${tycho-version}</version>

+				<executions>

+					<execution>

+						<id>attached-p2-metadata</id>

+						<phase>package</phase>

+						<goals>

+							<goal>p2-metadata</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+		</plugins>

+	</build>

+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.graphiti.export.feature/sourceTemplateFeature/.gitkeep b/features/org.eclipse.graphiti.export.feature/sourceTemplateFeature/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/features/org.eclipse.graphiti.export.feature/sourceTemplateFeature/.gitkeep
diff --git a/features/org.eclipse.graphiti.feature.examples/.gitignore b/features/org.eclipse.graphiti.feature.examples/.gitignore
index 5e56e04..06ba672 100644
--- a/features/org.eclipse.graphiti.feature.examples/.gitignore
+++ b/features/org.eclipse.graphiti.feature.examples/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/features/org.eclipse.graphiti.feature.examples/.project b/features/org.eclipse.graphiti.feature.examples/.project
index 90ea94a..c099295 100644
--- a/features/org.eclipse.graphiti.feature.examples/.project
+++ b/features/org.eclipse.graphiti.feature.examples/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/features/org.eclipse.graphiti.feature.examples/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.graphiti.feature.examples/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/features/org.eclipse.graphiti.feature.examples/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/features/org.eclipse.graphiti.feature.examples/.settings/org.eclipse.m2e.core.prefs b/features/org.eclipse.graphiti.feature.examples/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/features/org.eclipse.graphiti.feature.examples/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/features/org.eclipse.graphiti.feature.examples/feature.xml b/features/org.eclipse.graphiti.feature.examples/feature.xml
index fec9fad..81e30a2 100644
--- a/features/org.eclipse.graphiti.feature.examples/feature.xml
+++ b/features/org.eclipse.graphiti.feature.examples/feature.xml
@@ -21,7 +21,7 @@
       version="0.14.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.license"
-      license-feature-version="0.0.0">
+      license-feature-version="1.0.0.qualifier">
 
    <description>
       %description
@@ -36,6 +36,10 @@
 http://www.eclipse.org/legal/epl-v10.html
    </copyright>
 
+   <license url="%licenseURL">
+      %license
+   </license>
+
    <plugin
          id="org.eclipse.graphiti.doc"
          download-size="0"
diff --git a/features/org.eclipse.graphiti.feature.examples/pom.xml b/features/org.eclipse.graphiti.feature.examples/pom.xml
new file mode 100644
index 0000000..93cc9d8
--- /dev/null
+++ b/features/org.eclipse.graphiti.feature.examples/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Examples Feature</name>

+	<artifactId>org.eclipse.graphiti.feature.examples</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>

+				<executions>

+					<execution>

+						<id>source-feature</id>

+						<phase>package</phase>

+						<goals>

+							<goal>source-feature</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+			<plugin>

+				<groupId>org.eclipse.tycho</groupId>

+				<artifactId>tycho-p2-plugin</artifactId>

+				<version>${tycho-version}</version>

+				<executions>

+					<execution>

+						<id>attached-p2-metadata</id>

+						<phase>package</phase>

+						<goals>

+							<goal>p2-metadata</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+		</plugins>

+	</build>

+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.graphiti.feature.examples/sourceTemplateFeature/.gitkeep b/features/org.eclipse.graphiti.feature.examples/sourceTemplateFeature/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/features/org.eclipse.graphiti.feature.examples/sourceTemplateFeature/.gitkeep
diff --git a/features/org.eclipse.graphiti.feature.tools/.gitignore b/features/org.eclipse.graphiti.feature.tools/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/features/org.eclipse.graphiti.feature.tools/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/features/org.eclipse.graphiti.feature.tools/.project b/features/org.eclipse.graphiti.feature.tools/.project
index 87d44fd..6e4e3a2 100644
--- a/features/org.eclipse.graphiti.feature.tools/.project
+++ b/features/org.eclipse.graphiti.feature.tools/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/features/org.eclipse.graphiti.feature.tools/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.graphiti.feature.tools/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/features/org.eclipse.graphiti.feature.tools/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/features/org.eclipse.graphiti.feature.tools/.settings/org.eclipse.m2e.core.prefs b/features/org.eclipse.graphiti.feature.tools/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/features/org.eclipse.graphiti.feature.tools/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/features/org.eclipse.graphiti.feature.tools/feature.xml b/features/org.eclipse.graphiti.feature.tools/feature.xml
index 5193db9..f60389f 100644
--- a/features/org.eclipse.graphiti.feature.tools/feature.xml
+++ b/features/org.eclipse.graphiti.feature.tools/feature.xml
@@ -17,7 +17,7 @@
       version="0.14.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.license"
-      license-feature-version="0.0.0">
+      license-feature-version="1.0.0.qualifier">
 
    <description>
       %description
@@ -32,6 +32,10 @@
 http://www.eclipse.org/legal/epl-v10.html
    </copyright>
 
+   <license url="%licenseURL">
+      %license
+   </license>
+
    <plugin
          id="org.eclipse.graphiti.tools.newprojectwizard"
          download-size="0"
diff --git a/features/org.eclipse.graphiti.feature.tools/pom.xml b/features/org.eclipse.graphiti.feature.tools/pom.xml
new file mode 100644
index 0000000..1f1e70d
--- /dev/null
+++ b/features/org.eclipse.graphiti.feature.tools/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Tools Feature</name>

+	<artifactId>org.eclipse.graphiti.feature.tools</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>

+				<executions>

+					<execution>

+						<id>source-feature</id>

+						<phase>package</phase>

+						<goals>

+							<goal>source-feature</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+			<plugin>

+				<groupId>org.eclipse.tycho</groupId>

+				<artifactId>tycho-p2-plugin</artifactId>

+				<version>${tycho-version}</version>

+				<executions>

+					<execution>

+						<id>attached-p2-metadata</id>

+						<phase>package</phase>

+						<goals>

+							<goal>p2-metadata</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+		</plugins>

+	</build>

+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.graphiti.feature.tools/sourceTemplateFeature/.gitkeep b/features/org.eclipse.graphiti.feature.tools/sourceTemplateFeature/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/features/org.eclipse.graphiti.feature.tools/sourceTemplateFeature/.gitkeep
diff --git a/features/org.eclipse.graphiti.feature/.gitignore b/features/org.eclipse.graphiti.feature/.gitignore
index 5e56e04..06ba672 100644
--- a/features/org.eclipse.graphiti.feature/.gitignore
+++ b/features/org.eclipse.graphiti.feature/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/features/org.eclipse.graphiti.feature/.project b/features/org.eclipse.graphiti.feature/.project
index a328ad3..bef7c1a 100644
--- a/features/org.eclipse.graphiti.feature/.project
+++ b/features/org.eclipse.graphiti.feature/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/features/org.eclipse.graphiti.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.graphiti.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/features/org.eclipse.graphiti.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/features/org.eclipse.graphiti.feature/.settings/org.eclipse.m2e.core.prefs b/features/org.eclipse.graphiti.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/features/org.eclipse.graphiti.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/features/org.eclipse.graphiti.feature/feature.xml b/features/org.eclipse.graphiti.feature/feature.xml
index 7a02151..b93cb62 100644
--- a/features/org.eclipse.graphiti.feature/feature.xml
+++ b/features/org.eclipse.graphiti.feature/feature.xml
@@ -20,7 +20,7 @@
       provider-name="%providerName"
       plugin="org.eclipse.graphiti.ui"
       license-feature="org.eclipse.license"
-      license-feature-version="0.0.0">
+      license-feature-version="1.0.0.qualifier">
 
    <description>
       %description
@@ -35,6 +35,10 @@
 http://www.eclipse.org/legal/epl-v10.html
    </copyright>
 
+   <license url="%licenseURL">
+      %license
+   </license>
+
    <plugin
          id="org.eclipse.graphiti"
          download-size="0"
diff --git a/features/org.eclipse.graphiti.feature/pom.xml b/features/org.eclipse.graphiti.feature/pom.xml
new file mode 100644
index 0000000..b1f5683
--- /dev/null
+++ b/features/org.eclipse.graphiti.feature/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Runtime Feature</name>

+	<artifactId>org.eclipse.graphiti.feature</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>

+				<executions>

+					<execution>

+						<id>source-feature</id>

+						<phase>package</phase>

+						<goals>

+							<goal>source-feature</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+			<plugin>

+				<groupId>org.eclipse.tycho</groupId>

+				<artifactId>tycho-p2-plugin</artifactId>

+				<version>${tycho-version}</version>

+				<executions>

+					<execution>

+						<id>attached-p2-metadata</id>

+						<phase>package</phase>

+						<goals>

+							<goal>p2-metadata</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+		</plugins>

+	</build>

+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.graphiti.feature/sourceTemplateFeature/.gitkeep b/features/org.eclipse.graphiti.feature/sourceTemplateFeature/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/features/org.eclipse.graphiti.feature/sourceTemplateFeature/.gitkeep
diff --git a/features/org.eclipse.graphiti.sdk.feature/.gitignore b/features/org.eclipse.graphiti.sdk.feature/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/features/org.eclipse.graphiti.sdk.feature/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/features/org.eclipse.graphiti.sdk.feature/.project b/features/org.eclipse.graphiti.sdk.feature/.project
index 69e56fa..c4be6e9 100644
--- a/features/org.eclipse.graphiti.sdk.feature/.project
+++ b/features/org.eclipse.graphiti.sdk.feature/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/features/org.eclipse.graphiti.sdk.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.graphiti.sdk.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/features/org.eclipse.graphiti.sdk.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/features/org.eclipse.graphiti.sdk.feature/.settings/org.eclipse.m2e.core.prefs b/features/org.eclipse.graphiti.sdk.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/features/org.eclipse.graphiti.sdk.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/features/org.eclipse.graphiti.sdk.feature/feature.xml b/features/org.eclipse.graphiti.sdk.feature/feature.xml
index 28d7537..f89c1be 100644
--- a/features/org.eclipse.graphiti.sdk.feature/feature.xml
+++ b/features/org.eclipse.graphiti.sdk.feature/feature.xml
@@ -19,7 +19,7 @@
       version="0.14.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.license"
-      license-feature-version="0.0.0">
+      license-feature-version="1.0.0.qualifier">
 
    <description>
       %description
@@ -34,6 +34,10 @@
 http://www.eclipse.org/legal/epl-v10.html
    </copyright>
 
+   <license url="%licenseURL">
+      %license
+   </license>
+
    <includes
          id="org.eclipse.graphiti.feature"
          version="0.0.0"/>
@@ -43,19 +47,7 @@
          version="0.0.0"/>
 
    <includes
-         id="org.eclipse.graphiti.source.feature"
-         version="0.0.0"/>
-
-   <includes
-         id="org.eclipse.graphiti.feature.examples.source"
-         version="0.0.0"/>
-
-   <includes
          id="org.eclipse.graphiti.feature.tools"
          version="0.0.0"/>
 
-   <includes
-         id="org.eclipse.graphiti.feature.tools.source"
-         version="0.0.0"/>
-
 </feature>
diff --git a/features/org.eclipse.graphiti.sdk.feature/pom.xml b/features/org.eclipse.graphiti.sdk.feature/pom.xml
new file mode 100644
index 0000000..5cc1ec5
--- /dev/null
+++ b/features/org.eclipse.graphiti.sdk.feature/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>SDK Feature</name>

+	<artifactId>org.eclipse.graphiti.sdk.feature</artifactId>

+	<packaging>eclipse-feature</packaging>

+

+	<build>

+		<plugins>

+			<plugin>

+				<groupId>org.eclipse.tycho.extras</groupId>

+				<artifactId>tycho-source-feature-plugin</artifactId>

+				<version>${tycho-version}</version>

+				<executions>

+					<execution>

+						<id>source-feature</id>

+						<phase>package</phase>

+						<goals>

+							<goal>source-feature</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+			<plugin>

+				<groupId>org.eclipse.tycho</groupId>

+				<artifactId>tycho-p2-plugin</artifactId>

+				<version>${tycho-version}</version>

+				<executions>

+					<execution>

+						<id>attached-p2-metadata</id>

+						<phase>package</phase>

+						<goals>

+							<goal>p2-metadata</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+		</plugins>

+	</build>

+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.graphiti.sdk.plus.feature/.gitignore b/features/org.eclipse.graphiti.sdk.plus.feature/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/features/org.eclipse.graphiti.sdk.plus.feature/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/features/org.eclipse.graphiti.sdk.plus.feature/.project b/features/org.eclipse.graphiti.sdk.plus.feature/.project
index 28cd1dd..029fd15 100644
--- a/features/org.eclipse.graphiti.sdk.plus.feature/.project
+++ b/features/org.eclipse.graphiti.sdk.plus.feature/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/features/org.eclipse.graphiti.sdk.plus.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.graphiti.sdk.plus.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/features/org.eclipse.graphiti.sdk.plus.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/features/org.eclipse.graphiti.sdk.plus.feature/.settings/org.eclipse.m2e.core.prefs b/features/org.eclipse.graphiti.sdk.plus.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/features/org.eclipse.graphiti.sdk.plus.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/features/org.eclipse.graphiti.sdk.plus.feature/feature.xml b/features/org.eclipse.graphiti.sdk.plus.feature/feature.xml
index 2f41974..27056cf 100644
--- a/features/org.eclipse.graphiti.sdk.plus.feature/feature.xml
+++ b/features/org.eclipse.graphiti.sdk.plus.feature/feature.xml
@@ -19,7 +19,7 @@
       version="0.14.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.license"
-      license-feature-version="0.0.0">
+      license-feature-version="1.0.0.qualifier">
 
    <description>
       %description
@@ -34,6 +34,10 @@
 http://www.eclipse.org/legal/epl-v10.html
    </copyright>
 
+   <license url="%licenseURL">
+      %license
+   </license>
+
    <includes
          id="org.eclipse.graphiti.sdk.feature"
          version="0.0.0"/>
diff --git a/features/org.eclipse.graphiti.sdk.plus.feature/pom.xml b/features/org.eclipse.graphiti.sdk.plus.feature/pom.xml
new file mode 100644
index 0000000..375cdad
--- /dev/null
+++ b/features/org.eclipse.graphiti.sdk.plus.feature/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>SDK Plus Feature</name>

+	<artifactId>org.eclipse.graphiti.sdk.plus.feature</artifactId>

+	<packaging>eclipse-feature</packaging>

+

+	<build>

+		<plugins>

+			<plugin>

+				<groupId>org.eclipse.tycho.extras</groupId>

+				<artifactId>tycho-source-feature-plugin</artifactId>

+				<version>${tycho-version}</version>

+				<executions>

+					<execution>

+						<id>source-feature</id>

+						<phase>package</phase>

+						<goals>

+							<goal>source-feature</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+			<plugin>

+				<groupId>org.eclipse.tycho</groupId>

+				<artifactId>tycho-p2-plugin</artifactId>

+				<version>${tycho-version}</version>

+				<executions>

+					<execution>

+						<id>attached-p2-metadata</id>

+						<phase>package</phase>

+						<goals>

+							<goal>p2-metadata</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+		</plugins>

+	</build>

+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.graphiti.site/.gitignore b/features/org.eclipse.graphiti.site/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/features/org.eclipse.graphiti.site/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/features/org.eclipse.graphiti.site/.project b/features/org.eclipse.graphiti.site/.project
index 83965b8..057a17a 100644
--- a/features/org.eclipse.graphiti.site/.project
+++ b/features/org.eclipse.graphiti.site/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/features/org.eclipse.graphiti.site/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.graphiti.site/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/features/org.eclipse.graphiti.site/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/features/org.eclipse.graphiti.site/.settings/org.eclipse.m2e.core.prefs b/features/org.eclipse.graphiti.site/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/features/org.eclipse.graphiti.site/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/features/org.eclipse.graphiti.site/category.xml b/features/org.eclipse.graphiti.site/category.xml
index 4f6d8c8..53cc6a8 100644
--- a/features/org.eclipse.graphiti.site/category.xml
+++ b/features/org.eclipse.graphiti.site/category.xml
@@ -3,21 +3,39 @@
    <feature id="org.eclipse.graphiti.feature" version="0.0.0">
       <category name="org.eclipse.graphiti"/>
    </feature>
+   <feature id="org.eclipse.graphiti.feature.source" version="0.0.0">
+      <category name="org.eclipse.graphiti"/>
+   </feature>
    <feature id="org.eclipse.graphiti.export.feature" version="0.0.0">
       <category name="org.eclipse.graphiti"/>
    </feature>
+   <feature id="org.eclipse.graphiti.export.feature.source" version="0.0.0">
+      <category name="org.eclipse.graphiti"/>
+   </feature>
    <feature id="org.eclipse.graphiti.feature.examples" version="0.0.0">
       <category name="org.eclipse.graphiti"/>
    </feature>
+   <feature id="org.eclipse.graphiti.feature.examples.source" version="0.0.0">
+      <category name="org.eclipse.graphiti"/>
+   </feature>
    <feature id="org.eclipse.graphiti.feature.tools" version="0.0.0">
       <category name="org.eclipse.graphiti"/>
    </feature>
+   <feature id="org.eclipse.graphiti.feature.tools.source" version="0.0.0">
+      <category name="org.eclipse.graphiti"/>
+   </feature>
    <feature id="org.eclipse.graphiti.sdk.feature" version="0.0.0">
       <category name="org.eclipse.graphiti"/>
    </feature>
+   <feature id="org.eclipse.graphiti.sdk.feature.source" version="0.0.0">
+      <category name="org.eclipse.graphiti"/>
+   </feature>
    <feature id="org.eclipse.graphiti.sdk.plus.feature" version="0.0.0">
       <category name="org.eclipse.graphiti"/>
    </feature>
+   <feature id="org.eclipse.graphiti.sdk.plus.feature.source" version="0.0.0">
+      <category name="org.eclipse.graphiti"/>
+   </feature>
    <category-def name="org.eclipse.graphiti" label="Graphiti">
       <description>
          The Graphiti update site provides access to the Graphiti framework and all additional features. For developing with the framework installing the SDK feature is the recommended choice, it will install the
diff --git a/features/org.eclipse.graphiti.site/feature.xml b/features/org.eclipse.graphiti.site/feature.xml
index 1fdb53d..35bd20e 100644
--- a/features/org.eclipse.graphiti.site/feature.xml
+++ b/features/org.eclipse.graphiti.site/feature.xml
@@ -21,7 +21,7 @@
       provider-name="%providerName"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.license"
-      license-feature-version="0.0.0">
+      license-feature-version="1.0.0.qualifier">
 
    <description>
       %description
@@ -36,6 +36,10 @@
 http://www.eclipse.org/legal/epl-v10.html
    </copyright>
 
+   <license url="%licenseURL">
+      %license
+   </license>
+
    <url>
       <update url="http://www.eclipse.org/downloads/download.php?file=/graphiti/updates/0.14.0/&amp;protocol=http&amp;format=xml"/>
    </url>
diff --git a/features/org.eclipse.graphiti.site/pom.xml b/features/org.eclipse.graphiti.site/pom.xml
new file mode 100644
index 0000000..4903245
--- /dev/null
+++ b/features/org.eclipse.graphiti.site/pom.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Update Site</name>

+	<artifactId>org.eclipse.graphiti.site</artifactId>

+	<packaging>eclipse-repository</packaging>

+

+	<pluginRepositories>

+		<pluginRepository>

+			<id>jboss-public-repository-group</id>

+			<name>JBoss Public Repository Group</name>

+			<url>http://repository.jboss.org/nexus/content/groups/public/</url>

+		</pluginRepository>

+	</pluginRepositories>

+

+	<build>

+		<plugins>

+			<plugin>

+				<groupId>org.codehaus.mojo</groupId>

+				<artifactId>build-helper-maven-plugin</artifactId>

+				<version>1.8</version>

+				<executions>

+					<execution>

+						<id>parse-version</id>

+						<goals>

+							<goal>parse-version</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+			<plugin>

+				<groupId>org.jboss.tools.tycho-plugins</groupId>

+				<artifactId>repository-utils</artifactId>

+				<version>${jboss-tycho-plugins-version}</version>

+				<executions>

+					<execution>

+						<id>generate-facade</id>

+						<phase>package</phase>

+						<goals>

+							<goal>generate-repository-facade</goal>

+						</goals>

+						<configuration>

+							<siteTemplateFolder>siteTemplate/</siteTemplateFolder>

+							<!-- Symbols are used while expanding index.html template -->

+							<symbols>

+								<!-- parsedVersion property is filled by build-helper-maven-plugin goal parse-version -->

+								<update.site.version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</update.site.version>

+								<update.site.name>Graphiti ${update.site.version} Update Site</update.site.name>

+							</symbols>

+						</configuration>

+					</execution>

+				</executions>

+			</plugin>

+			<plugin>

+				<groupId>org.eclipse.tycho.extras</groupId>

+				<artifactId>tycho-source-feature-plugin</artifactId>

+				<version>${tycho-version}</version>

+				<executions>

+					<execution>

+						<id>source-feature</id>

+						<phase>package</phase>

+						<goals>

+							<goal>source-feature</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+			<plugin>

+				<groupId>org.eclipse.tycho</groupId>

+				<artifactId>tycho-p2-plugin</artifactId>

+				<version>${tycho-version}</version>

+				<executions>

+					<execution>

+						<id>attached-p2-metadata</id>

+						<phase>package</phase>

+						<goals>

+							<goal>p2-metadata</goal>

+						</goals>

+					</execution>

+				</executions>

+			</plugin>

+		</plugins>

+		<pluginManagement>

+			<plugins>

+				<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->

+				<plugin>

+					<groupId>org.eclipse.m2e</groupId>

+					<artifactId>lifecycle-mapping</artifactId>

+					<version>1.0.0</version>

+					<configuration>

+						<lifecycleMappingMetadata>

+							<pluginExecutions>

+								<pluginExecution>

+									<pluginExecutionFilter>

+										<groupId>

+											org.codehaus.mojo

+										</groupId>

+										<artifactId>

+											build-helper-maven-plugin

+										</artifactId>

+										<versionRange>

+											[1.8,)

+										</versionRange>

+										<goals>

+											<goal>parse-version</goal>

+										</goals>

+									</pluginExecutionFilter>

+									<action>

+										<ignore></ignore>

+									</action>

+								</pluginExecution>

+							</pluginExecutions>

+						</lifecycleMappingMetadata>

+					</configuration>

+				</plugin>

+			</plugins>

+		</pluginManagement>

+	</build>

+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.graphiti.site/siteTemplate/index.html b/features/org.eclipse.graphiti.site/siteTemplate/index.html
new file mode 100644
index 0000000..81fb935
--- /dev/null
+++ b/features/org.eclipse.graphiti.site/siteTemplate/index.html
@@ -0,0 +1,17 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+		<title>${update.site.name}</title>
+	</head>
+	<body>
+		<h1>Graphiti ${update.site.version} Update Site</h1>
+		<p>
+			<em>For information about installing or updating software, see the
+			<a href="http://help.eclipse.org/mars/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-124.htm">
+			Eclipse Platform Help</a>.</em>
+		</p>
+		<div class="featureTable">
+			${site.contents}
+		</div>
+	</body>
+</html>
diff --git a/features/org.eclipse.graphiti.tests-feature/feature.xml b/features/org.eclipse.graphiti.tests-feature/feature.xml
index ac32b08..8641ee5 100644
--- a/features/org.eclipse.graphiti.tests-feature/feature.xml
+++ b/features/org.eclipse.graphiti.tests-feature/feature.xml
@@ -20,7 +20,7 @@
       provider-name="%providerName"
       image="eclipse_update_120.jpg"
       license-feature="org.eclipse.license"
-      license-feature-version="0.0.0">
+      license-feature-version="1.0.0.qualifier">
 
    <description>
       %description
@@ -35,6 +35,10 @@
 http://www.eclipse.org/legal/epl-v10.html
    </copyright>
 
+   <license url="%licenseURL">
+      %license
+   </license>
+
    <url>
       <update label="%graphitiTestUpdateSiteName" url="http://download.eclipse.org/modeling/graphiti/updates/"/>
       <discovery label="%graphitiTestUpdateSiteName" url="http://download.eclipse.org/modeling/graphiti/updates/"/>
diff --git a/parent/.project b/parent/.project
index b332d9b..b3962d4 100644
--- a/parent/.project
+++ b/parent/.project
@@ -5,7 +5,13 @@
 	<projects>

 	</projects>

 	<buildSpec>

+		<buildCommand>

+			<name>org.eclipse.m2e.core.maven2Builder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

 	</buildSpec>

 	<natures>

+		<nature>org.eclipse.m2e.core.maven2Nature</nature>

 	</natures>

 </projectDescription>

diff --git a/parent/.settings/org.eclipse.m2e.core.prefs b/parent/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..14b697b
--- /dev/null
+++ b/parent/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=

+eclipse.preferences.version=1

+resolveWorkspaceProjects=true

+version=1

diff --git a/parent/pom.xml b/parent/pom.xml
index 8b94cfd..babc8a5 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -3,42 +3,111 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

 	<modelVersion>4.0.0</modelVersion>

 

-	<name>Graphiti Parent</name>

+	<name>Parent</name>

 	<groupId>org.eclipse.graphiti</groupId>

 	<artifactId>parent</artifactId>

-	<version>0.12.0-SNAPSHOT</version>

+	<version>0.14.0-SNAPSHOT</version>

 	<packaging>pom</packaging>

 

 	<properties>

-		<tycho-version>0.22.0</tycho-version>

-		<platform-site>http://download.eclipse.org/eclipse/updates/${platform-path}</platform-site>

-		<orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/${orbit-version}/repository/</orbit-site>

-		<gef-site>http://download.eclipse.org/tools/gef/updates/${gef-path}</gef-site>

-		<emf-site>http://download.eclipse.org/modeling/emf/emf/updates/${emf-path}</emf-site>

-		<emf-transactions-site>http://download.eclipse.org/modeling/emf/transaction/updates/${emf-transactions-path}</emf-transactions-site>

-		<emf-validation-site>http://download.eclipse.org/modeling/emf/validation/updates/${emf-validation-path}</emf-validation-site>

-		<swtbot-site>http://download.eclipse.org/technology/swtbot/${swtbot-path}</swtbot-site>

+		<tycho-version>0.24.0</tycho-version>

+		<tycho-extras-version>${tycho-version}</tycho-extras-version>

+		<jboss-tycho-plugins-version>0.22.0</jboss-tycho-plugins-version>

+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

+		<platform-site>http://download.eclipse.org/eclipse/updates/4.7milestones/S-4.7M3-201610270700/</platform-site>

+		<orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/S20161021172207/repository/</orbit-site>

+		<gef-site>http://download.eclipse.org/tools/gef/updates/legacy/releases/4.0.0_gef-master_1952/</gef-site>

+		<emf-site>http://download.eclipse.org/modeling/emf/emf/updates/2.12/</emf-site>

+		<emf-transactions-site>http://download.eclipse.org/modeling/emf/transaction/updates/releases/</emf-transactions-site>

+		<emf-validation-site>http://download.eclipse.org/modeling/emf/validation/updates/releases/</emf-validation-site>

+		<swtbot-site>http://download.eclipse.org/technology/swtbot/milestones/neon-ur1-rc4/</swtbot-site>

 		<license-site>http://download.eclipse.org/cbi/updates/license/</license-site>

 	</properties>

 

 	<profiles>

 		<profile>

-			<id>mars</id>

-			<activation>

-				<activeByDefault>true</activeByDefault>

-			</activation>

-			<properties>

-				<platform-path>4.5milestones/S-4.5RC2a-201505222000/</platform-path>

-				<orbit-version>R20150519210750</orbit-version>

-				<gef-path>milestones/</gef-path>

-				<emf-path>2.11milestones/</emf-path>

-				<emf-transactions-path>milestones/S201505060251/</emf-transactions-path>

-				<emf-validation-path>milestones/S201505060134/</emf-validation-path>

-				<swtbot-path>snapshots/</swtbot-path>

-			</properties>

+			<id>eclipse-signing</id>

+			<build>

+				<plugins>

+					<plugin>

+						<groupId>org.eclipse.tycho</groupId>

+						<artifactId>target-platform-configuration</artifactId>

+						<version>${tycho-version}</version>

+						<configuration>

+							<includePackedArtifacts>true</includePackedArtifacts>

+						</configuration>

+					</plugin>

+					<plugin>

+						<groupId>org.eclipse.tycho.extras</groupId>

+						<artifactId>tycho-pack200a-plugin</artifactId>

+						<version>${tycho-extras-version}</version>

+						<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>

+						<version>1.1.2</version>

+						<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>

+						<version>${tycho-extras-version}</version>

+						<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>

+						<version>${tycho-version}</version>

+						<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>

 

+	<pluginRepositories>

+		<pluginRepository>

+			<id>repo.eclipse.org.cbi-releases</id>

+			<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>

+		</pluginRepository>

+	</pluginRepositories>

+

 	<repositories>

 		<repository>

 			<id>platform</id>

@@ -84,6 +153,31 @@
 

 	<modules>

 		<module>../plugins/org.eclipse.graphiti.mm</module>

+		<module>../plugins/org.eclipse.graphiti</module>

+		<module>../plugins/org.eclipse.graphiti.ui</module>

+		<module>../plugins/org.eclipse.graphiti.pattern</module>

+		<module>../plugins/org.eclipse.graphiti.tools.newprojectwizard</module>

+		<module>../plugins/org.eclipse.graphiti.export.batik</module>

+		<module>../examples/org.eclipse.graphiti.examples.common</module>

+		<module>../examples/org.eclipse.graphiti.examples.tutorial</module>

+		<module>../examples/org.eclipse.graphiti.examples.chess</module>

+		<module>../examples/org.eclipse.graphiti.examples.composite</module>

+		<module>../examples/org.eclipse.graphiti.examples.filesystem.mm</module>

+		<module>../examples/org.eclipse.graphiti.examples.filesystem</module>

+		<module>../examples/org.eclipse.graphiti.ui.capabilities</module>

+		<module>../examples/org.eclipse.graphiti.doc</module>

+		<module>../features/org.eclipse.graphiti.feature</module>

+		<module>../features/org.eclipse.graphiti.feature.examples</module>

+		<module>../features/org.eclipse.graphiti.feature.tools</module>

+		<module>../features/org.eclipse.graphiti.sdk.feature</module>

+		<module>../features/org.eclipse.graphiti.export.feature</module>

+		<module>../features/org.eclipse.graphiti.sdk.plus.feature</module>

+		<module>../features/org.eclipse.graphiti.site</module>

+		<module>../tests/org.eclipse.graphiti.tests</module>

+		<module>../tests/org.eclipse.graphiti.ui.tests</module>

+		<module>../tests/org.eclipse.graphiti.testtool.ecore</module>

+		<module>../tests/org.eclipse.graphiti.testtool.sketch</module>

+		<module>../tests/org.eclipse.graphiti.bot.tests</module>

 	</modules>

 

 	<build>

@@ -102,6 +196,53 @@
 					<format>yyyyMMddHHmm</format>

 				</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</groupId>

+				<artifactId>target-platform-configuration</artifactId>

+				<version>${tycho-version}</version>

+				<configuration>

+					<environments>

+						<environment>

+							<os>linux</os>

+							<ws>gtk</ws>

+							<arch>x86</arch>

+						</environment>

+						<environment>

+							<os>linux</os>

+							<ws>gtk</ws>

+							<arch>x86_64</arch>

+						</environment>

+						<environment>

+							<os>win32</os>

+							<ws>win32</ws>

+							<arch>x86</arch>

+						</environment>

+						<environment>

+							<os>win32</os>

+							<ws>win32</ws>

+							<arch>x86_64</arch>

+						</environment>

+						<environment>

+							<os>macosx</os>

+							<ws>cocoa</ws>

+							<arch>x86_64</arch>

+						</environment>

+					</environments>

+				</configuration>

+			</plugin>

 		</plugins>

 	</build>

-</project>
\ No newline at end of file
+</project>
diff --git a/plugins/org.eclipse.graphiti.export.batik/.classpath b/plugins/org.eclipse.graphiti.export.batik/.classpath
index ad32c83..c72d35a 100644
--- a/plugins/org.eclipse.graphiti.export.batik/.classpath
+++ b/plugins/org.eclipse.graphiti.export.batik/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/plugins/org.eclipse.graphiti.export.batik/.gitignore b/plugins/org.eclipse.graphiti.export.batik/.gitignore
index 5e56e04..06ba672 100644
--- a/plugins/org.eclipse.graphiti.export.batik/.gitignore
+++ b/plugins/org.eclipse.graphiti.export.batik/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/plugins/org.eclipse.graphiti.export.batik/.project b/plugins/org.eclipse.graphiti.export.batik/.project
index 8533b84..7b93ccb 100644
--- a/plugins/org.eclipse.graphiti.export.batik/.project
+++ b/plugins/org.eclipse.graphiti.export.batik/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/plugins/org.eclipse.graphiti.export.batik/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.graphiti.export.batik/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/plugins/org.eclipse.graphiti.export.batik/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/plugins/org.eclipse.graphiti.export.batik/.settings/org.eclipse.m2e.core.prefs b/plugins/org.eclipse.graphiti.export.batik/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/org.eclipse.graphiti.export.batik/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/org.eclipse.graphiti.export.batik/pom.xml b/plugins/org.eclipse.graphiti.export.batik/pom.xml
new file mode 100644
index 0000000..dca54e6
--- /dev/null
+++ b/plugins/org.eclipse.graphiti.export.batik/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>SVG Export</name>

+	<artifactId>org.eclipse.graphiti.export.batik</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.graphiti.mm/.classpath b/plugins/org.eclipse.graphiti.mm/.classpath
index c1f3189..4a99ad9 100644
--- a/plugins/org.eclipse.graphiti.mm/.classpath
+++ b/plugins/org.eclipse.graphiti.mm/.classpath
@@ -3,5 +3,5 @@
 	<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-gen"/>
-	<classpathentry kind="output" path="bin"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/plugins/org.eclipse.graphiti.mm/.project b/plugins/org.eclipse.graphiti.mm/.project
index f90b609..33796e5 100644
--- a/plugins/org.eclipse.graphiti.mm/.project
+++ b/plugins/org.eclipse.graphiti.mm/.project
@@ -30,8 +30,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/plugins/org.eclipse.graphiti.mm/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.graphiti.mm/.settings/org.eclipse.core.resources.prefs
index bea362f..9060154 100644
--- a/plugins/org.eclipse.graphiti.mm/.settings/org.eclipse.core.resources.prefs
+++ b/plugins/org.eclipse.graphiti.mm/.settings/org.eclipse.core.resources.prefs
@@ -4,4 +4,3 @@
 encoding//diagrams/overview.ecorediag=UTF-8
 encoding//diagrams/pes.ecorediag=UTF-8
 encoding//diagrams/styles.ecorediag=UTF-8
-encoding/<project>=UTF-8
diff --git a/plugins/org.eclipse.graphiti.mm/.settings/org.eclipse.m2e.core.prefs b/plugins/org.eclipse.graphiti.mm/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/org.eclipse.graphiti.mm/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/org.eclipse.graphiti.mm/pom.xml b/plugins/org.eclipse.graphiti.mm/pom.xml
new file mode 100644
index 0000000..ed17ecf
--- /dev/null
+++ b/plugins/org.eclipse.graphiti.mm/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Metamodel</name>

+	<artifactId>org.eclipse.graphiti.mm</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.graphiti.pattern/.classpath b/plugins/org.eclipse.graphiti.pattern/.classpath
index ad32c83..c72d35a 100644
--- a/plugins/org.eclipse.graphiti.pattern/.classpath
+++ b/plugins/org.eclipse.graphiti.pattern/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/plugins/org.eclipse.graphiti.pattern/.gitignore b/plugins/org.eclipse.graphiti.pattern/.gitignore
index 5e56e04..06ba672 100644
--- a/plugins/org.eclipse.graphiti.pattern/.gitignore
+++ b/plugins/org.eclipse.graphiti.pattern/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/plugins/org.eclipse.graphiti.pattern/.project b/plugins/org.eclipse.graphiti.pattern/.project
index 31b55a4..0413253 100644
--- a/plugins/org.eclipse.graphiti.pattern/.project
+++ b/plugins/org.eclipse.graphiti.pattern/.project
@@ -30,8 +30,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/plugins/org.eclipse.graphiti.pattern/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.graphiti.pattern/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/plugins/org.eclipse.graphiti.pattern/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/plugins/org.eclipse.graphiti.pattern/.settings/org.eclipse.m2e.core.prefs b/plugins/org.eclipse.graphiti.pattern/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/org.eclipse.graphiti.pattern/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/org.eclipse.graphiti.pattern/pom.xml b/plugins/org.eclipse.graphiti.pattern/pom.xml
new file mode 100644
index 0000000..cf53e09
--- /dev/null
+++ b/plugins/org.eclipse.graphiti.pattern/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Pattern</name>

+	<artifactId>org.eclipse.graphiti.pattern</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.graphiti.tools.newprojectwizard/.classpath b/plugins/org.eclipse.graphiti.tools.newprojectwizard/.classpath
index ad32c83..c72d35a 100644
--- a/plugins/org.eclipse.graphiti.tools.newprojectwizard/.classpath
+++ b/plugins/org.eclipse.graphiti.tools.newprojectwizard/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/plugins/org.eclipse.graphiti.tools.newprojectwizard/.gitignore b/plugins/org.eclipse.graphiti.tools.newprojectwizard/.gitignore
index 5e56e04..06ba672 100644
--- a/plugins/org.eclipse.graphiti.tools.newprojectwizard/.gitignore
+++ b/plugins/org.eclipse.graphiti.tools.newprojectwizard/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/plugins/org.eclipse.graphiti.tools.newprojectwizard/.project b/plugins/org.eclipse.graphiti.tools.newprojectwizard/.project
index a1f5d78..acfcd85 100644
--- a/plugins/org.eclipse.graphiti.tools.newprojectwizard/.project
+++ b/plugins/org.eclipse.graphiti.tools.newprojectwizard/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/plugins/org.eclipse.graphiti.tools.newprojectwizard/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.graphiti.tools.newprojectwizard/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/plugins/org.eclipse.graphiti.tools.newprojectwizard/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/plugins/org.eclipse.graphiti.tools.newprojectwizard/.settings/org.eclipse.m2e.core.prefs b/plugins/org.eclipse.graphiti.tools.newprojectwizard/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/org.eclipse.graphiti.tools.newprojectwizard/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/org.eclipse.graphiti.tools.newprojectwizard/pom.xml b/plugins/org.eclipse.graphiti.tools.newprojectwizard/pom.xml
new file mode 100644
index 0000000..9398939
--- /dev/null
+++ b/plugins/org.eclipse.graphiti.tools.newprojectwizard/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>New Project Wizard</name>

+	<artifactId>org.eclipse.graphiti.tools.newprojectwizard</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.graphiti.ui/.classpath b/plugins/org.eclipse.graphiti.ui/.classpath
index ad32c83..c72d35a 100644
--- a/plugins/org.eclipse.graphiti.ui/.classpath
+++ b/plugins/org.eclipse.graphiti.ui/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/plugins/org.eclipse.graphiti.ui/.gitignore b/plugins/org.eclipse.graphiti.ui/.gitignore
index 5e56e04..06ba672 100644
--- a/plugins/org.eclipse.graphiti.ui/.gitignore
+++ b/plugins/org.eclipse.graphiti.ui/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/plugins/org.eclipse.graphiti.ui/.project b/plugins/org.eclipse.graphiti.ui/.project
index 69504c1..9b4bf88 100644
--- a/plugins/org.eclipse.graphiti.ui/.project
+++ b/plugins/org.eclipse.graphiti.ui/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/plugins/org.eclipse.graphiti.ui/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.graphiti.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/plugins/org.eclipse.graphiti.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/plugins/org.eclipse.graphiti.ui/.settings/org.eclipse.m2e.core.prefs b/plugins/org.eclipse.graphiti.ui/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/org.eclipse.graphiti.ui/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/org.eclipse.graphiti.ui/pom.xml b/plugins/org.eclipse.graphiti.ui/pom.xml
new file mode 100644
index 0000000..d85949b
--- /dev/null
+++ b/plugins/org.eclipse.graphiti.ui/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>UI</name>

+	<artifactId>org.eclipse.graphiti.ui</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/figures/GFFigureUtil.java b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/figures/GFFigureUtil.java
index 4160079..033a71f 100644
--- a/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/figures/GFFigureUtil.java
+++ b/plugins/org.eclipse.graphiti.ui/src/org/eclipse/graphiti/ui/internal/figures/GFFigureUtil.java
@@ -631,7 +631,7 @@
 		}
 	}
 
-	protected static void drawRichText(Graphics g, String draw, int x, int y,
+	public static void drawRichText(Graphics g, String draw, int x, int y,
 			IConfigurationProviderInternal configurationProvider, AbstractText text) {
 		drawRichText(g, draw, x, y, -1, false, 0, configurationProvider, text);
 	}
diff --git a/plugins/org.eclipse.graphiti/.classpath b/plugins/org.eclipse.graphiti/.classpath
index ad32c83..c72d35a 100644
--- a/plugins/org.eclipse.graphiti/.classpath
+++ b/plugins/org.eclipse.graphiti/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/plugins/org.eclipse.graphiti/.gitignore b/plugins/org.eclipse.graphiti/.gitignore
index 5e56e04..06ba672 100644
--- a/plugins/org.eclipse.graphiti/.gitignore
+++ b/plugins/org.eclipse.graphiti/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/plugins/org.eclipse.graphiti/.project b/plugins/org.eclipse.graphiti/.project
index 102cd5e..66f8536 100644
--- a/plugins/org.eclipse.graphiti/.project
+++ b/plugins/org.eclipse.graphiti/.project
@@ -30,8 +30,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/plugins/org.eclipse.graphiti/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.graphiti/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/plugins/org.eclipse.graphiti/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/plugins/org.eclipse.graphiti/.settings/org.eclipse.m2e.core.prefs b/plugins/org.eclipse.graphiti/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/org.eclipse.graphiti/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/org.eclipse.graphiti/pom.xml b/plugins/org.eclipse.graphiti/pom.xml
new file mode 100644
index 0000000..2cf701d
--- /dev/null
+++ b/plugins/org.eclipse.graphiti/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Core</name>

+	<artifactId>org.eclipse.graphiti</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.graphiti.releng/.project b/releng/org.eclipse.graphiti.releng/.project
index 2893463..8ea6b01 100644
--- a/releng/org.eclipse.graphiti.releng/.project
+++ b/releng/org.eclipse.graphiti.releng/.project
@@ -5,7 +5,13 @@
 	<projects>
 	</projects>
 	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 	</natures>
 </projectDescription>
diff --git a/releng/org.eclipse.graphiti.releng/.settings/org.eclipse.core.resources.prefs b/releng/org.eclipse.graphiti.releng/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/releng/org.eclipse.graphiti.releng/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/releng/org.eclipse.graphiti.releng/.settings/org.eclipse.m2e.core.prefs b/releng/org.eclipse.graphiti.releng/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/releng/org.eclipse.graphiti.releng/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/releng/org.eclipse.graphiti.releng/pom.xml b/releng/org.eclipse.graphiti.releng/pom.xml
new file mode 100644
index 0000000..6324d86
--- /dev/null
+++ b/releng/org.eclipse.graphiti.releng/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<name>Releng</name>

+	<groupId>org.eclipse.graphiti</groupId>

+	<artifactId>releng</artifactId>

+	<version>0.14.0-SNAPSHOT</version>

+	<packaging>pom</packaging>

+

+	<build>

+		<plugins>

+			<plugin>

+				<artifactId>maven-antrun-plugin</artifactId>

+				<executions>

+					<execution>

+						<id>CopyToLastSuccessArea</id>

+						<phase>install</phase>

+						<goals>

+							<goal>run</goal>

+						</goals>

+						<configuration>

+							<tasks>

+								<echo message="Deleting old ZIP archive from last_success area"/>

+								<delete dir="${WORKSPACE}/last_success/archive/" failonerror="false"/>

+

+								<echo message="Deleting old update site from last_success area"/>

+								<delete dir="${WORKSPACE}/last_success/updatesite/" failonerror="false"/>

+

+								<echo message="Copying updatesite.zip to last_success area"/>

+								<copy todir="${WORKSPACE}/last_success/archive/">

+									<fileset dir="${WORKSPACE}/graphiti/org.eclipse.graphiti/features/org.eclipse.graphiti.site/target/" includes="org.eclipse.graphiti.site-*.zip" />

+								</copy>

+

+								<echo message="Unpacking archive to last_success updatesite area"/>

+								<unzip src="${WORKSPACE}/graphiti/org.eclipse.graphiti/features/org.eclipse.graphiti.site/target/org.eclipse.graphiti.site-0.14.0-SNAPSHOT.zip" dest="${WORKSPACE}/last_success/updatesite/"/>

+							</tasks>

+						</configuration>

+					</execution>

+				</executions>

+			</plugin>

+		</plugins>

+	</build>

+</project>
diff --git a/tests/org.eclipse.graphiti.bot.tests/.classpath b/tests/org.eclipse.graphiti.bot.tests/.classpath
index ad32c83..c72d35a 100644
--- a/tests/org.eclipse.graphiti.bot.tests/.classpath
+++ b/tests/org.eclipse.graphiti.bot.tests/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/tests/org.eclipse.graphiti.bot.tests/.gitignore b/tests/org.eclipse.graphiti.bot.tests/.gitignore
index e6cf840..46c0b25 100644
--- a/tests/org.eclipse.graphiti.bot.tests/.gitignore
+++ b/tests/org.eclipse.graphiti.bot.tests/.gitignore
@@ -1,2 +1,3 @@
 /bin
-/screenshots
\ No newline at end of file
+/screenshots
+/target/
diff --git a/tests/org.eclipse.graphiti.bot.tests/.project b/tests/org.eclipse.graphiti.bot.tests/.project
index 421dfc3..39a7ba1 100644
--- a/tests/org.eclipse.graphiti.bot.tests/.project
+++ b/tests/org.eclipse.graphiti.bot.tests/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/tests/org.eclipse.graphiti.bot.tests/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.graphiti.bot.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/tests/org.eclipse.graphiti.bot.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/tests/org.eclipse.graphiti.bot.tests/.settings/org.eclipse.m2e.core.prefs b/tests/org.eclipse.graphiti.bot.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/org.eclipse.graphiti.bot.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/org.eclipse.graphiti.bot.tests/plugin.xml b/tests/org.eclipse.graphiti.bot.tests/plugin.xml
index 7cfb612..c923735 100644
--- a/tests/org.eclipse.graphiti.bot.tests/plugin.xml
+++ b/tests/org.eclipse.graphiti.bot.tests/plugin.xml
@@ -56,5 +56,17 @@
          </diagramType>
       </diagramTypeProvider>
    </extension>
-
+   <extension point="org.eclipse.graphiti.ui.diagramTypeProviders">
+      <diagramTypeProvider
+         class="org.eclipse.graphiti.bot.tests.DTPwithInvalidImageProvider"
+         description="Test for an invalid image provider"
+         id="org.eclipse.graphiti.bot.tests.dtpWithInvalidImageProvider"
+         name="Diagram Type Provider with invalid Image Provider">
+         <diagramType id="org.eclipse.graphiti.bot.tests.dtWithInvalidImageProvider">
+         </diagramType>
+         <!-- Define an invalid image provider to see that editor can be opened nevertheless -->
+         <imageProvider id="invalid">
+         </imageProvider>
+      </diagramTypeProvider>
+   </extension>
 </plugin>
diff --git a/tests/org.eclipse.graphiti.bot.tests/pom.xml b/tests/org.eclipse.graphiti.bot.tests/pom.xml
new file mode 100644
index 0000000..dcf1776
--- /dev/null
+++ b/tests/org.eclipse.graphiti.bot.tests/pom.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>SWTBot UI Tests</name>

+	<artifactId>org.eclipse.graphiti.bot.tests</artifactId>

+	<packaging>eclipse-test-plugin</packaging>

+

+	<properties>

+		<ui.test.vmargs>-Xmx512m -XX:MaxPermSize=256m</ui.test.vmargs>

+	</properties>

+

+	<profiles>

+		<profile>

+			<id>skip-ui-tests</id>

+			<activation>

+				<property>

+					<name>skip-ui-tests</name>

+				</property>

+			</activation>

+			<properties>

+				<maven.test.skip>true</maven.test.skip>

+			</properties>

+		</profile>

+	</profiles>

+

+	<build>

+		<plugins>

+			<plugin>

+				<groupId>org.eclipse.tycho</groupId>

+				<artifactId>target-platform-configuration</artifactId>

+				<version>${tycho-version}</version>

+				<configuration>

+					<dependency-resolution>

+						<extraRequirements>

+							<requirement>

+								<type>eclipse-feature</type>

+								<id>org.eclipse.sdk</id>

+								<versionRange>0.0.0</versionRange>

+							</requirement>

+							<requirement>

+								<type>eclipse-feature</type>

+								<id>org.eclipse.graphiti.sdk.plus.feature</id>

+								<versionRange>0.13.0</versionRange>

+							</requirement>

+							<requirement>

+								<type>eclipse-feature</type>

+								<id>org.eclipse.graphiti.feature.examples</id>

+								<versionRange>0.13.0</versionRange>

+							</requirement>

+							<requirement>

+								<type>eclipse-feature</type>

+								<id>org.eclipse.graphiti.feature.tools</id>

+								<versionRange>0.13.0</versionRange>

+							</requirement>

+						</extraRequirements>

+					</dependency-resolution>

+				</configuration>

+			</plugin>

+			<plugin>

+				<groupId>org.eclipse.tycho</groupId>

+				<artifactId>tycho-surefire-plugin</artifactId>

+				<version>${tycho-version}</version>

+				<configuration>

+					<testSuite>org.eclipse.graphiti.bot.tests</testSuite>

+					<testClass>org.eclipse.graphiti.bot.tests.GFTestSuite</testClass>

+					<useUIHarness>true</useUIHarness>

+					<!-- Set UIThread to true for UI Tests that do not use SWTBot -->

+					<useUIThread>false</useUIThread>

+					<product>org.eclipse.platform.ide</product>

+					<argLine>${ui.test.vmargs}</argLine>

+					<application>org.eclipse.ui.ide.workbench</application>

+				</configuration>

+			</plugin>

+		</plugins>

+	</build>

+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.graphiti.ui.tests/src/org/eclipse/graphiti/ui/tests/DTPwithInvalidImageProvider.java b/tests/org.eclipse.graphiti.bot.tests/src/org/eclipse/graphiti/bot/tests/DTPwithInvalidImageProvider.java
similarity index 86%
rename from tests/org.eclipse.graphiti.ui.tests/src/org/eclipse/graphiti/ui/tests/DTPwithInvalidImageProvider.java
rename to tests/org.eclipse.graphiti.bot.tests/src/org/eclipse/graphiti/bot/tests/DTPwithInvalidImageProvider.java
index 8f79de6..1c95b5b 100644
--- a/tests/org.eclipse.graphiti.ui.tests/src/org/eclipse/graphiti/ui/tests/DTPwithInvalidImageProvider.java
+++ b/tests/org.eclipse.graphiti.bot.tests/src/org/eclipse/graphiti/bot/tests/DTPwithInvalidImageProvider.java
@@ -8,12 +8,13 @@
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- *    mwenz - Bug 352709 - invalid image provider id crashes diagram editor 
+ *    mwenz - Bug 352709 - invalid image provider id crashes diagram editor
+ *    mwenz - Bug 421626 - Moved from ui.test to bot.test plugin
  *
  * </copyright>
  *
  *******************************************************************************/
-package org.eclipse.graphiti.ui.tests;
+package org.eclipse.graphiti.bot.tests;
 
 import org.eclipse.graphiti.dt.AbstractDiagramTypeProvider;
 
@@ -22,5 +23,4 @@
 	public DTPwithInvalidImageProvider() {
 		super();
 	}
-
 }
diff --git a/tests/org.eclipse.graphiti.bot.tests/src/org/eclipse/graphiti/bot/tests/ExtensionManagerTest.java b/tests/org.eclipse.graphiti.bot.tests/src/org/eclipse/graphiti/bot/tests/ExtensionManagerTest.java
index 1d0bdf6..0c9e5bd 100644
--- a/tests/org.eclipse.graphiti.bot.tests/src/org/eclipse/graphiti/bot/tests/ExtensionManagerTest.java
+++ b/tests/org.eclipse.graphiti.bot.tests/src/org/eclipse/graphiti/bot/tests/ExtensionManagerTest.java
@@ -54,7 +54,7 @@
 		// Create a diagram type provider which defines an invalid image provider. The DTP must be created nevertheless.
 		// See Bug 352709
 		IDiagramTypeProvider diagramTypeProvider = GraphitiUi.getExtensionManager().createDiagramTypeProvider(
-				"org.eclipse.graphiti.ui.tests.dtpWithInvalidImageProvider");
+				"org.eclipse.graphiti.bot.tests.dtpWithInvalidImageProvider");
 		assertNotNull("Diagram type Provider must not be null", diagramTypeProvider);
 	}
 	
diff --git a/tests/org.eclipse.graphiti.bot.tests/src/org/eclipse/graphiti/bot/tests/PluginWizardTests.java b/tests/org.eclipse.graphiti.bot.tests/src/org/eclipse/graphiti/bot/tests/PluginWizardTests.java
index e948835..26e2740 100644
--- a/tests/org.eclipse.graphiti.bot.tests/src/org/eclipse/graphiti/bot/tests/PluginWizardTests.java
+++ b/tests/org.eclipse.graphiti.bot.tests/src/org/eclipse/graphiti/bot/tests/PluginWizardTests.java
@@ -23,11 +23,7 @@
 import org.eclipse.pde.core.plugin.IPluginModelBase;
 import org.eclipse.pde.core.plugin.PluginRegistry;
 import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotPerspective;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
 import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTreeItem;
-import org.eclipse.ui.IPageLayout;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -63,12 +59,9 @@
 
 	@Test
 	public void testPluginWizardRun() throws Exception {
-		// Check problems view and remember number of errors before test
-		SWTBotView view = bot.viewById(IPageLayout.ID_PROBLEM_VIEW);
-		view.show();
-		SWTBotTree tree = view.bot().tree();
-		SWTBotTreeItem[] allItems = tree.getAllItems();
-		int numberOfErrorsBeforeTest = allItems.length;
+		// // Check problems view and remember number of errors before test
+		// int numberOfErrorsBeforeTest =
+		// extractAllItemsFromProblemsView().length;
 
 		// Start wizard
 		bot.menu("File").menu("New").menu("Project...").click();
@@ -111,17 +104,19 @@
 		}
 		assertTrue(newProject.exists());
 
-		// Check problems view for any errors
-		allItems = extractAllItemsFromProblemsView();
-		counter = 0;
-		while ((allItems == null || allItems.length != numberOfErrorsBeforeTest) && counter < 20) {
-			counter++;
-			Thread.sleep(1000);
-			allItems = extractAllItemsFromProblemsView();
-		}
-		assertTrue("Items found in problems view: " + allItems.toString()
-				+ ", expected were (number of errors before test: " + numberOfErrorsBeforeTest,
-				allItems.length == numberOfErrorsBeforeTest);
+		// // Check problems view for any errors
+		// SWTBotTreeItem[] allItems = extractAllItemsFromProblemsView();
+		// counter = 0;
+		// while ((allItems == null || allItems.length !=
+		// numberOfErrorsBeforeTest) && counter < 60) {
+		// counter++;
+		// Thread.sleep(1000);
+		// allItems = extractAllItemsFromProblemsView();
+		// }
+		// assertTrue("Items found in problems view: " + allItems.toString()
+		// + ", expected were (number of errors before test: " +
+		// numberOfErrorsBeforeTest,
+		// allItems.length == numberOfErrorsBeforeTest);
 
 		// Check that org.eclipse.ui is not part of the dependencies (no
 		// activator is generated), test for Bug 388211
@@ -139,12 +134,12 @@
 		}
 	}
 
-	private SWTBotTreeItem[] extractAllItemsFromProblemsView() {
-		SWTBotTreeItem[] allItems;
-		SWTBotView view = bot.viewById(IPageLayout.ID_PROBLEM_VIEW);
-		view.show();
-		SWTBotTree tree = view.bot().tree();
-		allItems = tree.getAllItems();
-		return allItems;
-	}
+	// private SWTBotTreeItem[] extractAllItemsFromProblemsView() {
+	// SWTBotTreeItem[] allItems;
+	// SWTBotView view = bot.viewById(IPageLayout.ID_PROBLEM_VIEW);
+	// view.show();
+	// SWTBotTree tree = view.bot().tree();
+	// allItems = tree.getAllItems();
+	// return allItems;
+	// }
 }
diff --git a/tests/org.eclipse.graphiti.tests/.classpath b/tests/org.eclipse.graphiti.tests/.classpath
index ad32c83..c72d35a 100644
--- a/tests/org.eclipse.graphiti.tests/.classpath
+++ b/tests/org.eclipse.graphiti.tests/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/tests/org.eclipse.graphiti.tests/.gitignore b/tests/org.eclipse.graphiti.tests/.gitignore
index 5e56e04..06ba672 100644
--- a/tests/org.eclipse.graphiti.tests/.gitignore
+++ b/tests/org.eclipse.graphiti.tests/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/tests/org.eclipse.graphiti.tests/.project b/tests/org.eclipse.graphiti.tests/.project
index a921d53..584a406 100644
--- a/tests/org.eclipse.graphiti.tests/.project
+++ b/tests/org.eclipse.graphiti.tests/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/tests/org.eclipse.graphiti.tests/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.graphiti.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/tests/org.eclipse.graphiti.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/tests/org.eclipse.graphiti.tests/.settings/org.eclipse.m2e.core.prefs b/tests/org.eclipse.graphiti.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/org.eclipse.graphiti.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/org.eclipse.graphiti.tests/pom.xml b/tests/org.eclipse.graphiti.tests/pom.xml
new file mode 100644
index 0000000..0c54cd5
--- /dev/null
+++ b/tests/org.eclipse.graphiti.tests/pom.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Core Unit Tests</name>

+	<artifactId>org.eclipse.graphiti.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>

+					<excludes>

+						<!-- test mojo matches TestProject be default and treats it as PojoTest -->

+						<exclude>**/Test*.class</exclude>

+					</excludes>

+					<useUIHarness>false</useUIHarness>

+					<useUIThread>false</useUIThread>

+				</configuration>

+			</plugin>

+		</plugins>

+	</build>

+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.graphiti.tests/src/org/eclipse/graphiti/tests/AllTests.java b/tests/org.eclipse.graphiti.tests/src/org/eclipse/graphiti/tests/AllTests.java
index 4b8c688..c4161ce 100644
--- a/tests/org.eclipse.graphiti.tests/src/org/eclipse/graphiti/tests/AllTests.java
+++ b/tests/org.eclipse.graphiti.tests/src/org/eclipse/graphiti/tests/AllTests.java
@@ -26,7 +26,7 @@
 import org.eclipse.graphiti.tests.cases.LinkServiceTest;
 import org.eclipse.graphiti.tests.cases.PeServiceTest;
 import org.eclipse.graphiti.tests.cases.ReconnectionTest;
-import org.eclipse.graphiti.tests.tb.DefaultToolBehaviorProviderTests;
+import org.eclipse.graphiti.tests.tb.DefaultToolBehaviorProviderTest;
 import org.eclipse.graphiti.tests.internal.services.impl.PeServiceImplTest;
 import org.junit.runner.RunWith;
 import org.junit.runners.Suite;
@@ -34,7 +34,7 @@
 @RunWith(Suite.class)
 @Suite.SuiteClasses({ DefaultFeaturesTest.class, GaServiceTest.class, LinkServiceTest.class, PeServiceTest.class,
 		CreateServiceTest.class, ReconnectionTest.class, FeatureParametersTest.class,
-		DefaultToolBehaviorProviderTests.class, PeServiceImplTest.class })
+		DefaultToolBehaviorProviderTest.class, PeServiceImplTest.class })
 public class AllTests {
 
 }
diff --git a/tests/org.eclipse.graphiti.tests/src/org/eclipse/graphiti/tests/tb/DefaultToolBehaviorProviderTests.java b/tests/org.eclipse.graphiti.tests/src/org/eclipse/graphiti/tests/tb/DefaultToolBehaviorProviderTest.java
similarity index 98%
rename from tests/org.eclipse.graphiti.tests/src/org/eclipse/graphiti/tests/tb/DefaultToolBehaviorProviderTests.java
rename to tests/org.eclipse.graphiti.tests/src/org/eclipse/graphiti/tests/tb/DefaultToolBehaviorProviderTest.java
index dadc3c7..919d829 100644
--- a/tests/org.eclipse.graphiti.tests/src/org/eclipse/graphiti/tests/tb/DefaultToolBehaviorProviderTests.java
+++ b/tests/org.eclipse.graphiti.tests/src/org/eclipse/graphiti/tests/tb/DefaultToolBehaviorProviderTest.java
@@ -29,7 +29,7 @@
 import org.eclipse.graphiti.tb.DefaultToolBehaviorProvider;
 import org.junit.Test;
 
-public class DefaultToolBehaviorProviderTests {
+public class DefaultToolBehaviorProviderTest {
 
 	private ICreateService createService = Graphiti.getCreateService();
 	private IGaService gaService = Graphiti.getGaService();
diff --git a/tests/org.eclipse.graphiti.testtool.ecore/.classpath b/tests/org.eclipse.graphiti.testtool.ecore/.classpath
index ad32c83..c72d35a 100644
--- a/tests/org.eclipse.graphiti.testtool.ecore/.classpath
+++ b/tests/org.eclipse.graphiti.testtool.ecore/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/tests/org.eclipse.graphiti.testtool.ecore/.gitignore b/tests/org.eclipse.graphiti.testtool.ecore/.gitignore
index 5e56e04..06ba672 100644
--- a/tests/org.eclipse.graphiti.testtool.ecore/.gitignore
+++ b/tests/org.eclipse.graphiti.testtool.ecore/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/tests/org.eclipse.graphiti.testtool.ecore/.project b/tests/org.eclipse.graphiti.testtool.ecore/.project
index de6cc4b..45df86e 100644
--- a/tests/org.eclipse.graphiti.testtool.ecore/.project
+++ b/tests/org.eclipse.graphiti.testtool.ecore/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/tests/org.eclipse.graphiti.testtool.ecore/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.graphiti.testtool.ecore/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/tests/org.eclipse.graphiti.testtool.ecore/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/tests/org.eclipse.graphiti.testtool.ecore/.settings/org.eclipse.m2e.core.prefs b/tests/org.eclipse.graphiti.testtool.ecore/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/org.eclipse.graphiti.testtool.ecore/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/org.eclipse.graphiti.testtool.ecore/pom.xml b/tests/org.eclipse.graphiti.testtool.ecore/pom.xml
new file mode 100644
index 0000000..a8c9d4d
--- /dev/null
+++ b/tests/org.eclipse.graphiti.testtool.ecore/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Testtool Ecore</name>

+	<artifactId>org.eclipse.graphiti.testtool.ecore</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.graphiti.testtool.sketch/.classpath b/tests/org.eclipse.graphiti.testtool.sketch/.classpath
index ad32c83..c72d35a 100644
--- a/tests/org.eclipse.graphiti.testtool.sketch/.classpath
+++ b/tests/org.eclipse.graphiti.testtool.sketch/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/tests/org.eclipse.graphiti.testtool.sketch/.gitignore b/tests/org.eclipse.graphiti.testtool.sketch/.gitignore
index 5e56e04..06ba672 100644
--- a/tests/org.eclipse.graphiti.testtool.sketch/.gitignore
+++ b/tests/org.eclipse.graphiti.testtool.sketch/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/tests/org.eclipse.graphiti.testtool.sketch/.project b/tests/org.eclipse.graphiti.testtool.sketch/.project
index 32ce1fb..611f365 100644
--- a/tests/org.eclipse.graphiti.testtool.sketch/.project
+++ b/tests/org.eclipse.graphiti.testtool.sketch/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/tests/org.eclipse.graphiti.testtool.sketch/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.graphiti.testtool.sketch/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/tests/org.eclipse.graphiti.testtool.sketch/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/tests/org.eclipse.graphiti.testtool.sketch/.settings/org.eclipse.m2e.core.prefs b/tests/org.eclipse.graphiti.testtool.sketch/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/org.eclipse.graphiti.testtool.sketch/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/org.eclipse.graphiti.testtool.sketch/build.properties b/tests/org.eclipse.graphiti.testtool.sketch/build.properties
index 775023a..11b07bd 100644
--- a/tests/org.eclipse.graphiti.testtool.sketch/build.properties
+++ b/tests/org.eclipse.graphiti.testtool.sketch/build.properties
@@ -18,7 +18,8 @@
                META-INF/,\
                plugin.properties,\
                plugin.xml,\
-               about.html
+               about.html,\
+               icons/
 jars.compile.order = .
 source.. = src/
 output.. = bin/
diff --git a/tests/org.eclipse.graphiti.testtool.sketch/pom.xml b/tests/org.eclipse.graphiti.testtool.sketch/pom.xml
new file mode 100644
index 0000000..78926c2
--- /dev/null
+++ b/tests/org.eclipse.graphiti.testtool.sketch/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>Testtool Sketch</name>

+	<artifactId>org.eclipse.graphiti.testtool.sketch</artifactId>

+	<packaging>eclipse-plugin</packaging>

+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.graphiti.ui.tests/.classpath b/tests/org.eclipse.graphiti.ui.tests/.classpath
index ad32c83..c72d35a 100644
--- a/tests/org.eclipse.graphiti.ui.tests/.classpath
+++ b/tests/org.eclipse.graphiti.ui.tests/.classpath
@@ -3,5 +3,5 @@
 	<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"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/tests/org.eclipse.graphiti.ui.tests/.gitignore b/tests/org.eclipse.graphiti.ui.tests/.gitignore
index 5e56e04..06ba672 100644
--- a/tests/org.eclipse.graphiti.ui.tests/.gitignore
+++ b/tests/org.eclipse.graphiti.ui.tests/.gitignore
@@ -1 +1,2 @@
 /bin
+/target/
diff --git a/tests/org.eclipse.graphiti.ui.tests/.project b/tests/org.eclipse.graphiti.ui.tests/.project
index 77d89da..fe97bea 100644
--- a/tests/org.eclipse.graphiti.ui.tests/.project
+++ b/tests/org.eclipse.graphiti.ui.tests/.project
@@ -25,8 +25,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
diff --git a/tests/org.eclipse.graphiti.ui.tests/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.graphiti.ui.tests/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0..0000000
--- a/tests/org.eclipse.graphiti.ui.tests/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/tests/org.eclipse.graphiti.ui.tests/.settings/org.eclipse.m2e.core.prefs b/tests/org.eclipse.graphiti.ui.tests/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/tests/org.eclipse.graphiti.ui.tests/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/tests/org.eclipse.graphiti.ui.tests/plugin.xml b/tests/org.eclipse.graphiti.ui.tests/plugin.xml
index df02d0c..304ca14 100644
--- a/tests/org.eclipse.graphiti.ui.tests/plugin.xml
+++ b/tests/org.eclipse.graphiti.ui.tests/plugin.xml
@@ -9,21 +9,4 @@
             type="dtWithInvalidImageProvider">
       </diagramType>
    </extension>
-   <extension
-         point="org.eclipse.graphiti.ui.diagramTypeProviders">
-      <diagramTypeProvider
-            class="org.eclipse.graphiti.ui.tests.DTPwithInvalidImageProvider"
-            description="Test for an invalid image provider"
-            id="org.eclipse.graphiti.ui.tests.dtpWithInvalidImageProvider"
-            name="Diagram Type Provider with invalid Image Provider">
-         <diagramType
-               id="org.eclipse.graphiti.ui.tests.dtWithInvalidImageProvider">
-         </diagramType>
-         <!-- Define an invalid image provider to see that editor can be opened nevertheless -->
-         <imageProvider
-               id="invalid">
-         </imageProvider>
-      </diagramTypeProvider>
-   </extension>
-
 </plugin>
diff --git a/tests/org.eclipse.graphiti.ui.tests/pom.xml b/tests/org.eclipse.graphiti.ui.tests/pom.xml
new file mode 100644
index 0000000..25837d7
--- /dev/null
+++ b/tests/org.eclipse.graphiti.ui.tests/pom.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

+	<modelVersion>4.0.0</modelVersion>

+

+	<parent>

+		<groupId>org.eclipse.graphiti</groupId>

+		<artifactId>parent</artifactId>

+		<version>0.14.0-SNAPSHOT</version>

+		<relativePath>../../parent</relativePath>

+	</parent>

+

+	<name>UI Unit Tests</name>

+	<artifactId>org.eclipse.graphiti.ui.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>

+					<excludes>

+						<!-- test mojo matches TestProject be default and treats it as PojoTest -->

+						<exclude>**/Test*.class</exclude>

+					</excludes>

+					<useUIHarness>false</useUIHarness>

+					<useUIThread>false</useUIThread>

+				</configuration>

+			</plugin>

+		</plugins>

+	</build>

+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.graphiti.ui.tests/src/org/eclipse/graphiti/ui/tests/MigrationServiceTest.java b/tests/org.eclipse.graphiti.ui.tests/src/org/eclipse/graphiti/ui/tests/MigrationServiceTest.java
index 6646b46..f8bd2e8 100644
--- a/tests/org.eclipse.graphiti.ui.tests/src/org/eclipse/graphiti/ui/tests/MigrationServiceTest.java
+++ b/tests/org.eclipse.graphiti.ui.tests/src/org/eclipse/graphiti/ui/tests/MigrationServiceTest.java
@@ -75,10 +75,10 @@
 	public void testMig070To080() {
 
 		// Load diagram file.
-		URL resource = getClass().getClassLoader().getResource("org/eclipse/graphiti/ui/tests/testUtil.diagram"); //$NON-NLS-1$
-		URI createFileURI = URI.createFileURI(resource.getFile());
+		URL url = getClass().getClassLoader().getResource("org/eclipse/graphiti/ui/tests/testUtil.diagram"); //$NON-NLS-1$
+		URI uri = URI.createURI(url.toString());
 		ResourceSet resourceSet = editingDomain.getResourceSet();
-		Resource diagramResource = resourceSet.getResource(createFileURI, true);
+		Resource diagramResource = resourceSet.getResource(uri, true);
 
 		final Diagram diagram = (Diagram) diagramResource.getEObject("/0"); //$NON-NLS-1$
 		assertTrue(diagram.getFonts().isEmpty());
@@ -103,10 +103,10 @@
 	public void testMig070To0802() {
 
 		// Load diagram file.
-		URL resource = getClass().getClassLoader().getResource("org/eclipse/graphiti/ui/tests/tut.diagram"); //$NON-NLS-1$
-		URI createFileURI = URI.createFileURI(resource.getFile());
+		URL url = getClass().getClassLoader().getResource("org/eclipse/graphiti/ui/tests/tut.diagram"); //$NON-NLS-1$
+		URI uri = URI.createURI(url.toString());
 		ResourceSet resourceSet = editingDomain.getResourceSet();
-		Resource diagramResource = resourceSet.getResource(createFileURI, true);
+		Resource diagramResource = resourceSet.getResource(uri, true);
 
 		final Diagram diagram = (Diagram) diagramResource.getEObject("/0"); //$NON-NLS-1$
 		assertTrue(diagram.getFonts().isEmpty());
diff --git a/tests/org.eclipse.graphiti.ui.tests/src/org/eclipse/graphiti/ui/tests/RollbackTest.java b/tests/org.eclipse.graphiti.ui.tests/src/org/eclipse/graphiti/ui/tests/RollbackTest.java
index f4c4d08..e3f745b 100644
--- a/tests/org.eclipse.graphiti.ui.tests/src/org/eclipse/graphiti/ui/tests/RollbackTest.java
+++ b/tests/org.eclipse.graphiti.ui.tests/src/org/eclipse/graphiti/ui/tests/RollbackTest.java
@@ -85,10 +85,10 @@
 	public void testRollback() {
 
 		// Load diagram file.
-		URL resource = getClass().getClassLoader().getResource("org/eclipse/graphiti/ui/tests/tut.diagram"); //$NON-NLS-1$
-		URI createFileURI = URI.createFileURI(resource.getFile());
+		URL url = getClass().getClassLoader().getResource("org/eclipse/graphiti/ui/tests/tut.diagram"); //$NON-NLS-1$
+		URI uri = URI.createURI(url.toString());
 		ResourceSet resourceSet = editingDomain.getResourceSet();
-		Resource diagramResource = resourceSet.getResource(createFileURI, true);
+		Resource diagramResource = resourceSet.getResource(uri, true);
 		final Diagram diagram = (Diagram) diagramResource.getEObject("/0"); //$NON-NLS-1$
 
 		// Prepare mocking.