Implement check-environment
This commit is contained in:
@@ -9,34 +9,50 @@ source $(dirname $0)/inc/logger.inc
|
||||
|
||||
set -e
|
||||
|
||||
|
||||
function check() {
|
||||
local CMD=$1
|
||||
local VERSION_CMD=$2
|
||||
local VERSION_STRING=$3
|
||||
|
||||
echo -n "Checking ${CMD}..."
|
||||
|
||||
if [ hash "$CMD" 2>/dev/null ]; then
|
||||
echo -e "${COL_GREEN}OK${COL_RESET}"
|
||||
if hash "$CMD" 2>/dev/null; then
|
||||
local VERSION_FULL=$(${VERSION_CMD} 2>&1)
|
||||
local VERSION=$(echo "${VERSION_FULL}" | grep "${VERSION_STRING}" 2>&1)
|
||||
if [ -n "${VERSION}" ]; then
|
||||
echo -e "${COL_GREEN}OK${COL_RESET}"
|
||||
echo " ${VERSION}"
|
||||
else
|
||||
echo -e "${COL_RED}wrong version${COL_RESET}. Expected: ${VERSION_STRING}"
|
||||
echo " ${VERSION_FULL}"
|
||||
fi
|
||||
else
|
||||
echo -e "${COL_RED}failure${COL_RESET}"
|
||||
echo -e "${COL_RED}not found!${COL_RESET}"
|
||||
fi
|
||||
}
|
||||
|
||||
# every OS:
|
||||
# curl
|
||||
# jq
|
||||
check "curl" "curl --version" "curl"
|
||||
check "jq" "jq --version" "jq"
|
||||
|
||||
# linux only
|
||||
ruby --version | grep "ruby 2.7" || (log_error "Ruby is missing"; exit 1)
|
||||
check "ruby" "ruby --version"
|
||||
# gpg
|
||||
# printenv
|
||||
# rsync
|
||||
# ssh
|
||||
# git
|
||||
|
||||
|
||||
|
||||
# windows only
|
||||
# 7zip
|
||||
case "$(uname)" in
|
||||
Linux*)
|
||||
check "ruby" "ruby --version" "ruby 2.7"
|
||||
check "gpg" "gpg --version" "gpg (GnuPG) 2."
|
||||
check "printenv" "printenv --version" "printenv (GNU coreutils)"
|
||||
check "rsync" "rsync --version" "version"
|
||||
check "ssh" "ssh -V" "OpenSSH"
|
||||
check "git" "git --version" "git version"
|
||||
check "mvn" "mvn --version" "Apache Maven"
|
||||
#check "7z" "7z -version" "7-Zip"
|
||||
;;
|
||||
Darwin*)
|
||||
;;
|
||||
CYGWIN*|MINGW*)
|
||||
check "7z" "7z -version" "7-Zip"
|
||||
;;
|
||||
*)
|
||||
log_error "Unknown OS: $(uname)"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
Reference in New Issue
Block a user