From ec1c139baf2bf635368284ba994cdcdafb75c7c2 Mon Sep 17 00:00:00 2001
From: Kai Brassel <mail@khbrassel.de>
Date: Thu, 18 Mar 2021 09:33:54 +0100
Subject: [PATCH] Converted to Maven build for stand-alone app deployment

---
 .../.classpath                                |  4 +-
 .../.project                                  |  6 ++
 .../Application.e4xmi                         | 20 ++---
 .../META-INF/MANIFEST.MF                      |  7 +-
 .../build.properties                          |  1 -
 ....hftstuttgart.energycomponents.app.product | 52 -------------
 .../pom.xml                                   | 17 ++++
 .../app/handlers/OpenHandler.java             |  6 --
 .../app/parts/CatalogPart.java                |  8 --
 .../.classpath                                |  6 +-
 .../.project                                  |  6 ++
 .../build.properties                          |  1 -
 de.hftstuttgart.energycomponents.edit/pom.xml | 16 ++++
 .../.project                                  |  6 ++
 .../feature.xml                               | 24 +-----
 .../pom.xml                                   | 15 ++++
 .../.classpath                                | 22 +++---
 .../.project                                  |  6 ++
 .../build.properties                          |  1 -
 .../pom.xml                                   | 16 ++++
 .../.project                                  | 17 ++++
 .../pom.xml                                   | 77 +++++++++++++++++++
 .../.project                                  | 17 ++++
 ....hftstuttgart.energycomponents.app.product | 59 ++++++++++++++
 .../pom.xml                                   | 46 +++++++++++
 .../.project                                  |  6 ++
 .../energycomponents.target.target            |  1 +
 .../pom.xml                                   | 16 ++++
 .../.classpath                                |  6 ++
 .../.project                                  | 12 +++
 .../META-INF/MANIFEST.MF                      |  4 +-
 .../pom.xml                                   | 16 ++++
 32 files changed, 396 insertions(+), 121 deletions(-)
 delete mode 100644 de.hftstuttgart.energycomponents.application/de.hftstuttgart.energycomponents.app.product
 create mode 100644 de.hftstuttgart.energycomponents.application/pom.xml
 create mode 100644 de.hftstuttgart.energycomponents.edit/pom.xml
 create mode 100644 de.hftstuttgart.energycomponents.feature/pom.xml
 create mode 100644 de.hftstuttgart.energycomponents.model/pom.xml
 create mode 100644 de.hftstuttgart.energycomponents.parent/.project
 create mode 100644 de.hftstuttgart.energycomponents.parent/pom.xml
 create mode 100644 de.hftstuttgart.energycomponents.product/.project
 create mode 100644 de.hftstuttgart.energycomponents.product/de.hftstuttgart.energycomponents.app.product
 create mode 100644 de.hftstuttgart.energycomponents.product/pom.xml
 create mode 100644 de.hftstuttgart.energycomponents.target/pom.xml
 create mode 100644 de.hftstuttgart.energycomponents.viewmodel/.classpath
 create mode 100644 de.hftstuttgart.energycomponents.viewmodel/pom.xml

diff --git a/de.hftstuttgart.energycomponents.application/.classpath b/de.hftstuttgart.energycomponents.application/.classpath
index 751c8f2..1f04690 100644
--- a/de.hftstuttgart.energycomponents.application/.classpath
+++ b/de.hftstuttgart.energycomponents.application/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/de.hftstuttgart.energycomponents.application/.project b/de.hftstuttgart.energycomponents.application/.project
index 306ac6b..bc5b42b 100644
--- a/de.hftstuttgart.energycomponents.application/.project
+++ b/de.hftstuttgart.energycomponents.application/.project
@@ -20,8 +20,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
diff --git a/de.hftstuttgart.energycomponents.application/Application.e4xmi b/de.hftstuttgart.energycomponents.application/Application.e4xmi
index 6b960af..8a6e73f 100644
--- a/de.hftstuttgart.energycomponents.application/Application.e4xmi
+++ b/de.hftstuttgart.energycomponents.application/Application.e4xmi
@@ -4,8 +4,8 @@
     <mainMenu xmi:id="_6wlLicgZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.main.menu">
       <children xsi:type="menu:Menu" xmi:id="_6wlLisgZEeSyMNYR5xypkQ" elementId="file" label="File">
         <children xsi:type="menu:HandledMenuItem" xmi:id="_6wlLi8gZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handleditem.file.new" label="New" iconURI="" command="_CqNHQBeZEeudKqin_4DG9g"/>
-        <children xsi:type="menu:HandledMenuItem" xmi:id="_RhHRIBeZEeudKqin_4DG9g" elementId="de.hftstuttgart.energycomponents.app.handleditem.file.open" label="Open" iconURI="platform:/plugin/de.hftstuttgart.energycomponents.app/icons/open_in_app.png" command="_6wlLgMgZEeSyMNYR5xypkQ"/>
-        <children xsi:type="menu:HandledMenuItem" xmi:id="_6wlLjMgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handleditem.save" label="Save" iconURI="platform:/plugin/de.hftstuttgart.energycomponents.app/icons/save_edit.png" command="_6wlLg8gZEeSyMNYR5xypkQ"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_RhHRIBeZEeudKqin_4DG9g" elementId="de.hftstuttgart.energycomponents.app.handleditem.file.open" label="Open" iconURI="platform:/plugin/de.hftstuttgart.energycomponents.application/icons/open_in_app.png" command="_6wlLgMgZEeSyMNYR5xypkQ"/>
+        <children xsi:type="menu:HandledMenuItem" xmi:id="_6wlLjMgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handleditem.save" label="Save" iconURI="platform:/plugin/de.hftstuttgart.energycomponents.application/icons/save_edit.png" command="_6wlLg8gZEeSyMNYR5xypkQ"/>
         <children xsi:type="menu:HandledMenuItem" xmi:id="_6wlLjcgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handleditem.quit" label="Quit" command="_6wlLfMgZEeSyMNYR5xypkQ"/>
       </children>
       <children xsi:type="menu:Menu" xmi:id="_6wlLjsgZEeSyMNYR5xypkQ" elementId="help" label="Help">
@@ -15,16 +15,16 @@
     <trimBars xmi:id="_6wlLlcgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.trimbar.top">
       <children xsi:type="menu:ToolBar" xmi:id="_6wlLlsgZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.main.toolbar">
         <children xsi:type="menu:HandledToolItem" xmi:id="_hhBDYBeZEeudKqin_4DG9g" elementId="de.hftstuttgart.energycomponents.app.handleditem.trimbar.top.open" label="New" iconURI="" command="_CqNHQBeZEeudKqin_4DG9g"/>
-        <children xsi:type="menu:HandledToolItem" xmi:id="_6wlLl8gZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handleditem.trimbar.top.open" iconURI="platform:/plugin/de.hftstuttgart.energycomponents.app/icons/open_in_app.png" command="_6wlLgMgZEeSyMNYR5xypkQ"/>
-        <children xsi:type="menu:HandledToolItem" xmi:id="_6wlLmMgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handleditem.trimbar.top.save" iconURI="platform:/plugin/de.hftstuttgart.energycomponents.app/icons/save_edit.png" command="_6wlLg8gZEeSyMNYR5xypkQ"/>
+        <children xsi:type="menu:HandledToolItem" xmi:id="_6wlLl8gZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handleditem.trimbar.top.open" iconURI="platform:/plugin/de.hftstuttgart.energycomponents.application/icons/open_in_app.png" command="_6wlLgMgZEeSyMNYR5xypkQ"/>
+        <children xsi:type="menu:HandledToolItem" xmi:id="_6wlLmMgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handleditem.trimbar.top.save" iconURI="platform:/plugin/de.hftstuttgart.energycomponents.application/icons/save_edit.png" command="_6wlLg8gZEeSyMNYR5xypkQ"/>
       </children>
     </trimBars>
   </children>
-  <handlers xmi:id="_Fn8DsBeZEeudKqin_4DG9g" elementId="de.hftstuttgart.energycomponents.app.handler.newCommand" contributionURI="bundleclass://de.hftstuttgart.energycomponents.app/de.hftstuttgart.energycomponents.app.handlers.NewHandler" command="_CqNHQBeZEeudKqin_4DG9g"/>
-  <handlers xmi:id="_6wlLgcgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handler.openCommand" contributionURI="bundleclass://de.hftstuttgart.energycomponents.app/de.hftstuttgart.energycomponents.app.handlers.OpenHandler" command="_6wlLgMgZEeSyMNYR5xypkQ"/>
-  <handlers xmi:id="_6wlLhMgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handler.saveCommand" contributionURI="bundleclass://de.hftstuttgart.energycomponents.app/de.hftstuttgart.energycomponents.app.handlers.SaveHandler" command="_6wlLg8gZEeSyMNYR5xypkQ"/>
-  <handlers xmi:id="_6wlLh8gZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handler.aboutCommand" contributionURI="bundleclass://de.hftstuttgart.energycomponents.app/de.hftstuttgart.energycomponents.app.handlers.AboutHandler" command="_6wlLhsgZEeSyMNYR5xypkQ"/>
-  <handlers xmi:id="_6wlLfcgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handler.quitCommand" contributionURI="bundleclass://de.hftstuttgart.energycomponents.app/de.hftstuttgart.energycomponents.app.handlers.QuitHandler" command="_6wlLfMgZEeSyMNYR5xypkQ"/>
+  <handlers xmi:id="_Fn8DsBeZEeudKqin_4DG9g" elementId="de.hftstuttgart.energycomponents.app.handler.newCommand" contributionURI="bundleclass://de.hftstuttgart.energycomponents.application/de.hftstuttgart.energycomponents.app.handlers.NewHandler" command="_CqNHQBeZEeudKqin_4DG9g"/>
+  <handlers xmi:id="_6wlLgcgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handler.openCommand" contributionURI="bundleclass://de.hftstuttgart.energycomponents.application/de.hftstuttgart.energycomponents.app.handlers.OpenHandler" command="_6wlLgMgZEeSyMNYR5xypkQ"/>
+  <handlers xmi:id="_6wlLhMgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handler.saveCommand" contributionURI="bundleclass://de.hftstuttgart.energycomponents.application/de.hftstuttgart.energycomponents.app.handlers.SaveHandler" command="_6wlLg8gZEeSyMNYR5xypkQ"/>
+  <handlers xmi:id="_6wlLh8gZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handler.aboutCommand" contributionURI="bundleclass://de.hftstuttgart.energycomponents.application/de.hftstuttgart.energycomponents.app.handlers.AboutHandler" command="_6wlLhsgZEeSyMNYR5xypkQ"/>
+  <handlers xmi:id="_6wlLfcgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.handler.quitCommand" contributionURI="bundleclass://de.hftstuttgart.energycomponents.application/de.hftstuttgart.energycomponents.app.handlers.QuitHandler" command="_6wlLfMgZEeSyMNYR5xypkQ"/>
   <bindingTables xmi:id="_6wlLfsgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.bindingtable" bindingContext="_6wlLecgZEeSyMNYR5xypkQ">
     <bindings xmi:id="_6wlLf8gZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.keybinding.m1q" keySequence="M1+Q" command="_6wlLfMgZEeSyMNYR5xypkQ"/>
     <bindings xmi:id="_6wlLgsgZEeSyMNYR5xypkQ" elementId="de.hftstuttgart.energycomponents.app.keybinding.m1o" keySequence="M1+O" command="_6wlLgMgZEeSyMNYR5xypkQ"/>
@@ -35,7 +35,7 @@
     <children xmi:id="_6wlLesgZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.contexts.window" name="In Windows"/>
     <children xmi:id="_6wlLe8gZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.contexts.dialog" name="In Dialogs"/>
   </rootContext>
-  <descriptors xmi:id="_JPM6kBdzEeuSnr5xc-g2BA" elementId="de.hftstuttgart.energycomponents.app.partdescriptor.catalog" iconURI="platform:/plugin/de.hftstuttgart.energycomponents.app/icons/home.png" allowMultiple="true" closeable="true" contributionURI="bundleclass://de.hftstuttgart.energycomponents.app/de.hftstuttgart.energycomponents.app.parts.CatalogPart"/>
+  <descriptors xmi:id="_JPM6kBdzEeuSnr5xc-g2BA" elementId="de.hftstuttgart.energycomponents.app.partdescriptor.catalog" iconURI="platform:/plugin/de.hftstuttgart.energycomponents.application/icons/home.png" allowMultiple="true" closeable="true" contributionURI="bundleclass://de.hftstuttgart.energycomponents.application/de.hftstuttgart.energycomponents.app.parts.CatalogPart"/>
   <commands xmi:id="_CqNHQBeZEeudKqin_4DG9g" elementId="org.eclipse.ui.file.new" commandName="newCommand"/>
   <commands xmi:id="_6wlLgMgZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.file.open" commandName="openCommand"/>
   <commands xmi:id="_6wlLg8gZEeSyMNYR5xypkQ" elementId="org.eclipse.ui.file.save" commandName="saveCommand"/>
diff --git a/de.hftstuttgart.energycomponents.application/META-INF/MANIFEST.MF b/de.hftstuttgart.energycomponents.application/META-INF/MANIFEST.MF
index 69ef69f..f152871 100644
--- a/de.hftstuttgart.energycomponents.application/META-INF/MANIFEST.MF
+++ b/de.hftstuttgart.energycomponents.application/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-Name: Energy Components Catalog App
-Bundle-SymbolicName: de.hftstuttgart.energycomponents.app;singleton:=true
+Bundle-Name: Energy Components Catalog Application
+Bundle-SymbolicName: de.hftstuttgart.energycomponents.application;singleton:=true
 Bundle-Version: 1.0.0
 Bundle-Vendor: HfT Stuttgart
 Require-Bundle: javax.inject;bundle-version="1.0.0",
@@ -26,6 +26,7 @@ Require-Bundle: javax.inject;bundle-version="1.0.0",
  de.hftstuttgart.cityunits.ui.renderer;bundle-version="1.0.1",
  tech.units.indriya;bundle-version="2.1.1"
 Import-Package: javax.annotation;version="1.3.5"
-Automatic-Module-Name: de.hftstuttgart.energycomponents.app
+Automatic-Module-Name: de.hftstuttgart.energycomponents.application
 Export-Package: de.hftstuttgart.energycomponents.app.handlers,
  de.hftstuttgart.energycomponents.app.parts;x-internal:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-15
diff --git a/de.hftstuttgart.energycomponents.application/build.properties b/de.hftstuttgart.energycomponents.application/build.properties
index 04ab1e9..7747874 100644
--- a/de.hftstuttgart.energycomponents.application/build.properties
+++ b/de.hftstuttgart.energycomponents.application/build.properties
@@ -1,5 +1,4 @@
 source.. = src/
-output.. = bin/
 bin.includes = plugin.xml,\
                META-INF/,\
                .,\
diff --git a/de.hftstuttgart.energycomponents.application/de.hftstuttgart.energycomponents.app.product b/de.hftstuttgart.energycomponents.application/de.hftstuttgart.energycomponents.app.product
deleted file mode 100644
index e8924e4..0000000
--- a/de.hftstuttgart.energycomponents.application/de.hftstuttgart.energycomponents.app.product
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="Energy Components Catalog" uid="de.hftstuttgart.energycomponents.app.product" id="de.hftstuttgart.energycomponents.app.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.0.0.qualifier" useFeatures="true" includeLaunchers="true">
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
-      </vmArgsMac>
-   </launcherArgs>
-
-   <windowImages/>
-
-   <launcher name="EnergCatalog">
-      <macosx icon="/de.hftstuttgart.energycomponents.app/icons/cyberduck-application.icns"/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-      <macos include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-14</macos>
-   </vm>
-
-   <plugins>
-   </plugins>
-
-   <features>
-      <feature id="de.hftstuttgart.energycomponents.feature"/>
-      <feature id="org.eclipse.e4.rcp"/>
-      <feature id="org.eclipse.emf.ecp.emfforms.runtime.feature"/>
-      <feature id="org.eclipse.emf.common"/>
-      <feature id="org.eclipse.emf.common.ui"/>
-      <feature id="org.eclipse.emf.databinding"/>
-      <feature id="org.eclipse.emf.databinding.edit"/>
-      <feature id="org.eclipse.emf.ecore"/>
-      <feature id="org.eclipse.emf.ecore.edit"/>
-      <feature id="org.eclipse.emf.edit"/>
-      <feature id="org.eclipse.emf.edit.ui"/>
-   </features>
-
-
-   <preferencesInfo>
-      <targetfile overwrite="false"/>
-   </preferencesInfo>
-
-   <cssInfo>
-   </cssInfo>
-
-</product>
diff --git a/de.hftstuttgart.energycomponents.application/pom.xml b/de.hftstuttgart.energycomponents.application/pom.xml
new file mode 100644
index 0000000..638e83d
--- /dev/null
+++ b/de.hftstuttgart.energycomponents.application/pom.xml
@@ -0,0 +1,17 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>de.hftstuttgart.energycomponents.application</artifactId>
+	<packaging>eclipse-plugin</packaging>
+
+	<name>Energy Components Catalog Application</name>
+	<parent>
+		<groupId>de.hftstuttgart</groupId>
+		<artifactId>energycomponents.parent</artifactId>
+		<version>1.0.0</version>
+		<relativePath>../de.hftstuttgart.energycomponents.parent</relativePath>
+	</parent>
+
+
+</project>
\ No newline at end of file
diff --git a/de.hftstuttgart.energycomponents.application/src/de/hftstuttgart/energycomponents/app/handlers/OpenHandler.java b/de.hftstuttgart.energycomponents.application/src/de/hftstuttgart/energycomponents/app/handlers/OpenHandler.java
index fc37d08..04b6ae8 100644
--- a/de.hftstuttgart.energycomponents.application/src/de/hftstuttgart/energycomponents/app/handlers/OpenHandler.java
+++ b/de.hftstuttgart.energycomponents.application/src/de/hftstuttgart/energycomponents/app/handlers/OpenHandler.java
@@ -2,20 +2,14 @@ package de.hftstuttgart.energycomponents.app.handlers;
 
 import javax.inject.Named;
 
-import org.eclipse.e4.core.contexts.IEclipseContext;
 import org.eclipse.e4.core.di.annotations.Execute;
 import org.eclipse.e4.ui.model.application.MApplication;
 import org.eclipse.e4.ui.services.IServiceConstants;
 import org.eclipse.e4.ui.workbench.modeling.EPartService;
-import org.eclipse.emf.common.command.BasicCommandStack;
-import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
 import org.eclipse.swt.widgets.Shell;
 
-import de.hftstuttgart.energycomponents.EnergyComponentsCatalog;
-
 public class OpenHandler {
 	@Execute
 	public void execute(MApplication application, @Named(IServiceConstants.ACTIVE_SHELL) Shell shell,
diff --git a/de.hftstuttgart.energycomponents.application/src/de/hftstuttgart/energycomponents/app/parts/CatalogPart.java b/de.hftstuttgart.energycomponents.application/src/de/hftstuttgart/energycomponents/app/parts/CatalogPart.java
index f90d3b1..b4cb118 100644
--- a/de.hftstuttgart.energycomponents.application/src/de/hftstuttgart/energycomponents/app/parts/CatalogPart.java
+++ b/de.hftstuttgart.energycomponents.application/src/de/hftstuttgart/energycomponents/app/parts/CatalogPart.java
@@ -6,22 +6,14 @@ import javax.annotation.PostConstruct;
 
 import org.eclipse.e4.ui.di.Persist;
 import org.eclipse.e4.ui.model.application.MApplication;
-import org.eclipse.emf.common.command.BasicCommandStack;
-import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.ecp.ui.view.ECPRendererException;
 import org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer;
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 
-import de.hftstuttgart.energycomponents.EnCompPackage;
-import de.hftstuttgart.energycomponents.EnergyComponentsCatalog;
-
 /**
  * Part for displaying a Forms Editor for an EnergyComponentsCatalog.
  * See https://www.vogella.com/tutorials/Eclipse4Services/article.html#implementing-editor-like-behavior
diff --git a/de.hftstuttgart.energycomponents.edit/.classpath b/de.hftstuttgart.energycomponents.edit/.classpath
index 8e001f7..bfd99b5 100644
--- a/de.hftstuttgart.energycomponents.edit/.classpath
+++ b/de.hftstuttgart.energycomponents.edit/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src-gen"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
+	<classpathentry kind="src" path="src-gen/"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/de.hftstuttgart.energycomponents.edit/.project b/de.hftstuttgart.energycomponents.edit/.project
index af0b502..9c616dd 100644
--- a/de.hftstuttgart.energycomponents.edit/.project
+++ b/de.hftstuttgart.energycomponents.edit/.project
@@ -20,8 +20,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 	</natures>
diff --git a/de.hftstuttgart.energycomponents.edit/build.properties b/de.hftstuttgart.energycomponents.edit/build.properties
index a3c4e32..bbc3e77 100644
--- a/de.hftstuttgart.energycomponents.edit/build.properties
+++ b/de.hftstuttgart.energycomponents.edit/build.properties
@@ -7,4 +7,3 @@ bin.includes = .,\
                plugin.properties
 jars.compile.order = .
 source.. = src-gen/
-output.. = bin/
diff --git a/de.hftstuttgart.energycomponents.edit/pom.xml b/de.hftstuttgart.energycomponents.edit/pom.xml
new file mode 100644
index 0000000..917b008
--- /dev/null
+++ b/de.hftstuttgart.energycomponents.edit/pom.xml
@@ -0,0 +1,16 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>de.hftstuttgart.energycomponents.edit</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>Energy Components Catalog Edit</name>
+
+	<parent>
+		<groupId>de.hftstuttgart</groupId>
+		<artifactId>energycomponents.parent</artifactId>
+		<version>1.0.0</version>
+		<relativePath>../de.hftstuttgart.energycomponents.parent</relativePath>
+	</parent>
+
+</project>
\ No newline at end of file
diff --git a/de.hftstuttgart.energycomponents.feature/.project b/de.hftstuttgart.energycomponents.feature/.project
index 0d70d9d..f142cc5 100644
--- a/de.hftstuttgart.energycomponents.feature/.project
+++ b/de.hftstuttgart.energycomponents.feature/.project
@@ -10,8 +10,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.FeatureNature</nature>
 	</natures>
 </projectDescription>
diff --git a/de.hftstuttgart.energycomponents.feature/feature.xml b/de.hftstuttgart.energycomponents.feature/feature.xml
index 67eb589..129d051 100644
--- a/de.hftstuttgart.energycomponents.feature/feature.xml
+++ b/de.hftstuttgart.energycomponents.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="de.hftstuttgart.energycomponents.feature"
       label="Energy Components Feature"
-      version="1.0.0.qualifier"
+      version="1.0.0"
       provider-name="HfT Stuttgart">
 
    <description url="http://www.example.com/description">
@@ -30,26 +30,6 @@
          version="0.0.0"
          unpack="false"/>
 
-   <plugin
-         id="de.hftstuttgart.units"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="de.hftstuttgart.units.ui.renderer"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="de.hftstuttgart.indriya.osgiplugin"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"/>
-
    <plugin
          id="org.eclipse.ui"
          download-size="0"
@@ -107,7 +87,7 @@
          unpack="false"/>
 
    <plugin
-         id="de.hftstuttgart.energycomponents.app"
+         id="de.hftstuttgart.energycomponents.application"
          download-size="0"
          install-size="0"
          version="0.0.0"
diff --git a/de.hftstuttgart.energycomponents.feature/pom.xml b/de.hftstuttgart.energycomponents.feature/pom.xml
new file mode 100644
index 0000000..e67e564
--- /dev/null
+++ b/de.hftstuttgart.energycomponents.feature/pom.xml
@@ -0,0 +1,15 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>de.hftstuttgart.energycomponents.feature</artifactId>
+	<packaging>eclipse-feature</packaging>
+	<name>Energy Components Catalog Feature</name>
+
+	<parent>
+		<groupId>de.hftstuttgart</groupId>
+		<artifactId>energycomponents.parent</artifactId>
+		<version>1.0.0</version>
+		<relativePath>../de.hftstuttgart.energycomponents.parent</relativePath>
+	</parent>
+</project>
\ No newline at end of file
diff --git a/de.hftstuttgart.energycomponents.model/.classpath b/de.hftstuttgart.energycomponents.model/.classpath
index af08aa6..0a41b4a 100644
--- a/de.hftstuttgart.energycomponents.model/.classpath
+++ b/de.hftstuttgart.energycomponents.model/.classpath
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src-gen"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
-		<attributes>
-			<attribute name="module" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+		<attributes>
+			<attribute name="module" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src-gen/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/de.hftstuttgart.energycomponents.model/.project b/de.hftstuttgart.energycomponents.model/.project
index 6c45ab7..1409b21 100644
--- a/de.hftstuttgart.energycomponents.model/.project
+++ b/de.hftstuttgart.energycomponents.model/.project
@@ -20,8 +20,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.sirius.nature.modelingproject</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/de.hftstuttgart.energycomponents.model/build.properties b/de.hftstuttgart.energycomponents.model/build.properties
index 0e10ab4..883e989 100644
--- a/de.hftstuttgart.energycomponents.model/build.properties
+++ b/de.hftstuttgart.energycomponents.model/build.properties
@@ -7,4 +7,3 @@ bin.includes = .,\
                plugin.properties
 jars.compile.order = .
 source.. = src-gen/
-output.. = bin/
diff --git a/de.hftstuttgart.energycomponents.model/pom.xml b/de.hftstuttgart.energycomponents.model/pom.xml
new file mode 100644
index 0000000..aebccd0
--- /dev/null
+++ b/de.hftstuttgart.energycomponents.model/pom.xml
@@ -0,0 +1,16 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>de.hftstuttgart.energycomponents.model</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>Energy Components Catalog Model</name>
+
+	<parent>
+		<groupId>de.hftstuttgart</groupId>
+		<artifactId>energycomponents.parent</artifactId>
+		<version>1.0.0</version>
+		<relativePath>../de.hftstuttgart.energycomponents.parent</relativePath>
+	</parent>
+
+</project>
\ No newline at end of file
diff --git a/de.hftstuttgart.energycomponents.parent/.project b/de.hftstuttgart.energycomponents.parent/.project
new file mode 100644
index 0000000..45d567e
--- /dev/null
+++ b/de.hftstuttgart.energycomponents.parent/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>de.hftstuttgart.energycomponents.parent</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/de.hftstuttgart.energycomponents.parent/pom.xml b/de.hftstuttgart.energycomponents.parent/pom.xml
new file mode 100644
index 0000000..f3c4c9f
--- /dev/null
+++ b/de.hftstuttgart.energycomponents.parent/pom.xml
@@ -0,0 +1,77 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>de.hftstuttgart</groupId>
+	<artifactId>energycomponents.parent</artifactId>
+	<version>1.0.0</version>
+	<packaging>pom</packaging>
+	<name>Energy Components Catalog Parent</name>
+	<description>Maven parent and aggregator project for Energy Components Catalog Model and Editor</description>
+
+	<properties>
+		<tycho-version>2.2.0</tycho-version>
+	</properties>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-maven-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<configuration>
+					<source>15</source>
+					<target>15</target>
+					<encoding>UTF-8</encoding>
+				</configuration>
+				<extensions>true</extensions>
+			</plugin>
+
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>target-platform-configuration</artifactId>
+				<version>${tycho-version}</version>
+				<configuration>
+					<executionEnvironment>JavaSE-15</executionEnvironment>
+					<target>
+						<artifact>
+							<groupId>de.hftstuttgart</groupId>
+							<artifactId>de.hftstuttgart.energycomponents.target</artifactId>
+							<version>1.0.0</version>
+						</artifact>
+					</target>
+					<resolveWithExecutionEnvironmentConstraints>false</resolveWithExecutionEnvironmentConstraints>
+					<environments>
+						<!-- environment> <os>linux</os> <ws>gtk</ws> <arch>x86</arch> </environment -->
+						<environment>
+							<os>linux</os>
+							<ws>gtk</ws>
+							<arch>x86_64</arch>
+						</environment>
+						<environment>
+							<os>win32</os>
+							<ws>win32</ws>
+							<arch>x86_64</arch>
+						</environment>
+						<environment>
+							<os>macosx</os>
+							<ws>cocoa</ws>
+							<arch>x86_64</arch>
+						</environment>
+					</environments>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+
+	<modules>
+		<module>../de.hftstuttgart.energycomponents.model</module>
+		<module>../de.hftstuttgart.energycomponents.edit</module>
+		<module>../de.hftstuttgart.energycomponents.viewmodel</module>
+		<module>../de.hftstuttgart.energycomponents.application</module>
+		<module>../de.hftstuttgart.energycomponents.feature</module>
+		<module>../de.hftstuttgart.energycomponents.product</module>
+		<module>../de.hftstuttgart.energycomponents.target</module>
+	</modules>
+
+</project>
\ No newline at end of file
diff --git a/de.hftstuttgart.energycomponents.product/.project b/de.hftstuttgart.energycomponents.product/.project
new file mode 100644
index 0000000..385030b
--- /dev/null
+++ b/de.hftstuttgart.energycomponents.product/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>de.hftstuttgart.energycomponents.product</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/de.hftstuttgart.energycomponents.product/de.hftstuttgart.energycomponents.app.product b/de.hftstuttgart.energycomponents.product/de.hftstuttgart.energycomponents.app.product
new file mode 100644
index 0000000..f054528
--- /dev/null
+++ b/de.hftstuttgart.energycomponents.product/de.hftstuttgart.energycomponents.app.product
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product name="Energy Components Catalog Editor" uid="de.hftstuttgart.energycomponents.application.product"
+   id="de.hftstuttgart.energycomponents.application.product"
+   application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.0.0"
+   useFeatures="true" includeLaunchers="true">
+
+   <configIni use="default">
+   </configIni>
+
+   <launcherArgs>
+      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
+      </vmArgsMac>
+   </launcherArgs>
+
+   <windowImages/>
+
+   <launcher name="EnergyCompCatalogs">
+      <win useIco="false">
+         <bmp/>
+      </win>
+   </launcher>
+
+   <vm>
+   </vm>
+
+   <plugins>
+      <plugin id="org.eclipse.emf.ecp.ui.view.swt"/>
+      <plugin id="org.eclipse.emf.ecp.view.model.provider.xmi"/>
+   </plugins>
+
+   <features>
+      <feature id="de.hftstuttgart.energycomponents.feature"/>
+      <feature id="org.eclipse.emf.ecp.viewmodel.feature" installMode="root"/>
+      <feature id="org.eclipse.emf.ecp.view.categorization.feature" installMode="root"/>
+      <feature id="org.eclipse.emf.ecp.view.group.feature" installMode="root"/>
+      <feature id="org.eclipse.emf.ecp.view.label.feature" installMode="root"/>
+      <feature id="org.eclipse.emf.ecp.view.table.feature" installMode="root"/>
+      <feature id="org.eclipse.equinox.sdk" installMode="root"/>
+      <feature id="org.eclipse.justj.openjdk.hotspot.jre.full.stripped" installMode="root"/>
+   </features>
+
+   <configurations>
+      <plugin id="org.apache.felix.scr" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="4" />
+      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
+   </configurations>
+
+   <preferencesInfo>
+      <targetfile overwrite="false"/>
+   </preferencesInfo>
+
+   <cssInfo>
+   </cssInfo>
+
+</product>
diff --git a/de.hftstuttgart.energycomponents.product/pom.xml b/de.hftstuttgart.energycomponents.product/pom.xml
new file mode 100644
index 0000000..5b27b0f
--- /dev/null
+++ b/de.hftstuttgart.energycomponents.product/pom.xml
@@ -0,0 +1,46 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>de.hftstuttgart.energycomponents.product</artifactId>
+	<packaging>eclipse-repository</packaging>
+	<name>Energy Components Catalog Product</name>
+	
+	<parent>
+		<groupId>de.hftstuttgart</groupId>
+		<artifactId>energycomponents.parent</artifactId>
+		<version>1.0.0</version>
+		<relativePath>../de.hftstuttgart.energycomponents.parent</relativePath>
+	</parent>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.tycho</groupId>
+				<artifactId>tycho-p2-director-plugin</artifactId>
+				<version>${tycho-version}</version>
+				<configuration>
+					<formats>
+						<win32>zip</win32>
+						<linux>tar.gz</linux>
+						<macosx>zip</macosx>
+					</formats>
+				</configuration>
+				<executions>
+					<execution>
+						<id>materialize-products</id>
+						<goals>
+							<goal>materialize-products</goal>
+						</goals>
+					</execution>
+					<execution>
+						<id>archive-products</id>
+						<goals>
+							<goal>archive-products</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+</project>
\ No newline at end of file
diff --git a/de.hftstuttgart.energycomponents.target/.project b/de.hftstuttgart.energycomponents.target/.project
index 201c174..1a97e8d 100644
--- a/de.hftstuttgart.energycomponents.target/.project
+++ b/de.hftstuttgart.energycomponents.target/.project
@@ -5,7 +5,13 @@
 	<projects>
 	</projects>
 	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 	</natures>
 </projectDescription>
diff --git a/de.hftstuttgart.energycomponents.target/energycomponents.target.target b/de.hftstuttgart.energycomponents.target/energycomponents.target.target
index f838725..29a4420 100644
--- a/de.hftstuttgart.energycomponents.target/energycomponents.target.target
+++ b/de.hftstuttgart.energycomponents.target/energycomponents.target.target
@@ -24,4 +24,5 @@
 			<unit id="org.eclipse.justj.openjdk.hotspot.jre.full.stripped.feature.group" version="15.0.2.v20210201-0955"/>
 		</location>
 	</locations>
+	<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/OpenJDK 15"/>
 </target>
\ No newline at end of file
diff --git a/de.hftstuttgart.energycomponents.target/pom.xml b/de.hftstuttgart.energycomponents.target/pom.xml
new file mode 100644
index 0000000..f0cd533
--- /dev/null
+++ b/de.hftstuttgart.energycomponents.target/pom.xml
@@ -0,0 +1,16 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>de.hftstuttgart.energycomponents.target</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Energy Components Catalog Target Definition</name>
+
+	<parent>
+		<groupId>de.hftstuttgart</groupId>
+		<artifactId>energycomponents.parent</artifactId>
+		<version>1.0.0</version>
+		<relativePath>../de.hftstuttgart.energycomponents.parent</relativePath>
+	</parent>
+
+</project>
\ No newline at end of file
diff --git a/de.hftstuttgart.energycomponents.viewmodel/.classpath b/de.hftstuttgart.energycomponents.viewmodel/.classpath
new file mode 100644
index 0000000..a9f4be7
--- /dev/null
+++ b/de.hftstuttgart.energycomponents.viewmodel/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/de.hftstuttgart.energycomponents.viewmodel/.project b/de.hftstuttgart.energycomponents.viewmodel/.project
index d673eb3..ef7b6a0 100644
--- a/de.hftstuttgart.energycomponents.viewmodel/.project
+++ b/de.hftstuttgart.energycomponents.viewmodel/.project
@@ -5,6 +5,11 @@
 	<projects>
 	</projects>
 	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 		<buildCommand>
 			<name>org.eclipse.pde.ManifestBuilder</name>
 			<arguments>
@@ -20,9 +25,16 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.emfforms.ide.builder.viewModelNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
 </projectDescription>
diff --git a/de.hftstuttgart.energycomponents.viewmodel/META-INF/MANIFEST.MF b/de.hftstuttgart.energycomponents.viewmodel/META-INF/MANIFEST.MF
index 3be854e..8c85799 100644
--- a/de.hftstuttgart.energycomponents.viewmodel/META-INF/MANIFEST.MF
+++ b/de.hftstuttgart.energycomponents.viewmodel/META-INF/MANIFEST.MF
@@ -2,5 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: de.hftstuttgart.energycomponents.viewmodel
 Bundle-SymbolicName: de.hftstuttgart.energycomponents.viewmodel;singleton:=true
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.0.0
 Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi
+Bundle-RequiredExecutionEnvironment: JavaSE-15
+Automatic-Module-Name: de.hftstuttgart.energycomponents.viewmodel
diff --git a/de.hftstuttgart.energycomponents.viewmodel/pom.xml b/de.hftstuttgart.energycomponents.viewmodel/pom.xml
new file mode 100644
index 0000000..ee7c180
--- /dev/null
+++ b/de.hftstuttgart.energycomponents.viewmodel/pom.xml
@@ -0,0 +1,16 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>de.hftstuttgart.energycomponents.viewmodel</artifactId>
+	<packaging>eclipse-plugin</packaging>
+	<name>Energy Components Catalog View Model</name>
+
+	<parent>
+		<groupId>de.hftstuttgart</groupId>
+		<artifactId>energycomponents.parent</artifactId>
+		<version>1.0.0</version>
+		<relativePath>../de.hftstuttgart.energycomponents.parent</relativePath>
+	</parent>
+
+</project>
\ No newline at end of file
-- 
GitLab