nhplus/bin/make/check.sh

69 lines
2.3 KiB
Bash
Executable file

#!/bin/bash
source bin/make/colors.sh
printf "${BLUE_BG} ${CLEAR}\n"
printf "${BLUE_BG}${BLACK_FG} Checking Requirements ${CLEAR}\n"
printf "${BLUE_BG} ${CLEAR}\n"
# Check Jenv
command -v jenv >/dev/null 2>&1 || \
{ \
printf >&2 "${RED_FG}✘ Jenv${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}! \n"; \
exit 1; \
}
printf >&2 "${GREEN_FG}✔ Jenv${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
# Check Jenv Maven plugin
jenv plugins | grep -q 'maven' >/dev/null 2>&1 || \
{ \
printf >&2 "${RED_FG}✘ Jenv Maven Plugin${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}! \n"; \
exit 1; \
}
printf >&2 "${GREEN_FG}✔ Jenv Maven Plugin${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
# Check Jenv Maven plugin is Enabled
jenv plugins --enabled | grep -q 'maven' >/dev/null 2>&1 || \
{ \
printf >&2 "${RED_FG}✘ Jenv Maven Plugin${YELLOW_FG} is ${RED_FG}not enabled${YELLOW_FG}! \n"; \
exit 1; \
}
printf >&2 "${GREEN_FG}✔ Jenv Maven Plugin${BLUE_FG} is ${GREEN_FG}enabled${BLUE_FG}.\n"
# Check Maven
command -v mvn >/dev/null 2>&1 || \
{ \
printf >&2 "${RED_FG}✘ Maven${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}! \n"; \
exit 1; \
}
printf >&2 "${GREEN_FG}✔ Maven${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
# Check XML Lint
command -v xmllint >/dev/null 2>&1 || \
{ \
printf >&2 "${RED_FG}✘ XML Lint{YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}!\n Install it via DNF, APT or Brew.\n"; \
exit 1; \
}
printf >&2 "${GREEN_FG}✔ XML Lint${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
# Check Java Version
required_java_version=$( \
xmllint --xpath "string(./project/component[@languageLevel]/@languageLevel)" .idea/misc.xml \
| cut -c 5- \
) && \
current_java_version=$( \
java -version 2>&1 \
| awk -F '"' '/version/ {print $2}' \
) && \
current_major_java_version=$( \
echo ${current_java_version} \
| cut -d '.' -f 1\
) && \
[ "${current_major_java_version}" = "${required_java_version}" ] || \
{ \
printf >&2 "${RED_FG}✘ Wrong Java Version${YELLOW_FG} is installed!\n Version ${RED_FG}${required_java_version}${YELLOW_FG} is ${RED_FG}required${YELLOW_FG}.\n"; \
exit 1; \
} && \
printf >&2 "${GREEN_FG}✔ Java${BLUE_FG} Version ${GREEN_FG}${current_major_java_version}${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"