== Build (Parameter Catalog) Applications with Eclipse Tycho

Three plugins so for for the content and UI.

Missing: Deployable application and inclusion to third party libraries.

Building an application "around" the three plugins for Ecore data model and UI specification model.

See template.


=== Create an Eclipse Application

*TBD*


=== Use Maven and Tycho as Build System

.Install Maven Support

We are going to create a complete Eclipse desktop application from generated code.
We also want to deploy this application for Linux, macOS and Windows operating systems.
Eclipse offers several approaches for compiling and deploying such an application, traditionally with _Ant_ scripts.

Creation and maintenance of these scripts turned out to be tedious and error prone.
For quite some years now, the proposed -- and mostly supported -- method for building Eclipse applications is to use _Maven_ build system, more specifically, a couple of Maven plug-ins, subsumed under the name _Tycho_.

Many Eclipse platforms have Maven support https://www.eclipse.org/m2e/[_M2Eclipse_] already built in, not so our _Eclipse Modeling Tools_.
But don't worry: Installation of required Eclipse feature is easy and straight forward.
And, by the way, you will acquire the indispensable skill of how to install new plug-ins/features to Eclipse.

First, tell your Eclipse installation where to look for the new software.
Execute `Help -> Install new Software...` to invoke dialog _Available Software_ and press `Add...`.
Sub-dialog `Add Repository` pops up.

.Add update site m2e 
image::InstallMaven1.gif[InstallMaven1, role="thumb"]

In there provide `m2e` as name and

 http://download.eclipse.org/technology/m2e/releases

as location.
After confirmation with `Add`, choose the new site to `Work with:` Eclipse now looks up the site for available software.

.Choose features to install
image::InstallMaven2.gif[InstallMaven2, role="thumb"]

Provided `Group items by category` is checked, above features are displayed. Check all features and confirm all following questions about licenses and security concerns.
After download is complete -- it can take a few minutes -- restart Eclipse.
Verify that Maven version 3.6.3 or above is now installed in `Window -> Preferences...` (or `Eclipse -> Preferences...` on macOS) under `Maven -> Installations`.

.Check Maven installation
image::InstallMaven3.gif[InstallMaven3, 400, role="thumb"]

."Mavenize" projects

*TBD*


.Build and Deploy with Tycho

*TBD*

.Add third party Java libraries

*TBD*

"Correct" way to add third party Java libraries as plugins

Example Indriya


=== Deploy to P2 Repository

*TBD*


=== Versioning and Collaboration

*TBD*
