diff --git a/EMFStoreECPTargetPlatform/EMFStoreECP.target b/EMFStoreECPTargetPlatform/EMFStoreECP.target
deleted file mode 100644
index 72c8df7..0000000
--- a/EMFStoreECPTargetPlatform/EMFStoreECP.target
+++ /dev/null
@@ -1,243 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.6"?>
-
-<target name="EMFStoreECP">
-<locations>
-<location includeAllPlatforms="false" includeMode="slicer" type="InstallableUnit">
-<unit id="org.unicase.target.deltapack361.feature.group" version="1.0.0.qualifier"/>
-<repository location="https://unicase.googlecode.com/svn/updatesite/DeltaPack"/>
-</location>
-<location includeAllPlatforms="false" includeMode="slicer" type="InstallableUnit">
-<unit id="EMFStoreECPTargetPlatform.feature.group" version="0.7.0"/>
-<repository location="https://unicase.googlecode.com/svn/updatesite/EMFStoreECPTargetPlatform"/>
-</location>
-<location includeAllPlatforms="false" includeMode="slicer" type="InstallableUnit">
-<unit id="edu.tum.cs.cope.feature.feature.group" version="0.2.15"/>
-<unit id="edu.tum.cs.cope.runtime.feature.feature.group" version="0.2.15"/>
-<repository location="http://cope.in.tum.de/update-site/"/>
-</location>
-</locations>
-<includeBundles>
-<plugin id="org.eclipse.ecf.provider.filetransfer.ssl"/>
-<plugin id="org.eclipse.ocl.source"/>
-<plugin id="org.eclipse.ui.forms.source"/>
-<plugin id="org.codehaus.groovy.eclipse.refactoring"/>
-<plugin id="org.eclipse.osgi.services.source"/>
-<plugin id="org.eclipse.emf.ecore.change"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.action.source"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.core.source"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.services"/>
-<plugin id="org.eclipse.equinox.preferences"/>
-<plugin id="org.eclipse.ui.console.source"/>
-<plugin id="edu.tum.cs.cope.declaration.editor"/>
-<plugin id="org.eclipse.equinox.security"/>
-<plugin id="org.eclipse.ui.workbench.source"/>
-<plugin id="org.codehaus.groovy.eclipse.codebrowsing"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.core"/>
-<plugin id="org.eclipse.gmf.runtime.common.core"/>
-<plugin id="org.eclipse.team.core.source"/>
-<plugin id="org.eclipse.ant.core"/>
-<plugin id="lpg.runtime.java"/>
-<plugin id="org.eclipse.gef.source"/>
-<plugin id="org.eclipse.ui.navigator.source"/>
-<plugin id="org.codehaus.groovy.eclipse"/>
-<plugin id="org.eclipse.equinox.launcher.win32.win32.x86_64"/>
-<plugin id="org.eclipse.draw2d"/>
-<plugin id="org.eclipse.emf.edit.ui.source"/>
-<plugin id="org.codehaus.groovy.eclipse.core.help"/>
-<plugin id="org.eclipse.core.databinding.observable"/>
-<plugin id="org.apache.commons.logging.source"/>
-<plugin id="org.eclipse.gmf.runtime.emf.commands.core"/>
-<plugin id="org.eclipse.core.runtime.source"/>
-<plugin id="org.eclipse.jface.text.source"/>
-<plugin id="org.eclipse.jface"/>
-<plugin id="edu.tum.cs.cope.history.reconstruction"/>
-<plugin id="edu.tum.cs.cope.migration.ui"/>
-<plugin id="org.eclipse.core.runtime.compatibility.registry.source"/>
-<plugin id="org.eclipse.core.databinding.observable.source"/>
-<plugin id="org.eclipse.equinox.app"/>
-<plugin id="org.eclipse.emf.transaction.ui"/>
-<plugin id="org.eclipse.core.jobs"/>
-<plugin id="org.eclipse.help.source"/>
-<plugin id="com.ibm.icu"/>
-<plugin id="edu.tum.cs.cope.declaration.edit"/>
-<plugin id="org.eclipse.equinox.registry"/>
-<plugin id="org.eclipse.gmf.runtime.draw2d.ui"/>
-<plugin id="org.eclipse.gmf.runtime.emf.type.core.source"/>
-<plugin id="org.eclipse.emf.edit.ui"/>
-<plugin id="org.eclipse.gmf.runtime.emf.ui.source"/>
-<plugin id="org.eclipse.swt.win32.win32.x86_64.source"/>
-<plugin id="org.eclipse.equinox.registry.source"/>
-<plugin id="org.junit.source"/>
-<plugin id="org.eclipse.emf.common"/>
-<plugin id="org.apache.ant.source"/>
-<plugin id="org.eclipse.core.expressions"/>
-<plugin id="org.eclipse.ui.ide"/>
-<plugin id="org.eclipse.ui.views.properties.tabbed"/>
-<plugin id="org.eclipse.core.runtime"/>
-<plugin id="org.eclipse.core.variables"/>
-<plugin id="org.eclipse.ecf.ssl.source"/>
-<plugin id="org.eclipse.gmf.runtime.gef.ui"/>
-<plugin id="org.eclipse.core.contenttype"/>
-<plugin id="edu.tum.cs.cope.history.recorder"/>
-<plugin id="org.eclipse.gef"/>
-<plugin id="org.eclipse.help"/>
-<plugin id="org.eclipse.core.databinding"/>
-<plugin id="org.eclipse.ant.core.source"/>
-<plugin id="edu.tum.cs.cope.declaration.parser"/>
-<plugin id="org.eclipse.core.runtime.compatibility.auth"/>
-<plugin id="org.eclipse.ui.navigator"/>
-<plugin id="org.eclipse.gmf.runtime.emf.commands.core.source"/>
-<plugin id="org.eclipse.equinox.app.source"/>
-<plugin id="org.eclipse.core.expressions.source"/>
-<plugin id="org.eclipse.equinox.common.source"/>
-<plugin id="org.eclipse.emf.transaction.source"/>
-<plugin id="org.eclipse.draw2d.source"/>
-<plugin id="org.eclipse.core.commands"/>
-<plugin id="org.eclipse.ui.views.source"/>
-<plugin id="org.eclipse.ui.ide.application"/>
-<plugin id="org.eclipse.ecf.provider.filetransfer"/>
-<plugin id="org.eclipse.gmf.runtime.common.core.source"/>
-<plugin id="org.eclipse.emf.ecore"/>
-<plugin id="org.eclipse.emf.databinding"/>
-<plugin id="org.eclipse.gmf.runtime.emf.core.source"/>
-<plugin id="org.eclipse.core.commands.source"/>
-<plugin id="org.eclipse.emf.edit"/>
-<plugin id="org.eclipse.osgi.source"/>
-<plugin id="org.junit4"/>
-<plugin id="org.eclipse.ecf.ssl"/>
-<plugin id="org.eclipse.equinox.p2.metadata.repository"/>
-<plugin id="edu.tum.cs.cope.migration.test"/>
-<plugin id="org.eclipse.equinox.security.source"/>
-<plugin id="org.eclipse.emf.databinding.edit.source"/>
-<plugin id="edu.tum.cs.cope.declaration" version="0.2.15"/>
-<plugin id="org.eclipse.ui.workbench"/>
-<plugin id="org.eclipse.ecf.identity"/>
-<plugin id="org.eclipse.core.runtime.compatibility.auth.source"/>
-<plugin id="edu.tum.cs.cope.migration.execution" version="0.2.15"/>
-<plugin id="org.eclipse.equinox.p2.core.source"/>
-<plugin id="org.eclipse.emf.validation"/>
-<plugin id="org.eclipse.core.variables.source"/>
-<plugin id="org.eclipse.equinox.p2.repository.source"/>
-<plugin id="org.eclipse.emf.ecore.edit"/>
-<plugin id="org.eclipse.ocl.ecore"/>
-<plugin id="org.eclipse.emf.ecore.xmi.source"/>
-<plugin id="javax.servlet.source"/>
-<plugin id="org.eclipse.gmf.runtime.emf.ui"/>
-<plugin id="com.ibm.icu.source"/>
-<plugin id="org.eclipse.swt.win32.win32.x86_64"/>
-<plugin id="org.eclipse.equinox.concurrent"/>
-<plugin id="org.eclipse.ecf.provider.filetransfer.source"/>
-<plugin id="org.eclipse.update.core.win32"/>
-<plugin id="org.eclipse.core.resources.source"/>
-<plugin id="org.apache.commons.codec.source"/>
-<plugin id="org.eclipse.jface.databinding"/>
-<plugin id="org.eclipse.ecf"/>
-<plugin id="edu.tum.cs.cope.common" version="0.2.15"/>
-<plugin id="javax.servlet"/>
-<plugin id="org.eclipse.compare.win32"/>
-<plugin id="org.eclipse.gmf.runtime.draw2d.ui.render"/>
-<plugin id="org.eclipse.ui"/>
-<plugin id="org.eclipse.gmf.runtime.draw2d.ui.render.source"/>
-<plugin id="org.eclipse.equinox.p2.metadata"/>
-<plugin id="org.eclipse.gmf.runtime.emf.core"/>
-<plugin id="org.eclipse.ui.views.properties.tabbed.source"/>
-<plugin id="org.eclipse.core.net.win32.x86_64"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.ui.source"/>
-<plugin id="org.eclipse.core.databinding.property.source"/>
-<plugin id="org.eclipse.equinox.p2.metadata.source"/>
-<plugin id="org.eclipse.osgi"/>
-<plugin id="edu.tum.cs.cope.common.ui"/>
-<plugin id="org.eclipse.text.source"/>
-<plugin id="org.eclipse.equinox.p2.metadata.repository.source"/>
-<plugin id="org.eclipse.ui.win32.source"/>
-<plugin id="org.eclipse.core.filesystem"/>
-<plugin id="org.eclipse.compare.win32.source"/>
-<plugin id="org.eclipse.equinox.p2.engine.source"/>
-<plugin id="org.codehaus.groovy.eclipse.ui"/>
-<plugin id="org.apache.ant"/>
-<plugin id="org.codehaus.groovy.eclipse.cstviewer"/>
-<plugin id="org.codehaus.groovy"/>
-<plugin id="org.eclipse.ui.forms"/>
-<plugin id="org.eclipse.ecf.identity.source"/>
-<plugin id="org.eclipse.core.resources"/>
-<plugin id="org.codehaus.groovy.eclipse.codeassist"/>
-<plugin id="org.eclipse.emf.validation.source"/>
-<plugin id="org.eclipse.emf.edit.source"/>
-<plugin id="org.eclipse.core.databinding.property"/>
-<plugin id="org.eclipse.core.contenttype.source"/>
-<plugin id="org.eclipse.core.databinding.source"/>
-<plugin id="org.eclipse.ecf.filetransfer"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.source"/>
-<plugin id="org.eclipse.jface.source"/>
-<plugin id="org.eclipse.emf.databinding.edit"/>
-<plugin id="edu.tum.cs.cope.declaration.registry" version="0.2.15"/>
-<plugin id="org.eclipse.jface.databinding.source"/>
-<plugin id="org.eclipse.gmf.runtime.emf.type.core"/>
-<plugin id="org.eclipse.equinox.preferences.source"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.ui"/>
-<plugin id="org.apache.commons.codec"/>
-<plugin id="org.eclipse.ecf.provider.filetransfer.ssl.source"/>
-<plugin id="org.eclipse.gmf.runtime.emf.clipboard.core.source"/>
-<plugin id="org.eclipse.update.core.win32.source"/>
-<plugin id="org.eclipse.ui.ide.source"/>
-<plugin id="org.eclipse.emf.ecore.edit.source"/>
-<plugin id="org.eclipse.emf.common.ui.source"/>
-<plugin id="org.eclipse.core.runtime.compatibility.registry"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui"/>
-<plugin id="org.eclipse.swt"/>
-<plugin id="org.codehaus.groovy.eclipse.codeassist.completion"/>
-<plugin id="org.eclipse.jface.text"/>
-<plugin id="org.eclipse.emf.transaction"/>
-<plugin id="org.eclipse.ui.views"/>
-<plugin id="org.eclipse.core.jobs.source"/>
-<plugin id="org.eclipse.ui.win32"/>
-<plugin id="org.eclipse.emf.transaction.ui.source"/>
-<plugin id="edu.tum.cs.cope.history"/>
-<plugin id="org.eclipse.ui.source"/>
-<plugin id="org.eclipse.equinox.p2.core"/>
-<plugin id="org.eclipse.emf.ecore.change.source"/>
-<plugin id="org.eclipse.core.net.source"/>
-<plugin id="org.eclipse.ecf.source"/>
-<plugin id="org.eclipse.emf.common.source"/>
-<plugin id="org.eclipse.core.filesystem.win32.x86_64"/>
-<plugin id="org.eclipse.team.core"/>
-<plugin id="org.apache.commons.logging"/>
-<plugin id="edu.tum.cs.cope.migration" version="0.2.15"/>
-<plugin id="org.eclipse.gmf.runtime.gef.ui.source"/>
-<plugin id="org.eclipse.emf.databinding.source"/>
-<plugin id="org.hamcrest.core.source"/>
-<plugin id="org.eclipse.core.net"/>
-<plugin id="org.eclipse.equinox.p2.repository"/>
-<plugin id="org.codehaus.groovy.eclipse.junit"/>
-<plugin id="org.eclipse.ui.console"/>
-<plugin id="org.eclipse.ocl.ecore.source"/>
-<plugin id="org.eclipse.emf.workspace"/>
-<plugin id="org.eclipse.gmf.runtime.emf.clipboard.core"/>
-<plugin id="org.eclipse.osgi.services"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.services.source"/>
-<plugin id="org.eclipse.ui.workbench.texteditor.source"/>
-<plugin id="org.eclipse.ocl"/>
-<plugin id="org.junit"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.action"/>
-<plugin id="org.hamcrest.core"/>
-<plugin id="org.eclipse.emf.ecore.source"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.services.action.source"/>
-<plugin id="org.eclipse.text"/>
-<plugin id="org.eclipse.core.filesystem.source"/>
-<plugin id="org.eclipse.gmf.runtime.notation"/>
-<plugin id="org.eclipse.equinox.common"/>
-<plugin id="org.eclipse.gmf.runtime.draw2d.ui.source"/>
-<plugin id="org.eclipse.ui.workbench.texteditor"/>
-<plugin id="org.codehaus.groovy.eclipse.astviews"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.services.action"/>
-<plugin id="org.eclipse.equinox.p2.engine"/>
-<plugin id="org.eclipse.emf.common.ui"/>
-<plugin id="org.eclipse.emf.ecore.xmi"/>
-<plugin id="org.eclipse.compare.core.source"/>
-<plugin id="org.eclipse.compare.core"/>
-<plugin id="org.codehaus.groovy.eclipse.collections"/>
-<plugin id="org.eclipse.ecf.filetransfer.source"/>
-<plugin id="org.eclipse.emf.workspace.source"/>
-</includeBundles>
-</target>
diff --git a/EMFStoreECPTargetPlatform/EMFStoreECPWithoutDeltaPack.target b/EMFStoreECPTargetPlatform/EMFStoreECPWithoutDeltaPack.target
deleted file mode 100644
index aafffaf..0000000
--- a/EMFStoreECPTargetPlatform/EMFStoreECPWithoutDeltaPack.target
+++ /dev/null
@@ -1,318 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.6"?>
-
-<target name="EMFStore Target Platform without DeltaPack">
-<locations>
-<location configuration="/C:/Users/User/.eclipse/org.eclipse.platform_3.6.1_1709980481/configuration/" path="${eclipse_home}" type="Profile"/>
-</locations>
-<includeBundles>
-<plugin id="org.apache.commons.lang"/>
-<plugin id="org.eclipse.osgi"/>
-<plugin id="org.eclipse.core.commands"/>
-<plugin id="org.eclipse.core.filesystem.win32.x86_64"/>
-<plugin id="org.eclipse.ecf.filetransfer"/>
-<plugin id="org.eclipse.core.filesystem.source"/>
-<plugin id="org.eclipse.equinox.p2.repository.source"/>
-<plugin id="org.eclipse.equinox.p2.updatesite"/>
-<plugin id="org.eclipse.jdt.compiler.tool.source"/>
-<plugin id="org.eclipse.jface"/>
-<plugin id="org.eclipse.equinox.p2.metadata.source"/>
-<plugin id="org.eclipse.emf.databinding.source"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.ui.resources.editor"/>
-<plugin id="org.eclipse.compare"/>
-<plugin id="org.eclipse.gmf.runtime.emf.ui.properties.source"/>
-<plugin id="org.eclipse.ecf.provider.filetransfer.source"/>
-<plugin id="org.eclipse.mylyn.monitor.core"/>
-<plugin id="org.eclipse.core.databinding.observable.source"/>
-<plugin id="org.eclipse.compare.core.source"/>
-<plugin id="org.eclipse.ui.win32.source"/>
-<plugin id="org.eclipse.core.runtime.compatibility.auth.source"/>
-<plugin id="com.ibm.icu"/>
-<plugin id="org.eclipse.gmf.runtime.draw2d.ui.source"/>
-<plugin id="org.eclipse.equinox.simpleconfigurator.source"/>
-<plugin id="org.eclipse.mylyn.wikitext.ui"/>
-<plugin id="org.eclipse.equinox.frameworkadmin"/>
-<plugin id="org.eclipse.emf.edit.source"/>
-<plugin id="org.eclipse.gmf.runtime.emf.commands.core"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.services.properties.source"/>
-<plugin id="org.eclipse.debug.core"/>
-<plugin id="org.eclipse.core.runtime.source"/>
-<plugin id="org.junit" version="3.8.2.v3_8_2_v20100427-1100"/>
-<plugin id="org.eclipse.ecf.ssl.source"/>
-<plugin id="org.eclipse.mylyn.commons.ui"/>
-<plugin id="org.eclipse.compare.win32.source"/>
-<plugin id="org.eclipse.jdt.compiler.tool"/>
-<plugin id="org.eclipse.gmf.runtime.notation"/>
-<plugin id="org.eclipse.jface.databinding"/>
-<plugin id="org.eclipse.core.runtime"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.services"/>
-<plugin id="org.eclipse.jdt.launching.source"/>
-<plugin id="org.eclipse.ui.workbench"/>
-<plugin id="edu.tum.cs.cope.declaration"/>
-<plugin id="org.eclipse.ui.navigator.source"/>
-<plugin id="org.eclipse.debug.core.source"/>
-<plugin id="org.eclipse.ecf.provider.filetransfer.ssl.source"/>
-<plugin id="org.eclipse.ui.ide.application"/>
-<plugin id="org.eclipse.ltk.ui.refactoring"/>
-<plugin id="org.eclipse.core.databinding.property"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.ui.properties"/>
-<plugin id="org.eclipse.update.configurator"/>
-<plugin id="org.eclipse.equinox.p2.jarprocessor"/>
-<plugin id="org.eclipse.gmf.runtime.draw2d.ui.render"/>
-<plugin id="org.junit" version="4.8.1.v4_8_1_v20100427-1100"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.ui.actions"/>
-<plugin id="org.apache.commons.codec" version="1.3.0.v20100518-1140"/>
-<plugin id="org.eclipse.equinox.security.source"/>
-<plugin id="org.eclipse.ui.workbench.texteditor.source"/>
-<plugin id="org.eclipse.core.filesystem"/>
-<plugin id="org.eclipse.ui.workbench.texteditor"/>
-<plugin id="org.junit4"/>
-<plugin id="org.eclipse.jdt.compiler.apt.source"/>
-<plugin id="org.eclipse.equinox.security"/>
-<plugin id="org.eclipse.ecf.identity"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.action.source"/>
-<plugin id="org.eclipse.jdt.launching"/>
-<plugin id="org.eclipse.team.ui.source"/>
-<plugin id="org.eclipse.core.databinding.observable"/>
-<plugin id="org.eclipse.mylyn.tasks.ui"/>
-<plugin id="org.eclipse.jdt.core"/>
-<plugin id="org.eclipse.gmf.runtime.emf.type.core"/>
-<plugin id="org.hamcrest.core"/>
-<plugin id="org.eclipse.core.databinding"/>
-<plugin id="org.eclipse.text.source"/>
-<plugin id="org.eclipse.equinox.p2.jarprocessor.source"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.action"/>
-<plugin id="org.eclipse.gmf.runtime.gef.ui.source"/>
-<plugin id="org.eclipse.equinox.app.source"/>
-<plugin id="org.eclipse.ui.forms"/>
-<plugin id="org.eclipse.team.ui"/>
-<plugin id="org.eclipse.core.runtime.compatibility.source"/>
-<plugin id="org.sat4j.pb"/>
-<plugin id="org.eclipse.ocl.source"/>
-<plugin id="org.eclipse.text"/>
-<plugin id="org.eclipse.core.runtime.compatibility"/>
-<plugin id="org.eclipse.ui.win32"/>
-<plugin id="org.eclipse.ecf.identity.source"/>
-<plugin id="org.eclipse.gmf.runtime.emf.commands.core.source"/>
-<plugin id="org.eclipse.equinox.p2.repository.tools"/>
-<plugin id="org.eclipse.gmf.runtime.emf.ui.properties"/>
-<plugin id="org.eclipse.osgi.services.source"/>
-<plugin id="javax.servlet"/>
-<plugin id="org.eclipse.ecf.provider.filetransfer"/>
-<plugin id="org.eclipse.emf.edit"/>
-<plugin id="org.eclipse.jface.source"/>
-<plugin id="org.eclipse.equinox.p2.repository"/>
-<plugin id="org.eclipse.equinox.p2.director.app"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.source"/>
-<plugin id="org.eclipse.equinox.p2.director.source"/>
-<plugin id="org.eclipse.equinox.p2.publisher.source"/>
-<plugin id="org.eclipse.ecf.source"/>
-<plugin id="lpg.runtime.java"/>
-<plugin id="org.eclipse.mylyn.team.ui"/>
-<plugin id="org.eclipse.equinox.preferences.source"/>
-<plugin id="org.eclipse.emf.transaction"/>
-<plugin id="org.eclipse.core.expressions"/>
-<plugin id="org.eclipse.ui.editors"/>
-<plugin id="org.junit.source" version="4.8.1.v4_8_1_v20100427-1100"/>
-<plugin id="org.eclipse.update.configurator.source"/>
-<plugin id="org.eclipse.jface.databinding.source"/>
-<plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.services.source"/>
-<plugin id="org.eclipse.jdt.debug.source"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.ui.source"/>
-<plugin id="org.eclipse.gmf.runtime.emf.core"/>
-<plugin id="org.eclipse.emf.ecore.edit.source"/>
-<plugin id="org.eclipse.ecf.ssl"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.core.source"/>
-<plugin id="org.eclipse.ui.editors.source"/>
-<plugin id="org.eclipse.emf.common"/>
-<plugin id="org.eclipse.mylyn.context.core"/>
-<plugin id="org.eclipse.core.commands.source"/>
-<plugin id="org.eclipse.ui.ide.source"/>
-<plugin id="org.eclipse.gef.source"/>
-<plugin id="org.eclipse.emf.ecore.xmi.source"/>
-<plugin id="org.eclipse.net4j.util"/>
-<plugin id="org.eclipse.emf.workspace"/>
-<plugin id="org.eclipse.team.core.source"/>
-<plugin id="org.eclipse.equinox.p2.director.app.source"/>
-<plugin id="org.eclipse.equinox.common"/>
-<plugin id="org.eclipse.update.core"/>
-<plugin id="org.eclipse.mylyn.commons.net"/>
-<plugin id="org.apache.ant"/>
-<plugin id="org.eclipse.core.databinding.property.source"/>
-<plugin id="org.eclipse.mylyn.tasks.core"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui"/>
-<plugin id="org.eclipse.gmf.runtime.draw2d.ui"/>
-<plugin id="org.eclipse.jface.text.source"/>
-<plugin id="org.eclipse.ui.navigator"/>
-<plugin id="org.eclipse.gmf.runtime.emf.ui.source"/>
-<plugin id="org.eclipse.equinox.p2.repository.tools.source"/>
-<plugin id="edu.tum.cs.cope.common"/>
-<plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
-<plugin id="org.eclipse.pde.build.source"/>
-<plugin id="org.codehaus.groovy"/>
-<plugin id="org.eclipse.core.variables"/>
-<plugin id="org.eclipse.gmf.runtime.draw2d.ui.render.source"/>
-<plugin id="org.eclipse.ui.navigator.resources"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.ui.resources.editor.source"/>
-<plugin id="org.eclipse.equinox.p2.metadata.repository"/>
-<plugin id="org.eclipse.equinox.common.source"/>
-<plugin id="org.eclipse.emf.validation.source"/>
-<plugin id="org.eclipse.core.net.source"/>
-<plugin id="org.eclipse.swt"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.core"/>
-<plugin id="org.eclipse.ui.views.source"/>
-<plugin id="org.eclipse.core.resources.source"/>
-<plugin id="org.apache.commons.logging" version="1.1.1.v201005080502"/>
-<plugin id="edu.tum.cs.cope.migration.execution"/>
-<plugin id="org.eclipse.osgi.services"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.ui.properties.source"/>
-<plugin id="org.eclipse.equinox.registry.source"/>
-<plugin id="org.eclipse.emf.common.ui.source"/>
-<plugin id="org.eclipse.emf.common.source"/>
-<plugin id="org.eclipse.equinox.p2.artifact.repository"/>
-<plugin id="org.eclipse.equinox.app"/>
-<plugin id="org.eclipse.ui.console.source"/>
-<plugin id="org.eclipse.ecf.filetransfer.source"/>
-<plugin id="org.eclipse.core.runtime.compatibility.auth"/>
-<plugin id="org.eclipse.core.databinding.source"/>
-<plugin id="org.eclipse.core.variables.source"/>
-<plugin id="org.eclipse.ant.core"/>
-<plugin id="org.eclipse.equinox.p2.engine.source"/>
-<plugin id="org.eclipse.gmf.runtime.emf.type.core.source"/>
-<plugin id="org.eclipse.ui.ide"/>
-<plugin id="org.apache.commons.httpclient.source"/>
-<plugin id="org.eclipse.swt.win32.win32.x86_64.source"/>
-<plugin id="org.hamcrest.core.source"/>
-<plugin id="org.eclipse.ui.views.properties.tabbed.source"/>
-<plugin id="org.apache.commons.httpclient" version="3.1.0.v201005080502"/>
-<plugin id="org.eclipse.equinox.p2.garbagecollector.source"/>
-<plugin id="org.junit.source" version="3.8.2.v3_8_2_v20100427-1100"/>
-<plugin id="org.eclipse.ocl.ecore.source"/>
-<plugin id="org.eclipse.gmf.runtime.emf.clipboard.core.source"/>
-<plugin id="org.eclipse.equinox.p2.garbagecollector"/>
-<plugin id="org.eclipse.ui.forms.source"/>
-<plugin id="org.apache.ant.source"/>
-<plugin id="org.eclipse.ui.browser"/>
-<plugin id="org.eclipse.emf.ecore"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.ui.providers.source"/>
-<plugin id="org.eclipse.equinox.frameworkadmin.equinox.source"/>
-<plugin id="org.eclipse.emf.workspace.source"/>
-<plugin id="org.eclipse.equinox.frameworkadmin.source"/>
-<plugin id="org.eclipse.ui"/>
-<plugin id="org.eclipse.pde.core"/>
-<plugin id="org.eclipse.equinox.launcher.win32.win32.x86_64"/>
-<plugin id="org.eclipse.compare.win32"/>
-<plugin id="org.eclipse.ecf.provider.filetransfer.ssl"/>
-<plugin id="org.eclipse.emf.transaction.source"/>
-<plugin id="org.eclipse.mylyn.commons.core"/>
-<plugin id="org.eclipse.ui.source"/>
-<plugin id="edu.tum.cs.cope.declaration.registry"/>
-<plugin id="org.eclipse.ui.workbench.source"/>
-<plugin id="org.eclipse.core.resources"/>
-<plugin id="org.eclipse.equinox.p2.engine"/>
-<plugin id="org.eclipse.compare.source"/>
-<plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
-<plugin id="org.eclipse.ui.console"/>
-<plugin id="org.eclipse.equinox.p2.core"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.ui.actions.source"/>
-<plugin id="org.eclipse.gmf.runtime.gef.ui"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.ui"/>
-<plugin id="org.eclipse.help.source"/>
-<plugin id="org.eclipse.core.net"/>
-<plugin id="javax.servlet.source"/>
-<plugin id="org.eclipse.pde.build"/>
-<plugin id="org.eclipse.gmf.runtime.common.core.source"/>
-<plugin id="org.apache.commons.codec.source"/>
-<plugin id="org.eclipse.emf.databinding.edit.source"/>
-<plugin id="org.eclipse.gmf.runtime.common.core"/>
-<plugin id="org.eclipse.emf.ecore.source"/>
-<plugin id="org.eclipse.emf.databinding.edit"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.services.action"/>
-<plugin id="org.eclipse.mylyn.wikitext.core"/>
-<plugin id="org.eclipse.ltk.ui.refactoring.source"/>
-<plugin id="org.sat4j.core"/>
-<plugin id="org.eclipse.mylyn.monitor.ui"/>
-<plugin id="org.eclipse.ecf"/>
-<plugin id="org.eclipse.team.core"/>
-<plugin id="org.eclipse.equinox.p2.metadata"/>
-<plugin id="org.eclipse.equinox.p2.director"/>
-<plugin id="org.eclipse.emf.edit.ui"/>
-<plugin id="org.eclipse.gmf.runtime.emf.core.source"/>
-<plugin id="org.eclipse.emf.ecore.change.source"/>
-<plugin id="org.eclipse.equinox.http.registry.source"/>
-<plugin id="org.eclipse.ui.views.properties.tabbed"/>
-<plugin id="org.apache.commons.codec" version="1.3.0.v20100106-1700"/>
-<plugin id="org.eclipse.compare.core"/>
-<plugin id="org.eclipse.jdt.debug"/>
-<plugin id="org.eclipse.emf.transaction.ui"/>
-<plugin id="org.eclipse.update.core.source"/>
-<plugin id="org.eclipse.equinox.p2.publisher"/>
-<plugin id="org.eclipse.equinox.p2.artifact.repository.source"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.services.action.source"/>
-<plugin id="org.eclipse.equinox.p2.touchpoint.eclipse.source"/>
-<plugin id="org.eclipse.core.jobs.source"/>
-<plugin id="org.eclipse.mylyn.resources.ui"/>
-<plugin id="org.eclipse.equinox.p2.updatesite.source"/>
-<plugin id="org.eclipse.gmf.runtime.diagram.ui.providers"/>
-<plugin id="org.eclipse.gmf.runtime.common.ui.services.properties"/>
-<plugin id="org.eclipse.emf.ecore.xmi"/>
-<plugin id="org.eclipse.core.runtime.compatibility.registry.source"/>
-<plugin id="org.eclipse.emf.edit.ui.source"/>
-<plugin id="org.eclipse.core.net.win32.x86_64"/>
-<plugin id="org.eclipse.ui.navigator.resources.source"/>
-<plugin id="org.eclipse.core.filebuffers"/>
-<plugin id="org.eclipse.ocl"/>
-<plugin id="org.eclipse.mylyn.context.ui"/>
-<plugin id="org.eclipse.core.expressions.source"/>
-<plugin id="org.eclipse.ui.browser.source"/>
-<plugin id="org.eclipse.equinox.p2.core.source"/>
-<plugin id="org.eclipse.draw2d"/>
-<plugin id="org.eclipse.gef"/>
-<plugin id="org.eclipse.ant.core.source"/>
-<plugin id="org.eclipse.emf.ecore.edit"/>
-<plugin id="com.ibm.icu.source"/>
-<plugin id="org.eclipse.equinox.http.registry"/>
-<plugin id="org.eclipse.osgi.source"/>
-<plugin id="org.eclipse.jface.text"/>
-<plugin id="org.eclipse.ui.views"/>
-<plugin id="org.eclipse.core.filebuffers.source"/>
-<plugin id="org.eclipse.core.contenttype"/>
-<plugin id="org.eclipse.equinox.simpleconfigurator.manipulator.source"/>
-<plugin id="org.eclipse.ltk.core.refactoring.source"/>
-<plugin id="org.eclipse.emf.validation"/>
-<plugin id="org.eclipse.equinox.registry"/>
-<plugin id="org.eclipse.equinox.preferences"/>
-<plugin id="org.eclipse.emf.ecore.change"/>
-<plugin id="org.eclipse.core.contenttype.source"/>
-<plugin id="org.eclipse.ocl.ecore"/>
-<plugin id="org.eclipse.pde.core.source"/>
-<plugin id="org.eclipse.core.runtime.compatibility.registry"/>
-<plugin id="org.eclipse.draw2d.source"/>
-<plugin id="org.apache.commons.logging.source"/>
-<plugin id="org.apache.commons.logging" version="1.0.4.v200904062259"/>
-<plugin id="org.eclipse.update.core.win32"/>
-<plugin id="org.eclipse.emf.transaction.ui.source"/>
-<plugin id="org.eclipse.jdt.compiler.apt"/>
-<plugin id="org.eclipse.ltk.core.refactoring"/>
-<plugin id="org.eclipse.emf.databinding"/>
-<plugin id="org.eclipse.emf.common.ui"/>
-<plugin id="org.eclipse.equinox.concurrent"/>
-<plugin id="org.eclipse.equinox.simpleconfigurator"/>
-<plugin id="org.eclipse.gmf.runtime.emf.ui"/>
-<plugin id="org.eclipse.jdt.core.source"/>
-<plugin id="org.eclipse.swt.win32.win32.x86_64"/>
-<plugin id="org.eclipse.equinox.p2.metadata.repository.source"/>
-<plugin id="org.eclipse.gmf.runtime.emf.clipboard.core"/>
-<plugin id="org.apache.commons.logging" version="1.0.4.v201005080501"/>
-<plugin id="org.apache.commons.httpclient" version="3.1.0.v20080605-1935"/>
-<plugin id="org.eclipse.update.core.win32.source"/>
-<plugin id="edu.tum.cs.cope.migration"/>
-<plugin id="org.eclipse.help"/>
-<plugin id="org.eclipse.core.jobs"/>
-</includeBundles>
-<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-<launcherArgs>
-<vmArgs>-Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m</vmArgs>
-</launcherArgs>
-</target>
diff --git a/EMFStoreECPTargetPlatform/feature.xml b/EMFStoreECPTargetPlatform/feature.xml
deleted file mode 100644
index 73a6dd4..0000000
--- a/EMFStoreECPTargetPlatform/feature.xml
+++ /dev/null
@@ -1,1629 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="EMFStoreECPTargetPlatform"
-      label="EMFStoreECPTargetPlatform"
-      version="0.8.9.M933"
-      provider-name="Eclipse Modeling Project">
-
-   <description url="http://emfstore.org">
-      This feature holds all plugins required for the EMFStore and ECP target platform.
-   </description>
-
-   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
-      Copyright (c) 2008-2011 Chair for Applied Software Engineering,
-Technische Universitaet Muenchen.
-All rights reserved. This program and the accompanying materials
-are made available under the terms of the Eclipse Public License
-v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
-   </copyright>
-
-   <license url="Eclipse Public License - v 1.0">
-      Eclipse Public License - v 1.0
-THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
-ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT&apos;S ACCEPTANCE
-OF THIS AGREEMENT.
-1. DEFINITIONS
-&quot;Contribution&quot; means:
-a) in the case of the initial Contributor, the initial code and
-documentation distributed under this Agreement, and
-b) in the case of each subsequent Contributor:
-i) changes to the Program, and
-ii) additions to the Program;
-where such changes and/or additions to the Program originate
-from and are distributed by that particular Contributor. A Contribution
-&apos;originates&apos; from a Contributor if it was added to the Program
-by such Contributor itself or anyone acting on such Contributor&apos;s
-behalf. Contributions do not include additions to the Program
-which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii)
-are not derivative works of the Program.
-&quot;Contributor&quot; means any person or entity that distributes the
-Program.
-&quot;Licensed Patents &quot; mean patent claims licensable by a Contributor
-which are necessarily infringed by the use or sale of its Contribution
-alone or when combined with the Program.
-&quot;Program&quot; means the Contributions distributed in accordance with
-this Agreement.
-&quot;Recipient&quot; means anyone who receives the Program under this
-Agreement, including all Contributors.
-2. GRANT OF RIGHTS
-a) Subject to the terms of this Agreement, each Contributor hereby
-grants Recipient a non-exclusive, worldwide, royalty-free copyright
-license to reproduce, prepare derivative works of, publicly display,
-publicly perform, distribute and sublicense the Contribution
-of such Contributor, if any, and such derivative works, in source
-code and object code form.
-b) Subject to the terms of this Agreement, each Contributor hereby
-grants Recipient a non-exclusive, worldwide, royalty-free patent
-license under Licensed Patents to make, use, sell, offer to sell,
-import and otherwise transfer the Contribution of such Contributor,
-if any, in source code and object code form. This patent license
-shall apply to the combination of the Contribution and the Program
-if, at the time the Contribution is added by the Contributor,
-such addition of the Contribution causes such combination to
-be covered by the Licensed Patents. The patent license shall
-not apply to any other combinations which include the Contribution.
-No hardware per se is licensed hereunder.
-c) Recipient understands that although each Contributor grants
-the licenses to its Contributions set forth herein, no assurances
-are provided by any Contributor that the Program does not infringe
-the patent or other intellectual property rights of any other
-entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement
-of intellectual property rights or otherwise. As a condition
-to exercising the rights and licenses granted hereunder, each
-Recipient hereby assumes sole responsibility to secure any other
-intellectual property rights needed, if any. For example, if
-a third party patent license is required to allow Recipient to
-distribute the Program, it is Recipient&apos;s responsibility to acquire
-that license before distributing the Program.
-d) Each Contributor represents that to its knowledge it has sufficient
-copyright rights in its Contribution, if any, to grant the copyright
-license set forth in this Agreement.
-3. REQUIREMENTS
-A Contributor may choose to distribute the Program in object
-code form under its own license agreement, provided that:
-a) it complies with the terms and conditions of this Agreement;
-and
-b) its license agreement:
-i) effectively disclaims on behalf of all Contributors all warranties
-and conditions, express and implied, including warranties or
-conditions of title and non-infringement, and implied warranties
-or conditions of merchantability and fitness for a particular
-purpose;
-ii) effectively excludes on behalf of all Contributors all liability
-for damages, including direct, indirect, special, incidental
-and consequential damages, such as lost profits;
-iii) states that any provisions which differ from this Agreement
-are offered by that Contributor alone and not by any other party;
-and
-iv) states that source code for the Program is available from
-such Contributor, and informs licensees how to obtain it in a
-reasonable manner on or through a medium customarily used for
-software exchange.
-When the Program is made available in source code form:
-a) it must be made available under this Agreement; and
-b) a copy of this Agreement must be included with each copy of
-the Program.
-Contributors may not remove or alter any copyright notices contained
-within the Program.
-Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.
-4. COMMERCIAL DISTRIBUTION
-Commercial distributors of software may accept certain responsibilities
-with respect to end users, business partners and the like. While
-this license is intended to facilitate the commercial use of
-the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create
-potential liability for other Contributors. Therefore, if a Contributor
-includes the Program in a commercial product offering, such Contributor
-(&quot;Commercial Contributor&quot;) hereby agrees to defend and indemnify
-every other Contributor (&quot;Indemnified Contributor&quot;) against any
-losses, damages and costs (collectively &quot;Losses&quot;) arising from
-claims, lawsuits and other legal actions brought by a third party
-against the Indemnified Contributor to the extent caused by the
-acts or omissions of such Commercial Contributor in connection
-with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any
-claims or Losses relating to any actual or alleged intellectual
-property infringement. In order to qualify, an Indemnified Contributor
-must: a) promptly notify the Commercial Contributor in writing
-of such claim, and b) allow the Commercial Contributor to control,
-and cooperate with the Commercial Contributor in, the defense
-and any related settlement negotiations. The Indemnified Contributor
-may participate in any such claim at its own expense.
-For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor&apos;s responsibility
-alone. Under this section, the Commercial Contributor would have
-to defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any
-other Contributor to pay any damages as a result, the Commercial
-Contributor must pay those damages.
-5. NO WARRANTY
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM
-IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
-OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with
-its exercise of rights under this Agreement , including but not
-limited to the risks and costs of program errors, compliance
-with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations.
-6. DISCLAIMER OF LIABILITY
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
-NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE
-OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
-OF SUCH DAMAGES.
-7. GENERAL
-If any provision of this Agreement is invalid or unenforceable
-under applicable law, it shall not affect the validity or enforceability
-of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be
-reformed to the minimum extent necessary to make such provision
-valid and enforceable.
-If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging
-that the Program itself (excluding combinations of the Program
-with other software or hardware) infringes such Recipient&apos;s patent(s),
-then such Recipient&apos;s rights granted under Section 2(b) shall
-terminate as of the date such litigation is filed.
-All Recipient&apos;s rights under this Agreement shall terminate if
-it fails to comply with any of the material terms or conditions
-of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If
-all Recipient&apos;s rights under this Agreement terminate, Recipient
-agrees to cease use and distribution of the Program as soon as
-reasonably practicable. However, Recipient&apos;s obligations under
-this Agreement and any licenses granted by Recipient relating
-to the Program shall continue and survive.
-Everyone is permitted to copy and distribute copies of this Agreement,
-but in order to avoid inconsistency the Agreement is copyrighted
-and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including
-revisions) of this Agreement from time to time. No one other
-than the Agreement Steward has the right to modify this Agreement.
-The Eclipse Foundation is the initial Agreement Steward. The
-Eclipse Foundation may assign the responsibility to serve as
-the Agreement Steward to a suitable separate entity. Each new
-version of the Agreement will be given a distinguishing version
-number. The Program (including Contributions) may always be distributed
-subject to the version of the Agreement under which it was received.
-In addition, after a new version of the Agreement is published,
-Contributor may elect to distribute the Program (including its
-Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights
-or licenses to the intellectual property of any Contributor under
-this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under
-this Agreement are reserved.
-This Agreement is governed by the laws of the State of New York
-and the intellectual property laws of the United States of America.
-No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose.
-Each party waives its rights to a jury trial in any resulting
-litigation.
-   </license>
-
-   <plugin
-         id="com.ibm.icu"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="com.ibm.icu.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="edu.tum.cs.cope.common"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="edu.tum.cs.cope.declaration"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="edu.tum.cs.cope.declaration.registry"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="edu.tum.cs.cope.migration"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="edu.tum.cs.cope.migration.execution"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="javax.servlet"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="javax.servlet.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="lpg.runtime.java"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.ant"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.apache.ant.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.codec"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.codec"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.codec.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.logging"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.logging"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.logging"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.apache.commons.logging.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.codehaus.groovy"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.ant.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ant.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.compare.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.compare.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.commands"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.commands.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.contenttype"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.contenttype.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.databinding"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.databinding.observable"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.databinding.observable.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.databinding.property"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.databinding.property.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.databinding.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.expressions"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.expressions.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.filesystem"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.filesystem.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.filesystem.win32.x86_64"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.jobs"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.jobs.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.net"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.net.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.net.win32.x86_64"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.resources"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.resources.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.runtime"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.runtime.compatibility.auth"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.runtime.compatibility.auth.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.runtime.compatibility.registry"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="org.eclipse.core.runtime.compatibility.registry.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.runtime.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.variables"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.core.variables.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.draw2d"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.draw2d.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.filetransfer"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.filetransfer.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.identity"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.identity.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer.ssl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.provider.filetransfer.ssl.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.ssl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ecf.ssl.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.common"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.common.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.common.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.common.ui.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.databinding"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.databinding.edit"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.databinding.edit.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.databinding.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.change"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.change.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.edit"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.edit.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.xmi"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.xmi.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.edit"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.edit.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.edit.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.edit.ui.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.transaction"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.transaction.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.transaction.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.transaction.ui.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.validation"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.validation.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.workspace"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.emf.workspace.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.app"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.app.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.common"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.common.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.concurrent"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.engine"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.engine.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.repository.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.metadata.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.repository"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.p2.repository.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.preferences"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.preferences.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.registry"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.registry.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.equinox.security.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gef"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gef.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.common.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.common.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.common.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.common.ui.action"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.common.ui.action.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.common.ui.services"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.common.ui.services.action"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.common.ui.services.action.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.common.ui.services.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.common.ui.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.diagram.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.diagram.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.diagram.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.diagram.ui.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.draw2d.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.draw2d.ui.render"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.draw2d.ui.render.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.draw2d.ui.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.emf.clipboard.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.emf.clipboard.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.emf.commands.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.emf.commands.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.emf.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.emf.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.emf.type.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.emf.type.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.emf.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.emf.ui.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.gef.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.gef.ui.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gmf.runtime.notation"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.help"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.help.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jface"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jface.databinding"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jface.databinding.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jface.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jface.text"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jface.text.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ocl"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ocl.ecore"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ocl.ecore.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ocl.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi.services"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi.services.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.osgi.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.win32.win32.x86_64"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.swt.win32.win32.x86_64.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.team.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.text"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.text.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.console"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.console.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.forms"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.forms.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.ide"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.ide.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.navigator"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.navigator.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.views"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.views.properties.tabbed"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.views.properties.tabbed.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.views.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.win32"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.win32.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.workbench"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.workbench.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.workbench.texteditor"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.ui.workbench.texteditor.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.hamcrest.core"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.hamcrest.core.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.junit"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.junit"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.junit.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.junit.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.junit4"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
-   <plugin
-         id="org.eclipse.ui.ide.application"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-</feature>
diff --git a/EMFStoreECPTargetPlatform/site.xml b/EMFStoreECPTargetPlatform/site.xml
deleted file mode 100644
index 1498fe7..0000000
--- a/EMFStoreECPTargetPlatform/site.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <description name="EMFStore and ECP Targetplatform(s)" url="http://unicase.googlecode.com/svn/updatesite/targetplatform/">
-      Update Site for the Target Platform(s) of EMFStore and ECP
-   </description>
-   <feature url="features/EMFStoreECPTargetPlatform_0.7.0.jar" id="EMFStoreECPTargetPlatform" version="0.7.0">
-      <category name="EMFStoreECPTargetPlatform"/>
-   </feature>
-   <category-def name="EMFStoreECPTargetPlatform" label="EMFStore and ECP Target Platform"/>
-</site>
diff --git a/EMFStoreECPTargetPlatform/.project b/EMFStoreTargetPlatform/.project
similarity index 89%
rename from EMFStoreECPTargetPlatform/.project
rename to EMFStoreTargetPlatform/.project
index 2603c72..e09a2e5 100644
--- a/EMFStoreECPTargetPlatform/.project
+++ b/EMFStoreTargetPlatform/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>EMFStoreECPTargetPlatform</name>
+	<name>EMFStoreTargetPlatform</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/EMFStoreECPTargetPlatform/build.properties b/EMFStoreTargetPlatform/build.properties
similarity index 100%
rename from EMFStoreECPTargetPlatform/build.properties
rename to EMFStoreTargetPlatform/build.properties
diff --git a/EMFStoreTargetPlatform/feature.xml b/EMFStoreTargetPlatform/feature.xml
new file mode 100644
index 0000000..1c2d98a
--- /dev/null
+++ b/EMFStoreTargetPlatform/feature.xml
@@ -0,0 +1,478 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="EMFStoreTargetPlatform"
+      label="Targetplatform"
+      version="1.0.0.qualifier">
+
+   <description url="http://www.example.com/description">
+      [Enter Feature Description here.]
+   </description>
+
+   <copyright url="http://www.example.com/copyright">
+      [Enter Copyright Description here.]
+   </copyright>
+
+   <license url="http://www.example.com/license">
+      [Enter License Description here.]
+   </license>
+
+   <plugin
+         id="org.apache.commons.codec"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.swt"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.swt.win32.win32.x86"
+         os="win32"
+         ws="win32"
+         arch="x86"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+         
+   <plugin
+         id="org.eclipse.swt.win32.win32.x86_64"
+         os="win32"
+         ws="win32"
+         arch="x86_64"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+         
+   <plugin
+         id="org.eclipse.swt.cocoa.macosx"
+         os="macosx"
+         ws="cocoa"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+         
+   <plugin
+         id="org.eclipse.swt.cocoa.macosx.x86_64"
+         os="macosx"
+         ws="cocoa"
+         arch="x86_64"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+         
+   <plugin
+         id="org.eclipse.swt.carbon.macosx"
+         os="macosx"
+         ws="carbon"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+         
+   <plugin
+         id="org.eclipse.swt.gtk.linux.ppc64"
+         os="linux"
+         ws="gtk"
+         arch="ppc"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+         
+   <plugin
+         id="org.eclipse.swt.gtk.linux.s390"
+         os="linux"
+         ws="gtk"
+         arch="sparc"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.swt.gtk.linux.s390x"
+         os="linux"
+         ws="gtk"
+         arch="sparc"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.swt.gtk.linux.x86"
+         os="linux"
+         ws="gtk"
+         arch="x86"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.swt.gtk.linux.x86_64"
+         os="linux"
+         ws="gtk"
+         arch="x86_64"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.swt.gtk.aix.ppc"
+         os="aix"
+         ws="gtk"
+         arch="ppc"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.swt.gtk.aix.ppc64"
+         os="aix"
+         ws="gtk"
+         arch="ppc"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.swt.gtk.hpux.ia64_32"
+         os="hpux"
+         ws="gtk"
+         arch="ia64_32"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.swt.gtk.solaris.sparc"
+         os="solaris"
+         ws="gtk"
+         arch="sparc"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.swt.gtk.solaris.x86"
+         os="solaris"
+         ws="gtk"
+         arch="x86"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+
+   <plugin
+         id="org.apache.commons.logging"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.core.commands"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.core.contenttype"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.core.databinding"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.core.databinding.observable"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.core.databinding.property"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.core.expressions"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.core.filesystem"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.core.jobs"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.core.resources"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.core.runtime"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.common"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.common.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.ecore"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.ecore.xmi"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.edit"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.edit.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.client"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.client.model.edit"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.client.test"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.client.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.common"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.common.model"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.common.model.edit"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.ecore"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.migration"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.perspective"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.server"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.server.model"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.server.model.edit"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.equinox.app"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.equinox.common"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.equinox.preferences"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.equinox.registry"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.help"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.jface"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.jface.databinding"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.osgi"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.swt"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.ui.forms"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.ui.views"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.ui.workbench"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.hamcrest.core"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.junit"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.junit4"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+   <plugin
+         id="org.eclipse.emf.ecore.edit"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/EMFStoreECPTargetPlatform/.project b/org.eclipse.emf.emfstore.ecore.feature/.project
similarity index 86%
copy from EMFStoreECPTargetPlatform/.project
copy to org.eclipse.emf.emfstore.ecore.feature/.project
index 2603c72..58f5207 100644
--- a/EMFStoreECPTargetPlatform/.project
+++ b/org.eclipse.emf.emfstore.ecore.feature/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>EMFStoreECPTargetPlatform</name>
+	<name>org.eclipse.emf.emfstore.ecore.feature</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/EMFStoreECPTargetPlatform/build.properties b/org.eclipse.emf.emfstore.ecore.feature/build.properties
similarity index 100%
copy from EMFStoreECPTargetPlatform/build.properties
copy to org.eclipse.emf.emfstore.ecore.feature/build.properties
diff --git a/org.eclipse.emf.emfstore.ecore.feature/feature.xml b/org.eclipse.emf.emfstore.ecore.feature/feature.xml
new file mode 100644
index 0000000..a6b0feb
--- /dev/null
+++ b/org.eclipse.emf.emfstore.ecore.feature/feature.xml
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.emf.emfstore.ecore.feature"
+      label="EMFStore Ecore"
+      version="0.8.9"
+      provider-name="Eclipse Modeling Project"
+      plugin="org.eclipse.emf.emfstore.branding">
+
+   <description url="http://emfstore.org">
+      Contains ecore plugin of EMFStore that is used by other EMFStore features.
+   </description>
+
+   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
+      Copyright (c) 2008-2011 Chair for Applied Software Engineering,
+Technische Universitaet Muenchen.
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License
+v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+   </copyright>
+
+   <license url="http://www.eclipse.org/legal/epl-v10.html">
+      Eclipse Public License - v 1.0
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
+ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT&apos;S ACCEPTANCE
+OF THIS AGREEMENT.
+1. DEFINITIONS
+&quot;Contribution&quot; means:
+a) in the case of the initial Contributor, the initial code and
+documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+i) changes to the Program, and
+ii) additions to the Program;
+where such changes and/or additions to the Program originate
+from and are distributed by that particular Contributor. A Contribution
+&apos;originates&apos; from a Contributor if it was added to the Program
+by such Contributor itself or anyone acting on such Contributor&apos;s
+behalf. Contributions do not include additions to the Program
+which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.
+&quot;Contributor&quot; means any person or entity that distributes the
+Program.
+&quot;Licensed Patents &quot; mean patent claims licensable by a Contributor
+which are necessarily infringed by the use or sale of its Contribution
+alone or when combined with the Program.
+&quot;Program&quot; means the Contributions distributed in accordance with
+this Agreement.
+&quot;Recipient&quot; means anyone who receives the Program under this
+Agreement, including all Contributors.
+2. GRANT OF RIGHTS
+a) Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free copyright
+license to reproduce, prepare derivative works of, publicly display,
+publicly perform, distribute and sublicense the Contribution
+of such Contributor, if any, and such derivative works, in source
+code and object code form.
+b) Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free patent
+license under Licensed Patents to make, use, sell, offer to sell,
+import and otherwise transfer the Contribution of such Contributor,
+if any, in source code and object code form. This patent license
+shall apply to the combination of the Contribution and the Program
+if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to
+be covered by the Licensed Patents. The patent license shall
+not apply to any other combinations which include the Contribution.
+No hardware per se is licensed hereunder.
+c) Recipient understands that although each Contributor grants
+the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe
+the patent or other intellectual property rights of any other
+entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement
+of intellectual property rights or otherwise. As a condition
+to exercising the rights and licenses granted hereunder, each
+Recipient hereby assumes sole responsibility to secure any other
+intellectual property rights needed, if any. For example, if
+a third party patent license is required to allow Recipient to
+distribute the Program, it is Recipient&apos;s responsibility to acquire
+that license before distributing the Program.
+d) Each Contributor represents that to its knowledge it has sufficient
+copyright rights in its Contribution, if any, to grant the copyright
+license set forth in this Agreement.
+3. REQUIREMENTS
+A Contributor may choose to distribute the Program in object
+code form under its own license agreement, provided that:
+a) it complies with the terms and conditions of this Agreement;
+and
+b) its license agreement:
+i) effectively disclaims on behalf of all Contributors all warranties
+and conditions, express and implied, including warranties or
+conditions of title and non-infringement, and implied warranties
+or conditions of merchantability and fitness for a particular
+purpose;
+ii) effectively excludes on behalf of all Contributors all liability
+for damages, including direct, indirect, special, incidental
+and consequential damages, such as lost profits;
+iii) states that any provisions which differ from this Agreement
+are offered by that Contributor alone and not by any other party;
+and
+iv) states that source code for the Program is available from
+such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for
+software exchange.
+When the Program is made available in source code form:
+a) it must be made available under this Agreement; and
+b) a copy of this Agreement must be included with each copy of
+the Program.
+Contributors may not remove or alter any copyright notices contained
+within the Program.
+Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.
+4. COMMERCIAL DISTRIBUTION
+Commercial distributors of software may accept certain responsibilities
+with respect to end users, business partners and the like. While
+this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+(&quot;Commercial Contributor&quot;) hereby agrees to defend and indemnify
+every other Contributor (&quot;Indemnified Contributor&quot;) against any
+losses, damages and costs (collectively &quot;Losses&quot;) arising from
+claims, lawsuits and other legal actions brought by a third party
+against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection
+with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any
+claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor
+must: a) promptly notify the Commercial Contributor in writing
+of such claim, and b) allow the Commercial Contributor to control,
+and cooperate with the Commercial Contributor in, the defense
+and any related settlement negotiations. The Indemnified Contributor
+may participate in any such claim at its own expense.
+For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor&apos;s responsibility
+alone. Under this section, the Commercial Contributor would have
+to defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any
+other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+5. NO WARRANTY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM
+IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with
+its exercise of rights under this Agreement , including but not
+limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations.
+6. DISCLAIMER OF LIABILITY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE
+OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGES.
+7. GENERAL
+If any provision of this Agreement is invalid or unenforceable
+under applicable law, it shall not affect the validity or enforceability
+of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be
+reformed to the minimum extent necessary to make such provision
+valid and enforceable.
+If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging
+that the Program itself (excluding combinations of the Program
+with other software or hardware) infringes such Recipient&apos;s patent(s),
+then such Recipient&apos;s rights granted under Section 2(b) shall
+terminate as of the date such litigation is filed.
+All Recipient&apos;s rights under this Agreement shall terminate if
+it fails to comply with any of the material terms or conditions
+of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If
+all Recipient&apos;s rights under this Agreement terminate, Recipient
+agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient&apos;s obligations under
+this Agreement and any licenses granted by Recipient relating
+to the Program shall continue and survive.
+Everyone is permitted to copy and distribute copies of this Agreement,
+but in order to avoid inconsistency the Agreement is copyrighted
+and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other
+than the Agreement Steward has the right to modify this Agreement.
+The Eclipse Foundation is the initial Agreement Steward. The
+Eclipse Foundation may assign the responsibility to serve as
+the Agreement Steward to a suitable separate entity. Each new
+version of the Agreement will be given a distinguishing version
+number. The Program (including Contributions) may always be distributed
+subject to the version of the Agreement under which it was received.
+In addition, after a new version of the Agreement is published,
+Contributor may elect to distribute the Program (including its
+Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights
+or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under
+this Agreement are reserved.
+This Agreement is governed by the laws of the State of New York
+and the intellectual property laws of the United States of America.
+No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose.
+Each party waives its rights to a jury trial in any resulting
+litigation.
+   </license>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.ecore"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+</feature>
diff --git a/EMFStoreECPTargetPlatform/.project b/org.eclipse.emf.emfstore.perspective.feature/.project
similarity index 84%
copy from EMFStoreECPTargetPlatform/.project
copy to org.eclipse.emf.emfstore.perspective.feature/.project
index 2603c72..703053d 100644
--- a/EMFStoreECPTargetPlatform/.project
+++ b/org.eclipse.emf.emfstore.perspective.feature/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>EMFStoreECPTargetPlatform</name>
+	<name>org.eclipse.emf.emfstore.perspective.feature</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/EMFStoreECPTargetPlatform/build.properties b/org.eclipse.emf.emfstore.perspective.feature/build.properties
similarity index 100%
copy from EMFStoreECPTargetPlatform/build.properties
copy to org.eclipse.emf.emfstore.perspective.feature/build.properties
diff --git a/org.eclipse.emf.emfstore.perspective.feature/feature.xml b/org.eclipse.emf.emfstore.perspective.feature/feature.xml
new file mode 100644
index 0000000..ef89340
--- /dev/null
+++ b/org.eclipse.emf.emfstore.perspective.feature/feature.xml
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.emf.emfstore.perspective.feature"
+      label="EMFStore Perspective"
+      version="0.8.9"
+      provider-name="Eclipse Modeling Project"
+      plugin="org.eclipse.emf.emfstore.branding">
+
+   <description url="http://emfstore.org">
+      Contains perspective plugin of EMFStore that is used to show an Eclipse perspective.
+   </description>
+
+   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
+      Copyright (c) 2008-2011 Chair for Applied Software Engineering,
+Technische Universitaet Muenchen.
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License
+v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+   </copyright>
+
+   <license url="http://www.eclipse.org/legal/epl-v10.html">
+      Eclipse Public License - v 1.0
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
+ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT&apos;S ACCEPTANCE
+OF THIS AGREEMENT.
+1. DEFINITIONS
+&quot;Contribution&quot; means:
+a) in the case of the initial Contributor, the initial code and
+documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+i) changes to the Program, and
+ii) additions to the Program;
+where such changes and/or additions to the Program originate
+from and are distributed by that particular Contributor. A Contribution
+&apos;originates&apos; from a Contributor if it was added to the Program
+by such Contributor itself or anyone acting on such Contributor&apos;s
+behalf. Contributions do not include additions to the Program
+which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.
+&quot;Contributor&quot; means any person or entity that distributes the
+Program.
+&quot;Licensed Patents &quot; mean patent claims licensable by a Contributor
+which are necessarily infringed by the use or sale of its Contribution
+alone or when combined with the Program.
+&quot;Program&quot; means the Contributions distributed in accordance with
+this Agreement.
+&quot;Recipient&quot; means anyone who receives the Program under this
+Agreement, including all Contributors.
+2. GRANT OF RIGHTS
+a) Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free copyright
+license to reproduce, prepare derivative works of, publicly display,
+publicly perform, distribute and sublicense the Contribution
+of such Contributor, if any, and such derivative works, in source
+code and object code form.
+b) Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free patent
+license under Licensed Patents to make, use, sell, offer to sell,
+import and otherwise transfer the Contribution of such Contributor,
+if any, in source code and object code form. This patent license
+shall apply to the combination of the Contribution and the Program
+if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to
+be covered by the Licensed Patents. The patent license shall
+not apply to any other combinations which include the Contribution.
+No hardware per se is licensed hereunder.
+c) Recipient understands that although each Contributor grants
+the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe
+the patent or other intellectual property rights of any other
+entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement
+of intellectual property rights or otherwise. As a condition
+to exercising the rights and licenses granted hereunder, each
+Recipient hereby assumes sole responsibility to secure any other
+intellectual property rights needed, if any. For example, if
+a third party patent license is required to allow Recipient to
+distribute the Program, it is Recipient&apos;s responsibility to acquire
+that license before distributing the Program.
+d) Each Contributor represents that to its knowledge it has sufficient
+copyright rights in its Contribution, if any, to grant the copyright
+license set forth in this Agreement.
+3. REQUIREMENTS
+A Contributor may choose to distribute the Program in object
+code form under its own license agreement, provided that:
+a) it complies with the terms and conditions of this Agreement;
+and
+b) its license agreement:
+i) effectively disclaims on behalf of all Contributors all warranties
+and conditions, express and implied, including warranties or
+conditions of title and non-infringement, and implied warranties
+or conditions of merchantability and fitness for a particular
+purpose;
+ii) effectively excludes on behalf of all Contributors all liability
+for damages, including direct, indirect, special, incidental
+and consequential damages, such as lost profits;
+iii) states that any provisions which differ from this Agreement
+are offered by that Contributor alone and not by any other party;
+and
+iv) states that source code for the Program is available from
+such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for
+software exchange.
+When the Program is made available in source code form:
+a) it must be made available under this Agreement; and
+b) a copy of this Agreement must be included with each copy of
+the Program.
+Contributors may not remove or alter any copyright notices contained
+within the Program.
+Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.
+4. COMMERCIAL DISTRIBUTION
+Commercial distributors of software may accept certain responsibilities
+with respect to end users, business partners and the like. While
+this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+(&quot;Commercial Contributor&quot;) hereby agrees to defend and indemnify
+every other Contributor (&quot;Indemnified Contributor&quot;) against any
+losses, damages and costs (collectively &quot;Losses&quot;) arising from
+claims, lawsuits and other legal actions brought by a third party
+against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection
+with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any
+claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor
+must: a) promptly notify the Commercial Contributor in writing
+of such claim, and b) allow the Commercial Contributor to control,
+and cooperate with the Commercial Contributor in, the defense
+and any related settlement negotiations. The Indemnified Contributor
+may participate in any such claim at its own expense.
+For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor&apos;s responsibility
+alone. Under this section, the Commercial Contributor would have
+to defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any
+other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+5. NO WARRANTY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM
+IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with
+its exercise of rights under this Agreement , including but not
+limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations.
+6. DISCLAIMER OF LIABILITY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE
+OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGES.
+7. GENERAL
+If any provision of this Agreement is invalid or unenforceable
+under applicable law, it shall not affect the validity or enforceability
+of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be
+reformed to the minimum extent necessary to make such provision
+valid and enforceable.
+If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging
+that the Program itself (excluding combinations of the Program
+with other software or hardware) infringes such Recipient&apos;s patent(s),
+then such Recipient&apos;s rights granted under Section 2(b) shall
+terminate as of the date such litigation is filed.
+All Recipient&apos;s rights under this Agreement shall terminate if
+it fails to comply with any of the material terms or conditions
+of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If
+all Recipient&apos;s rights under this Agreement terminate, Recipient
+agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient&apos;s obligations under
+this Agreement and any licenses granted by Recipient relating
+to the Program shall continue and survive.
+Everyone is permitted to copy and distribute copies of this Agreement,
+but in order to avoid inconsistency the Agreement is copyrighted
+and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other
+than the Agreement Steward has the right to modify this Agreement.
+The Eclipse Foundation is the initial Agreement Steward. The
+Eclipse Foundation may assign the responsibility to serve as
+the Agreement Steward to a suitable separate entity. Each new
+version of the Agreement will be given a distinguishing version
+number. The Program (including Contributions) may always be distributed
+subject to the version of the Agreement under which it was received.
+In addition, after a new version of the Agreement is published,
+Contributor may elect to distribute the Program (including its
+Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights
+or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under
+this Agreement are reserved.
+This Agreement is governed by the laws of the State of New York
+and the intellectual property laws of the United States of America.
+No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose.
+Each party waives its rights to a jury trial in any resulting
+litigation.
+   </license>
+
+   <plugin
+         id="org.eclipse.emf.emfstore.perspective"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"/>
+
+</feature>
diff --git a/org.eclipse.emf.emfstore.site/.project b/org.eclipse.emf.emfstore.site/.project
deleted file mode 100644
index 913e632..0000000
--- a/org.eclipse.emf.emfstore.site/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.emf.emfstore.site</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.emf.emfstore.site/.settings/org.eclipse.ltk.core.refactoring.prefs b/org.eclipse.emf.emfstore.site/.settings/org.eclipse.ltk.core.refactoring.prefs
deleted file mode 100644
index cee55c8..0000000
--- a/org.eclipse.emf.emfstore.site/.settings/org.eclipse.ltk.core.refactoring.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Jul 04 12:35:03 CEST 2011
-eclipse.preferences.version=1
-org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
diff --git a/org.eclipse.emf.emfstore.site/.settings/org.eclipse.mylyn.tasks.ui.prefs b/org.eclipse.emf.emfstore.site/.settings/org.eclipse.mylyn.tasks.ui.prefs
deleted file mode 100644
index d573634..0000000
--- a/org.eclipse.emf.emfstore.site/.settings/org.eclipse.mylyn.tasks.ui.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Thu Feb 04 10:06:10 CET 2010
-eclipse.preferences.version=1
-project.repository.kind=bugzilla
-project.repository.url=https\://bugs.eclipse.org/bugs
diff --git a/org.eclipse.emf.emfstore.site/.settings/org.eclipse.mylyn.team.ui.prefs b/org.eclipse.emf.emfstore.site/.settings/org.eclipse.mylyn.team.ui.prefs
deleted file mode 100644
index 4d86eb4..0000000
--- a/org.eclipse.emf.emfstore.site/.settings/org.eclipse.mylyn.team.ui.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Feb 04 10:06:10 CET 2010
-commit.comment.template=[${task.id}] ${task.description} \r\n${task.url}
-eclipse.preferences.version=1
diff --git a/org.eclipse.emf.emfstore.site/build.properties b/org.eclipse.emf.emfstore.site/build.properties
deleted file mode 100644
index 6840370..0000000
--- a/org.eclipse.emf.emfstore.site/build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#    Eike Stepper - initial API and implementation
-
-# NLS_MESSAGEFORMAT_VAR
-
-bin.includes = feature.xml,\
-               feature.properties,\
-               category.xml
diff --git a/org.eclipse.emf.emfstore.site/category.xml b/org.eclipse.emf.emfstore.site/category.xml
deleted file mode 100644
index 888ae15..0000000
--- a/org.eclipse.emf.emfstore.site/category.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/org.eclipse.emf.ecp_2.0.0.qualifier.jar" id="org.eclipse.emf.ecp" version="2.0.0.qualifier">
-      <category name="org.eclipse.emf.ecp.category"/>
-   </feature>
-   <feature url="features/org.eclipse.emf.ecp.cdo_2.0.0.qualifier.jar" id="org.eclipse.emf.ecp.cdo" version="2.0.0.qualifier">
-      <category name="org.eclipse.emf.ecp.provider.category"/>
-   </feature>
-   <feature url="features/org.eclipse.emf.ecp.workspace_2.0.0.qualifier.jar" id="org.eclipse.emf.ecp.workspace" version="2.0.0.qualifier">
-      <category name="org.eclipse.emf.ecp.provider.category"/>
-   </feature>
-   <category-def name="org.eclipse.emf.ecp.category" label="EMF Client Platform"/>
-   <category-def name="org.eclipse.emf.ecp.provider.category" label="EMF Client Platform Providers (optional)"/>
-</site>
diff --git a/org.eclipse.emf.emfstore.site/feature.properties b/org.eclipse.emf.emfstore.site/feature.properties
deleted file mode 100644
index 8b13789..0000000
--- a/org.eclipse.emf.emfstore.site/feature.properties
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/org.eclipse.emf.emfstore.site/feature.xml b/org.eclipse.emf.emfstore.site/feature.xml
deleted file mode 100644
index 9e0fb9e..0000000
--- a/org.eclipse.emf.emfstore.site/feature.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<feature
-      id="org.eclipse.emf.emfstore.site"
-      label="EMF Store Site"
-      version="1.0.0.qualifier"
-      provider-name="EMFT"
-      image="eclipse_update_120.jpg"
-      license-feature="org.eclipse.emf.ecp.license"
-      license-feature-version="2.0.0.qualifier">
-
-   <description>
-      %description
-   </description>
-
-   <copyright url="%copyrightURL">
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-
-
-</feature>
diff --git a/org.eclipse.emf.emfstore.site/patch.patch b/org.eclipse.emf.emfstore.site/patch.patch
deleted file mode 100644
index 6136a5e..0000000
--- a/org.eclipse.emf.emfstore.site/patch.patch
+++ /dev/null
@@ -1,374 +0,0 @@
-From 8aedb36317e70c387175ebb83ba6c9f0d46c0515 Mon Sep 17 00:00:00 2001
-From: jonas <jonas.helming@googlemail.com>
-Date: Sat, 5 Nov 2011 18:32:12 +0100
-Subject: [PATCH] Added model element opener to open elements on double click
-
----
- ECP2/org.eclipse.emf.ecp.ui/META-INF/MANIFEST.MF   |    1 +
- ECP2/org.eclipse.emf.ecp.ui/plugin.xml             |    1 +
- .../schema/modelelementopener.exsd                 |  101 ++++++++++++++++++
- .../org/eclipse/emf/ecp/ui/util/ActionHelper.java  |  109 ++++++++++++++++++++
- .../emf/ecp/ui/util/ModelElementOpener.java        |   38 +++++++
- .../emf/ecp/ui/views/ModelExplorerView.java        |   30 ++++++
- 6 files changed, 280 insertions(+), 0 deletions(-)
- create mode 100644 ECP2/org.eclipse.emf.ecp.ui/schema/modelelementopener.exsd
- create mode 100644 ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/util/ActionHelper.java
- create mode 100644 ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/util/ModelElementOpener.java
-
-diff --git a/ECP2/org.eclipse.emf.ecp.ui/META-INF/MANIFEST.MF b/ECP2/org.eclipse.emf.ecp.ui/META-INF/MANIFEST.MF
-index beb3afc..2032531 100644
---- a/ECP2/org.eclipse.emf.ecp.ui/META-INF/MANIFEST.MF
-+++ b/ECP2/org.eclipse.emf.ecp.ui/META-INF/MANIFEST.MF
-@@ -17,6 +17,7 @@ Export-Package: org.eclipse.emf.ecp.internal.ui;version="1.0.0";x-internal:=true
-  org.eclipse.emf.ecp.ui.actions;version="1.0.0",
-  org.eclipse.emf.ecp.ui.dialogs;version="1.0.0",
-  org.eclipse.emf.ecp.ui.model;version="1.0.0",
-+ org.eclipse.emf.ecp.ui.util;version="1.0.0",
-  org.eclipse.emf.ecp.ui.views;version="1.0.0",
-  org.eclipse.emf.ecp.ui.widgets;version="1.0.0",
-  org.eclipse.wb.swt;version="1.0.0";x-internal:=true
-diff --git a/ECP2/org.eclipse.emf.ecp.ui/plugin.xml b/ECP2/org.eclipse.emf.ecp.ui/plugin.xml
-index 871f106..d3aff94 100644
---- a/ECP2/org.eclipse.emf.ecp.ui/plugin.xml
-+++ b/ECP2/org.eclipse.emf.ecp.ui/plugin.xml
-@@ -3,6 +3,7 @@
- <plugin>
- 
-    <extension-point id="uiProviders" name="ECP UI Providers" schema="schema/uiProviders.exsd"/>
-+   <extension-point id="modelelementOpener" name="Modelelement Opener" schema="schema/modelelementopener.exsd"/>
- 
-    <extension
-          point="org.eclipse.ui.views">
-diff --git a/ECP2/org.eclipse.emf.ecp.ui/schema/modelelementopener.exsd b/ECP2/org.eclipse.emf.ecp.ui/schema/modelelementopener.exsd
-new file mode 100644
-index 0000000..4002274
---- /dev/null
-+++ b/ECP2/org.eclipse.emf.ecp.ui/schema/modelelementopener.exsd
-@@ -0,0 +1,101 @@
-+<?xml version='1.0' encoding='UTF-8'?>
-+<!-- Schema file written by PDE -->
-+<schema targetNamespace="org.eclipse.emf.ecp.common" xmlns="http://www.w3.org/2001/XMLSchema">
-+<annotation>
-+      <appInfo>
-+         <meta.schema plugin="org.eclipse.emf.ecp.common" id="org.eclipse.emf.ecp.common.modelelementopener" name="Open Handler for Modelelements"/>
-+      </appInfo>
-+      <documentation>
-+         A model element opener is responsible to handle the double click action in the navigator on a model element.
-+      </documentation>
-+   </annotation>
-+
-+   <element name="extension">
-+      <annotation>
-+         <appInfo>
-+            <meta.element />
-+         </appInfo>
-+      </annotation>
-+      <complexType>
-+         <sequence minOccurs="1" maxOccurs="unbounded">
-+            <element ref="ModelElementOpener"/>
-+         </sequence>
-+         <attribute name="point" type="string" use="required">
-+            <annotation>
-+               <documentation>
-+                  
-+               </documentation>
-+            </annotation>
-+         </attribute>
-+         <attribute name="id" type="string">
-+            <annotation>
-+               <documentation>
-+                  
-+               </documentation>
-+            </annotation>
-+         </attribute>
-+         <attribute name="name" type="string">
-+            <annotation>
-+               <documentation>
-+                  
-+               </documentation>
-+               <appInfo>
-+                  <meta.attribute translatable="true"/>
-+               </appInfo>
-+            </annotation>
-+         </attribute>
-+      </complexType>
-+   </element>
-+
-+   <element name="ModelElementOpener">
-+      <complexType>
-+         <attribute name="name" type="string" use="required">
-+            <annotation>
-+               <documentation>
-+                  
-+               </documentation>
-+            </annotation>
-+         </attribute>
-+         <attribute name="class" type="string" use="required">
-+            <annotation>
-+               <documentation>
-+                  
-+               </documentation>
-+               <appInfo>
-+                  <meta.attribute kind="java" basedOn=":org.eclipse.emf.ecp.ui.util.ModelElementOpener"/>
-+               </appInfo>
-+            </annotation>
-+         </attribute>
-+      </complexType>
-+   </element>
-+
-+   <annotation>
-+      <appInfo>
-+         <meta.section type="since"/>
-+      </appInfo>
-+      <documentation>
-+         0.4
-+      </documentation>
-+   </annotation>
-+
-+
-+   <annotation>
-+      <appInfo>
-+         <meta.section type="apiinfo"/>
-+      </appInfo>
-+      <documentation>
-+         [Enter API information here.]
-+      </documentation>
-+   </annotation>
-+
-+   <annotation>
-+      <appInfo>
-+         <meta.section type="implementation"/>
-+      </appInfo>
-+      <documentation>
-+         [Enter information about supplied implementation of this extension point.]
-+      </documentation>
-+   </annotation>
-+
-+
-+</schema>
-diff --git a/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/util/ActionHelper.java b/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/util/ActionHelper.java
-new file mode 100644
-index 0000000..1860af3
---- /dev/null
-+++ b/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/util/ActionHelper.java
-@@ -0,0 +1,109 @@
-+/*******************************************************************************
-+ * Copyright (c) 2008-2011 Chair for Applied Software Engineering,
-+ * Technische Universitaet Muenchen.
-+ * All rights reserved. This program and the accompanying materials
-+ * are made available under the terms of the Eclipse Public License v1.0
-+ * which accompanies this distribution, and is available at
-+ * http://www.eclipse.org/legal/epl-v10.html
-+ * 
-+ * Contributors:
-+ ******************************************************************************/
-+package org.eclipse.emf.ecp.ui.util;
-+
-+import org.eclipse.emf.ecore.EObject;
-+import org.eclipse.emf.ecp.internal.ui.Activator;
-+
-+import org.eclipse.core.runtime.CoreException;
-+import org.eclipse.core.runtime.IConfigurationElement;
-+import org.eclipse.core.runtime.Platform;
-+import org.eclipse.jface.dialogs.MessageDialog;
-+import org.eclipse.swt.widgets.Display;
-+
-+/**
-+ * @author helming
-+ */
-+public final class ActionHelper
-+{
-+  // TODO: move constants
-+  /**
-+   * The ID of the meeditor.
-+   */
-+  public static final String MEEDITOR_ID = "org.eclipse.emf.ecp.editor";
-+
-+  /**
-+   * Constant for the open model element command.
-+   */
-+  public static final String MEEDITOR_OPENMODELELEMENT_COMMAND_ID = "org.eclipse.emf.ecp.editor.openModelElement";
-+
-+  /**
-+   * Constant for the modelelement context.
-+   */
-+  public static final String MECONTEXT_EVALUATIONCONTEXT_VARIABLE = "meContext";
-+
-+  /**
-+   * Constant for the modelelement to be opened.
-+   */
-+  public static final String ME_TO_OPEN_EVALUATIONCONTEXT_VARIABLE = "meToOpen";
-+
-+  private ActionHelper()
-+  {
-+
-+  }
-+
-+  /**
-+   * This opens the model element.
-+   * 
-+   * @param me
-+   *          ModelElement to open
-+   * @param sourceView
-+   *          the view that requested the open model element
-+   */
-+  public static void openModelElement(final EObject me, final String sourceView)
-+  {
-+    if (me == null)
-+    {
-+      MessageDialog.openError(Display.getCurrent().getActiveShell(), "The element was deleted",
-+          "The model element you are trying to open was deleted!");
-+      return;
-+    }
-+    IConfigurationElement[] modelelementopener = Platform.getExtensionRegistry().getConfigurationElementsFor(
-+        "org.eclipse.emf.ecp.common.modelelementopener");
-+    ModelElementOpener bestCandidate = null;
-+    int bestValue = -1;
-+    String name = "";
-+    for (IConfigurationElement element : modelelementopener)
-+    {
-+      modelelementopener = null;
-+      try
-+      {
-+        ModelElementOpener modelelementOpener = (ModelElementOpener)element.createExecutableExtension("class");
-+        int value = modelelementOpener.canOpen(me);
-+        if (value > bestValue)
-+        {
-+          bestCandidate = modelelementOpener;
-+          bestValue = value;
-+          name = element.getAttribute("name");
-+        }
-+      }
-+      catch (CoreException e)
-+      {
-+
-+        Activator.log(e);
-+      }
-+    }
-+    // TODO: find solution
-+    // ECPWorkspaceManager.getObserverBus().notify(ModelElementOpenObserver.class).onOpen(me, sourceView, name);
-+    // BEGIN SUPRESS CATCH EXCEPTION
-+    try
-+    {
-+      bestCandidate.openModelElement(me);
-+    }
-+    catch (RuntimeException e)
-+    {
-+      Activator.log(e);
-+    }
-+    // END SUPRESS CATCH EXCEPTION
-+
-+  }
-+
-+}
-diff --git a/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/util/ModelElementOpener.java b/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/util/ModelElementOpener.java
-new file mode 100644
-index 0000000..6a2220d
---- /dev/null
-+++ b/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/util/ModelElementOpener.java
-@@ -0,0 +1,38 @@
-+/**
-+ * 
-+ */
-+package org.eclipse.emf.ecp.ui.util;
-+
-+import org.eclipse.emf.ecore.EObject;
-+
-+/**
-+ * Modelelement opener offer the functionality to open a specific model element. Standard opener is the model element
-+ * editor. Example for specific opener are the diagrams.
-+ * 
-+ * @author helming
-+ */
-+public interface ModelElementOpener
-+{
-+  /**
-+   * Constant to return if the opener should not open the modelelement.
-+   */
-+  int DONOTOPEN = -1;
-+
-+  /**
-+   * Checks whether the model element should be opened by this opener, depending on the priority. The model element will
-+   * be opened with the registered opener with the highest priority.
-+   * 
-+   * @param modelElement
-+   *          the model element to check
-+   * @return a priority indicating how well the opener can open the element
-+   */
-+  int canOpen(EObject modelElement);
-+
-+  /**
-+   * The action to open the model element.
-+   * 
-+   * @param modelElement
-+   *          the model element to open
-+   */
-+  void openModelElement(EObject modelElement);
-+}
-diff --git a/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/views/ModelExplorerView.java b/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/views/ModelExplorerView.java
-index 109f4ee..a1e53af 100644
---- a/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/views/ModelExplorerView.java
-+++ b/ECP2/org.eclipse.emf.ecp.ui/src/org/eclipse/emf/ecp/ui/views/ModelExplorerView.java
-@@ -10,6 +10,7 @@
-  */
- package org.eclipse.emf.ecp.ui.views;
- 
-+import org.eclipse.emf.ecore.EObject;
- import org.eclipse.emf.ecp.core.ECPProjectManager;
- import org.eclipse.emf.ecp.core.util.ECPModelContext;
- import org.eclipse.emf.ecp.core.util.ECPUtil;
-@@ -17,8 +18,12 @@ import org.eclipse.emf.ecp.spi.ui.UIProvider;
- import org.eclipse.emf.ecp.spi.ui.UIProviderRegistry;
- import org.eclipse.emf.ecp.ui.model.ModelContentProvider;
- import org.eclipse.emf.ecp.ui.model.ModelLabelProvider;
-+import org.eclipse.emf.ecp.ui.util.ActionHelper;
- 
- import org.eclipse.jface.action.IMenuManager;
-+import org.eclipse.jface.viewers.DoubleClickEvent;
-+import org.eclipse.jface.viewers.IDoubleClickListener;
-+import org.eclipse.jface.viewers.IStructuredSelection;
- import org.eclipse.jface.viewers.TreeViewer;
- import org.eclipse.jface.viewers.ViewerSorter;
- 
-@@ -27,6 +32,30 @@ import org.eclipse.jface.viewers.ViewerSorter;
-  */
- public class ModelExplorerView extends TreeView
- {
-+  /**
-+   * @author Jonas
-+   */
-+  public class DoubleClickListener implements IDoubleClickListener
-+  {
-+
-+    /**
-+     * Opens an EObject using the ActionHelper
-+     */
-+    public void doubleClick(DoubleClickEvent event)
-+    {
-+      if (event.getSelection() instanceof IStructuredSelection)
-+      {
-+        IStructuredSelection structuredSelection = (IStructuredSelection)event.getSelection();
-+        Object firstElement = structuredSelection.getFirstElement();
-+        if (firstElement instanceof EObject)
-+        {
-+          ActionHelper.openModelElement((EObject)firstElement, "modelexplorer");
-+        }
-+      }
-+
-+    }
-+  }
-+
-   public static final String ID = "org.eclipse.emf.ecp.ui.ModelExplorerView";
- 
-   private ModelContentProvider contentProvider = new ModelContentProvider();
-@@ -43,6 +72,7 @@ public class ModelExplorerView extends TreeView
-     viewer.setLabelProvider(new ModelLabelProvider(contentProvider));
-     viewer.setSorter(new ViewerSorter());
-     viewer.setInput(ECPProjectManager.INSTANCE);
-+    viewer.addDoubleClickListener(new DoubleClickListener());
-   }
- 
-   @Override
--- 
-1.7.6.msysgit.0
-
