#!/bin/bash verifica_git() { if [[ ! -d ".git" ]]; then echo -e "\033[31mERRO\033[0m Diretório atual não é um repositório git!" exit 1 fi } verifica_diretorio() { DIR=$(pwd | rev | cut -d'/' -f1 | rev) if [[ "$DIR" != "$1" ]]; then echo -e "\033[31mERRO\033[0m Diretório atual não é o \033[1m$1\033[0m!" exit 1 fi verifica_git } retorna_branch() { # shellcheck disable=SC2155 local branch=$(git branch | grep '^*' | cut -d ' ' -f2) if [[ -z "$branch" ]]; then echo -e "\033[31mERRO\033[0m Não foi possivel configurar a variável \033[1m$1\033[0m!" exit 1 else echo "$branch" fi } if [[ ! (( "$1" == "build" ) || ( "$1" == "serve" )) ]]; then echo -e "\033[31mERRO\033[0m Parâmetro inválido!" echo -e " Coloque \033[1mbuild\033[0m ou \033[1mserve\033[0m." exit 1 fi verifica_diretorio "sapl-frontend" BRANCH_FRONTEND="$(retorna_branch "BRANCH_FRONTEND")" # shellcheck disable=SC2164 cd ../sapl > /dev/null 2>&1 if [[ ! $? -eq 0 ]]; then echo "\033[31mERRO\033[0m Os diretórios \033[1msapl\033[0m e \033[1msapl-frontend\033[0m devem ter o mesmo diretório raiz." exit 1 fi verifica_diretorio "sapl" BRANCH_BACKEND="$(retorna_branch "BRANCH_BACKEND")" cd ../sapl-frontend > /dev/null 2>&1 if [[ "$BRANCH_FRONTEND" == "$BRANCH_BACKEND" ]]; then echo -e "\033[33mEXECUTANDO\033[0m \033[1myarn run $1\033[1m." yarn run "$1" echo -e "\033[32mSUCESSO\033[0m $1 realizado com sucesso." else echo -e "\033[31mERRO\033[0m $1 não realizada porque as branchs dos dois repositórios são diferentes." echo -e " Branch do Frontend: \033[1m$BRANCH_FRONTEND\033[0m" echo -e " Branch do Backend: \033[1m$BRANCH_BACKEND\033[0m" echo -e " Para que a operação seja feita, coloque os dois repositórios na mesma branch." fi