From 6fe1874d85587d49cddde8dea26d542b5076b2fd Mon Sep 17 00:00:00 2001
From: "Hahn Axel (hahn)" <axel.hahn@unibe.ch>
Date: Wed, 19 Feb 2025 15:40:08 +0100
Subject: [PATCH] update Build docs

---
 docs/30_Server/Processes/10_Build.md | 35 +++++++++++++++++++++-------
 1 file changed, 27 insertions(+), 8 deletions(-)

diff --git a/docs/30_Server/Processes/10_Build.md b/docs/30_Server/Processes/10_Build.md
index 492260d2..46afd510 100644
--- a/docs/30_Server/Processes/10_Build.md
+++ b/docs/30_Server/Processes/10_Build.md
@@ -2,8 +2,8 @@
 
 A build process can be started ...
 
-* by `Build`button on overview page
-* by `Build`button in application view
+* by `Build` button on overview page
+* by `Build` button in application view
 * by API call
 
 Among its steps are some builtin, some depend on the project settings and some can be influenced by the developers.
@@ -71,12 +71,13 @@ echo myVar=$myVar
 * $DIR_APPROOT - full path of the current build directory (z.B. /var/imldeployment/build/ci-webgui/ci-webgui_20171211-102707)
 * $RVMSCRIPT - for Rails projects: path to the RVM script. With it you can set a custom Ruby version
 * $NVMINIT - for NodeJs projects - to install a custom node version
+* $ENVINIT - to set a Java and Maven version
 
 Snippets:
 
-(1)
+#### Set a Ruby version
 
-Set a Ruby version:
+(1)
 Rvm must be installed on the server where the ci server runs.
 
 ```shell
@@ -84,9 +85,9 @@ Rvm must be installed on the server where the ci server runs.
 rvm use 2.2.3
 ```
 
-(2)
+#### Set a custom Nodejs version
 
-Set a custom Nodejs version:
+(2)
 The NVM init script is part of the ci server.
 
 ```shell
@@ -96,13 +97,31 @@ rvm use 2.2.3
 nvm install [Version]
 ```
 
-Important: at the end of the hook script uninstall it by using `nvmremove`.
+⚠️ Important: at the end of the hook script uninstall it by using `nvmremove`.
 
- Ressources:
+Ressources:
 
 * CI-Git-Repo .. nvm_init.sh: <https://git-repo.iml.unibe.ch/iml-open-source/imldeployment/-/blob/master/shellscripts/nvm_init.sh>
 * NVM: <https://github.com/nvm-sh/>
 
+#### Set a custom Java or Maven version
+
+In the onbuild a developer can set a java version without knowledge of its installation path. Java ando or Maven that must be
+
+* installed locally
+* added in shellscripts/env_init.sh.cfg
+
+In the onbuild script their versions can be set by sourcing the shell script in variable $ENVSCRIPT:
+
+```shell
+. $ENVSCRIPT --java 23 --maven 3.9.8
+```
+
+Ressources:
+
+* CI-Git-Repo .. env_init.sh: <https://git-repo.iml.unibe.ch/iml-open-source/imldeployment/-/blob/master/shellscripts/env_init.sh>
+* CI-Git-Repo .. env_init.sh.cfg.dist: <https://git-repo.iml.unibe.ch/iml-open-source/imldeployment/-/blob/master/shellscripts/env_init.sh.cfg.dist>
+
 ### Remove vcs data
 
 The version control data (`.git` directory in build root) will be removed.
-- 
GitLab