Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
build.sh 4.32 KiB
#!/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_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
# =========================================================

LOG="build.log"
rm -f $LOG

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

if [ $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

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
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 vipra-util

echo "" >> $LOG
echo "-------------------------------" >> $LOG
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
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
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
        cd ..
        rm -rf ./vipra-backend/src/main/public
        if [ $INCLUDE_FRONTEND_IN_WAR -eq 1 ]; then
                cp -r ./vipra-ui/public ./vipra-backend/src/main/public
        else
                mkdir ./vipra-backend/src/main/public
        fi
fi

# build vipra-backend

echo "" >> $LOG
echo "-------------------------------" >> $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
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"
exit $?