Initial OpenECOMP Portal commit
[portal.git] / ecomp-portal-FE / build-ecomportal-fe.sh
diff --git a/ecomp-portal-FE/build-ecomportal-fe.sh b/ecomp-portal-FE/build-ecomportal-fe.sh
new file mode 100644 (file)
index 0000000..8fc199d
--- /dev/null
@@ -0,0 +1,181 @@
+#!/bin/sh
+
+# Script name : build_ecompportal_fe.sh
+# Script purpose : To have an easy way to build the front-end part of the eComp portal
+# Pre requisites :
+# 1. Your home directory must reside at /home
+# 2. Your server must have a 'Node' installation
+#----------------------------------------------------------------------------------------
+
+
+################################################
+### Functions
+################################################
+function log_message() {
+msgType=$1
+message=$2
+
+if [ ${msgType} == "I" ]; then
+printf "\033[32m %s \n\033[0m" "INF - ${message}"
+elif [ ${msgType} == "E" ]; then
+printf "\033[31m %s \n\033[0m" "ERR - ${message}"
+else
+echo "${msgType} - ${message}";
+fi
+}
+
+
+
+function exit_with_error() {
+
+log_message "E" ""
+log_message "E" "$1"
+log_message "E" ""
+
+exit 1
+}
+
+
+
+################################################
+### Hard coded information.
+################################################
+NVM_DIR="/home/${USER}/.nvm"
+NODE_VERSION=v0.12.4
+SCRIPT_USAGE="USAGE: $0 [ dev | ci | integ | qa ]"
+
+
+
+################################################
+### Verify arguments
+################################################
+log_message "I" "Checking command line arguments."
+if [ $# == 1 ]; then
+if [ $1 == "ci" -o $1 == "integ" -o $1 == "dev" -o $1 == "qa" ]; then
+BUILD_BY_ENV=$1
+else
+exit_with_error "The environment '$1' is invalid."
+fi
+else
+log_message "E" ""
+log_message "E" "$SCRIPT_USAGE"
+log_message "E" ""
+exit 1
+fi
+log_message "I" "OK."
+log_message "I" ""
+
+
+
+################################################
+### Set the node environment.
+################################################
+log_message "I" "Set the node environment."
+if [ -s "$NVM_DIR/nvm.sh" ]; then
+# This loads nvm
+. "$NVM_DIR/nvm.sh"
+if [ $? != 0 ]; then
+exit_with_error "Cannot load the NODE env."
+fi
+else
+exit_with_error "The nvm.sh script does not exist."
+fi
+log_message "I" "OK."
+log_message "I" ""
+
+
+
+################################################
+### Set the node version manager version.
+################################################
+log_message "I" "Set the node version manager version."
+nvm use v0.12.4
+TOOLS_ROOT_FOLDER=${NVM_DIR}/versions/node/${NODE_VERSION}/bin
+log_message "I" "OK."
+log_message "I" ""
+
+
+
+################################################
+### Set the proxy servers.
+################################################
+log_message "I" "Set the proxy servers."
+log_message "I" "OK."
+log_message "I" ""
+
+
+
+################################################
+### Install bower, if neeeded.
+################################################
+log_message "I" "Install bower, if neeeded."
+if [ ! -e ${TOOLS_ROOT_FOLDER}/bower ]; then
+npm install -g bower
+if [ $? != 0 ]; then
+exit_with_error "Cannot install bower."
+fi
+fi
+log_message "I" "OK."
+log_message "I" ""
+
+
+
+################################################
+### Install grunt, if neeeded.
+################################################
+log_message "I" "Install grunt, if neeeded."
+if [ ! -e ${TOOLS_ROOT_FOLDER}/grunt ]; then
+npm config set ca ""
+npm install -g grunt-cli
+
+if [ $? != 0 ]; then
+exit_with_error "Cannot install grunt."
+fi
+fi
+log_message "I" "OK."
+log_message "I" ""
+
+
+
+################################################
+### Run the Node package manager (NPM).
+################################################
+log_message "I" "Run the Node package manager (npm install)."
+npm install
+if [ $? != 0 ]; then
+exit_with_error "Cannot run 'npm install'."
+fi
+log_message "I" "OK."
+log_message "I" ""
+
+
+
+################################################
+### Install the Bower components.
+################################################
+log_message "I" "Install the Bower components."
+bower install
+if [ $? != 0 ]; then
+exit_with_error "Cannot run 'npm install'."
+fi
+log_message "I" "OK."
+log_message "I" ""
+
+
+
+################################################
+### Build the application.
+################################################
+log_message "I" "Build the application."
+grunt build --env=${BUILD_BY_ENV}
+if [ $? != 0 ]; then
+exit_with_error "Cannot run 'grunt build --env=${BUILD_BY_ENV}'."
+fi
+log_message "I" "OK."
+log_message "I" ""
+
+
+
+log_message "I" ""
+log_message "I" "Done."
+log_message "I" ""
\ No newline at end of file