Commit cde6b190 authored by Kai-Holger Brassel's avatar Kai-Holger Brassel
Browse files

Enable Maven build with m2e and tycho configurators installed in Eclipse

* Add Maven parent with tycho and P2 repo(s) for target definition
* Add Maven nature to all projects
* Add POM files with packaging eclipse-plugin , -feature, -repository
* Dedicated project for product definition
* Add configuration with default start levels to product definition
parent b4ddebcb
......@@ -6,11 +6,18 @@
1. Ensure Java 11 or higher is available (if not, install AdoptOpenJDK 15)
2. Install Eclipse Modeling Tools, version 2020-09 or higher
3. Import all Eclipse projects in this GIT repository via `File -> Import... -> Projects from GIT -> Clone URI`
4. Refresh and clean/build projects
5. Open `de.hftstuttgart.buildingphysics.application.product` and in `Overview`, section `Testing` press `Synchronize` first and `Launch an Eclipse Application` second
6. Press `New...` to ceate a new empty Building Physics Catalog; Save and Load buttons are also available.
3. Install m2e and tycho configurators to enable Maven
* Add Maven support via `Help -> Install New Software...` from update site `http://download.eclipse.org/technology/m2e/releases`, check `Maven Integration for Eclipse` (m2e) and accept all defaults
* Go to `Eclipse Preferences... -> Maven -> Discovery` and press `Open Catalog`, Find: `tycho` and check `Tycho Configurator`, Press `Finish`.
4. Import all Eclipse projects in this GIT repository via `File -> Import... -> Projects from GIT -> Clone URI`
5. Refresh and clean/build projects
6. Select file `de.hftstuttgart.buildingphysics.application.product` and execute `Open With -> Product Configuration Editor`, in `Overview`, section `Testing`, press `Synchronize` first and `Launch an Eclipse Application` second. Validation will fail, but nevertheless, proceed to generate a Runtime Configuration, albeit incomplete for now.
7. Open `Run -> Run Configuration...`, select newly created run configuration and execute `Add Required Plug-ins` under tab `Plug-ins`, `Apply` and `Run`
7. Run/Debug from Eclipse IDE: Press `New...` to ceate a new empty Building Physics Catalog; Save and Load buttons are also available.
8. Build deliverables with Maven: Select project `de.hftstuttgart.buildingphysics.parent` and execute `Run As -> Maven install`
## How to Create
Find background information about parameter catalogs for simulation and a tutorial on how to create them at [https://transfer.hft-stuttgart.de/gitlab/neqmodplus/parameter-catalogs-for-simulation](https://transfer.hft-stuttgart.de/gitlab/neqmodplus/parameter-catalogs-for-simulation).
......@@ -3,5 +3,5 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
......@@ -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>
......
......@@ -7,10 +7,10 @@
point="org.eclipse.core.runtime.products">
<product
application="org.eclipse.e4.ui.workbench.swt.E4Application"
name="de.hftstuttgart.buildingphysics.application">
name="Building Physics Catalog Editor">
<property
name="appName"
value="de.hftstuttgart.buildingphysics.application">
value="Building Physics Catalog Editor">
</property>
</product>
</extension>
......
<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.buildingphysics.application</artifactId>
<packaging>eclipse-plugin</packaging>
<name>Building Physics Catalog Application</name>
<parent>
<groupId>de.hftstuttgart</groupId>
<artifactId>buildingphysics.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../de.hftstuttgart.buildingphysics.parent</relativePath>
</parent>
</project>
\ No newline at end of file
<?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/J2SE-1.5"/>
<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>
......@@ -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>
......
<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.buildingphysics.edit</artifactId>
<packaging>eclipse-plugin</packaging>
<name>Building Physics Catalog Edit</name>
<parent>
<groupId>de.hftstuttgart</groupId>
<artifactId>buildingphysics.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../de.hftstuttgart.buildingphysics.parent</relativePath>
</parent>
</project>
\ No newline at end of file
......@@ -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>
......@@ -17,64 +17,26 @@
[Enter License Description here.]
</license>
<plugin
id="de.hftstuttgart.buildingphysics.application"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<requires>
<import plugin="javax.inject"/>
<import plugin="org.eclipse.core.runtime"/>
<import plugin="org.eclipse.swt"/>
<import plugin="org.eclipse.e4.ui.model.workbench"/>
<import plugin="org.eclipse.jface"/>
<import plugin="org.eclipse.e4.ui.services"/>
<import plugin="org.eclipse.e4.ui.workbench"/>
<import plugin="org.eclipse.e4.core.di"/>
<import plugin="org.eclipse.e4.ui.di"/>
<import plugin="org.eclipse.e4.core.contexts"/>
<import plugin="org.eclipse.emf.ecore"/>
<import plugin="org.eclipse.emf.edit"/>
<import plugin="org.eclipse.emf.ecp.ui.view.swt"/>
<import plugin="javax.annotation"/>
<import plugin="org.eclipse.emf.ecp.view.model.provider.xmi"/>
</requires>
<plugin
id="org.eclipse.ui"
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.workbench"
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.core.resources"
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.jface.text"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.eclipse.text"
id="de.hftstuttgart.buildingphysics.application"
download-size="0"
install-size="0"
version="0.0.0"
......
<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.buildingphysics.feature</artifactId>
<packaging>eclipse-feature</packaging>
<name>Building Physics Catalog Feature</name>
<parent>
<groupId>de.hftstuttgart</groupId>
<artifactId>buildingphysics.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../de.hftstuttgart.buildingphysics.parent</relativePath>
</parent>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>de.hftstuttgart.buildingphysics.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>
<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>buildingphysics.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Building Physics Catalog Parent POM</name>
<properties>
<tycho-version>2.1.0</tycho-version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<environments>
<!-- environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86</arch>
</environment -->
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>x86_64</arch>
</environment>
</environments>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>eclipse-2020-09</id>
<layout>p2</layout>
<url>http://download.eclipse.org/releases/2020-09</url>
</repository>
</repositories>
<modules>
<module>../de.hftstuttgart.buildingphysics</module>
<module>../de.hftstuttgart.buildingphysics.edit</module>
<module>../de.hftstuttgart.buildingphysics.viewmodel</module>
<module>../de.hftstuttgart.buildingphysics.application</module>
<module>../de.hftstuttgart.buildingphysics.feature</module>
<module>../de.hftstuttgart.buildingphysics.product</module>
</modules>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>de.hftstuttgart.buildingphysics.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>
<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>
<product name="de.hftstuttgart.buildingphysics.application" uid="de.hftstuttgart.buildingphysics.application.product" id="de.hftstuttgart.buildingphysics.application.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.0.0.qualifier" useFeatures="true" includeLaunchers="true">
<product name="Building Physics Catalog Editor" uid="de.hftstuttgart.buildingphysics.application.product" id="de.hftstuttgart.buildingphysics.application.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="1.0.0.qualifier" useFeatures="true" includeLaunchers="true">
<configIni use="default">
</configIni>
......@@ -26,25 +26,35 @@
</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="org.eclipse.e4.rcp" installMode="root"/>
<feature id="de.hftstuttgart.buildingphysics.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"/>
<feature id="org.eclipse.emf.ecore" installMode="root"/>
<feature id="org.eclipse.emf.common" installMode="root"/>
<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"/>
</features>
<configurations>
<plugin id="org.apache.felix.scr" autoStart="true" startLevel="2" />
<plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
<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>
<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>CatalogRepo</artifactId>
<packaging>eclipse-repository</packaging>
<name>Building Physics Catalog Product</name>
<parent>
<groupId>de.hftstuttgart</groupId>
<artifactId>buildingphysics.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../de.hftstuttgart.buildingphysics.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
<?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>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>de.hftstuttgart.buildingphysics.viewmodel</name>
<comment/>
<projects>
<name>de.hftstuttgart.buildingphysics.viewmodel</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.emfforms.ide.builder.viewModelBuilder</name>
<arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.emfforms.ide.builder.viewModelNature</nature>
</natures>
</buildCommand>
<buildCommand>
<name>org.eclipse.emfforms.ide.builder.viewModelBuilder</name>
<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>
<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.buildingphysics.viewmodel</artifactId>
<packaging>eclipse-plugin</packaging>
<name>Building Physics Catalog View Model</name>
<parent>
<groupId>de.hftstuttgart</groupId>
<artifactId>buildingphysics.parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../de.hftstuttgart.buildingphysics.parent</relativePath>
</parent>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src-gen"/>
<classpathentry kind="src" path="src"/>
<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/J2SE-1.5"/>
<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>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment