////
******************************************************************************
* Copyright © 2018 Mettenmeier GmbH.
* 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
*
******************************************************************************
////
= openKonsequenz "Standby Planning" - How to build 
:Date: 2018-07-04
:Revision: 1

This document describes how the modules for the "Standby Planning" application can be build.

== Front End
//TODO FE Build beschreiben.

== Back End (manual build) 
The back end is a maven based java project that can be build by a mvn statement like this.

 * mvn clean org.jacoco:jacoco-maven-plugin:0.8.1:prepare-agent install tomcat7:redeploy

.list of statements
[cols="2", options="header"]
|===
|statement |description
|mvn|execute the maven command 
|clean|maven phase to remove the existing packages in project
|org.jacoco:jacoco-maven-plugin:0.8.1:prepare-agent |agent that analyse the test results to get a test rating for the unit tests
|install|maven command to build a .jar or .war file
|tomcat7:redeploy |maven command to move the builded .war file to the configured tomcat.
|sonar:sonar |pushes the needed data to a sonarqube
|===

== 2.b Back End (automatic build)
//TODO add Jenkins URL of Eclipse Project
