From 10140f3c262f4c9ebfc160b160771de2359fb75a Mon Sep 17 00:00:00 2001
From: Eike Cochu <eike@cochu.com>
Date: Thu, 3 Mar 2016 19:49:09 +0100
Subject: [PATCH] updated build script, added build switches and dtm building

---
 build.sh | 176 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 135 insertions(+), 41 deletions(-)

diff --git a/build.sh b/build.sh
index b8e87802..3dd47120 100755
--- a/build.sh
+++ b/build.sh
@@ -1,5 +1,20 @@
 #!/bin/sh
 
+# point this folder to the webapps dir of your tomcat server for auto deploy
+TOMCAT_WEBAPPS="vm/webapps"
+
+# enable/disable (1/0) project building
+BUILD_DTM=1
+BUILD_JGIBBLDA=1
+BUILD_VIPRA_UTIL=1
+BUILD_VIPRA_CMD=1
+BUILD_VIPRA_UI=1
+BUILD_VIPRA_BACKEND=1
+
+# enable to deploy frontend assets in vipra.war
+# disable if you want to serve frontend assets from another server
+INCLUDE_FRONTEND_IN_WAR=1
+
 # =========================================================
 # DO NOT EDIT AFTER THIS POINT
 # =========================================================
@@ -7,71 +22,150 @@
 LOG="build.log"
 rm -f $LOG
 
-JAVA=$(which java)
-if [ $? -ne 0 ]; then
-	echo "java not found"
-	exit 1
+if [ $BUILD_DTM -eq 1 ]; then
+        MAKE=$(command -v make 2>/dev/null) || { echo >&2 "make not found"; exit 1; }
+        echo using $MAKE | tee $LOG
 fi
 
-MVN=$(which mvn)
-if [ $? -ne 0 ]; then
-	echo "maven not found"
-	exit 1
+if [ $BUILD_JGIBBLDA -eq 1 ] || [ $BUILD_VIPRA_UTIL -eq 1 ] || [ $BUILD_VIPRA_CMD -eq 1 ] || [ $BUILD_VIPRA_BACKEND -eq 1 ]; then
+        JAVA=$(command -v java 2>/dev/null) || { echo >&2 "java not found"; exit 1; }
+        echo using $JAVA | tee $LOG
+
+        MVN=$(command -v mvn 2>/dev/null) || { echo >&2 "mvn not found"; exit 1; }
+        echo using $MVN | tee $LOG
 fi
-echo using $MVN | tee $LOG
+
+if [ $BUILD_VIPRA_UI -eq 1 ]; then
+        NODE=$(command -v node 2>/dev/null) || { echo >&2 "node not found"; exit 1; }
+        echo using $NODE | tee $LOG
+
+        NPM=$(command -v npm 2>/dev/null) || { echo >&2 "npm not found"; exit 1; }
+        echo using $NPM | tee $LOG
+
+        BOWER=$(command -v bower 2>/dev/null) || { echo >&2 "bower not found"; exit 1; }
+        echo using $BOWER | tee $LOG
+
+        GULP=$(command -v gulp 2>/dev/null) || { echo >&2 "gulp not found"; exit 1; }
+        echo using $GULP | tee $LOG
+fi
+
+# build dtm
 
 echo "" >> $LOG
 echo "-------------------------------" >> $LOG
-echo "compiling jgibblda" | tee -a $LOG
-echo "-------------------------------" >> $LOG
-$MVN -f ./jgibblda/pom.xml install >> $LOG 2>&1
-if [ $? -ne 0 ]; then
-        echo "error"
-        exit 1
+if [ $BUILD_DTM -ne 1 ]; then
+        echo "compiling dtm > skipped" | tee -a $LOG
+else
+        echo "compiling dtm" | tee -a $LOG
+        echo "-------------------------------" >> $LOG
+        cd dtm_release/dtm
+        make >> $LOG 2>&1
+        if [ $? -ne 0 ]; then
+                echo "error"
+                exit 1
+        fi
+        cd ../..
 fi
 
+# build jgibblda
+
 echo "" >> $LOG
 echo "-------------------------------" >> $LOG
-echo "compiling vipra-util" | tee -a $LOG
-echo "-------------------------------" >> $LOG
-$MVN -f ./vipra-util/pom.xml install >> $LOG 2>&1
-if [ $? -ne 0 ]; then
-	echo "error"
-	exit 1
+if [ $BUILD_JGIBBLDA -ne 1 ]; then
+        echo "compiling jgibblda > skipped" | tee -a $LOG
+else
+        echo "compiling jgibblda" | tee -a $LOG
+        echo "-------------------------------" >> $LOG
+        $MVN -f ./jgibblda/pom.xml install >> $LOG 2>&1
+        if [ $? -ne 0 ]; then
+                echo "error"
+                exit 1
+        fi
 fi
 
+# build vipra-util
+
 echo "" >> $LOG
 echo "-------------------------------" >> $LOG
-echo "compiling vipra-cmd" | tee -a $LOG
-echo "-------------------------------" >> $LOG
-$MVN -f ./vipra-cmd/pom.xml package >> $LOG 2>&1
-if [ $? -ne 0 ]; then
-        echo "error"
-        exit 1
+if [ $BUILD_VIPRA_UTIL -ne 1 ]; then
+        echo "compiling vipra-util > skipped" | tee -a $LOG
+else
+        echo "compiling vipra-util" | tee -a $LOG
+        echo "-------------------------------" >> $LOG
+        $MVN -f ./vipra-util/pom.xml install >> $LOG 2>&1
+        if [ $? -ne 0 ]; then
+        	echo "error"
+        	exit 1
+        fi
 fi
 
+# build vipra-cmd
+
 echo "" >> $LOG
 echo "-------------------------------" >> $LOG
-echo "compiling vipra-ui" | tee -a $LOG
+if [ $BUILD_VIPRA_CMD -ne 1 ]; then
+        echo "compiling vipra-cmd > skipped" | tee -a $LOG
+else
+        echo "compiling vipra-cmd" | tee -a $LOG
+        echo "-------------------------------" >> $LOG
+        $MVN -f ./vipra-cmd/pom.xml package >> $LOG 2>&1
+        if [ $? -ne 0 ]; then
+                echo "error"
+                exit 1
+        fi
+fi
+
+# build vipra-ui
+
+echo "" >> $LOG
 echo "-------------------------------" >> $LOG
-cd ./vipra-ui
-./build.sh >> $LOG 2>&1
-rm -rf ../vipra-backend/src/main/public
-cp -r public ../vipra-backend/src/main/public
-cd ..
-if [ $? -ne 0 ]; then
-        echo "error"
-        exit 1
+if [ $BUILD_VIPRA_UI -ne 1 ]; then
+        echo "compiling vipra-ui > skipped" | tee -a $LOG
+else
+        echo "compiling vipra-ui" | tee -a $LOG
+        echo "-------------------------------" >> $LOG
+        cd ./vipra-ui
+        ./build.sh >> $LOG 2>&1
+        if [ $? -ne 0 ]; then
+                echo "error"
+                exit 1
+        fi
+        rm -rf ../vipra-backend/src/main/public
+        cd ..
+        if [ $INCLUDE_FRONTEND_IN_WAR -eq 1 ]; then
+                cp -r ./public vipra-backend/src/main/public
+        else
+                mkdir ./vipra-backend/src/main/public
+        fi
 fi
 
+# build vipra-backend
+
 echo "" >> $LOG
 echo "-------------------------------" >> $LOG
-echo "compiling vipra-backend" | tee -a $LOG
+if [ $BUILD_VIPRA_BACKEND -ne 1 ]; then
+        echo "compiling vipra-backend > skipped" | tee -a $LOG
+else
+        echo "compiling vipra-backend" | tee -a $LOG
+        echo "-------------------------------" >> $LOG
+        $MVN -f ./vipra-backend/pom.xml package >> $LOG 2>&1
+        if [ $? -ne 0 ]; then
+                echo "error"
+                exit 1
+        fi
+fi
+
+# deploy backend war
+
+VIPRA_WAR="vipra-backend/target/vipra.war"
+
+echo "" >> $LOG
 echo "-------------------------------" >> $LOG
-$MVN -f ./vipra-backend/pom.xml package >> $LOG 2>&1
-if [ $? -ne 0 ]; then
-        echo "error"
-        exit 1
+if [ -d $TOMCAT_WEBAPPS ] && [ -f $VIPRA_WAR ]; then
+        echo "deploying vipra-backend" | tee -a $LOG
+        cp $VIPRA_WAR $TOMCAT_WEBAPPS
+else
+        echo "deploying vipra-backend > skipped" | tee -a $LOG
 fi
 
 echo "complete"
-- 
GitLab