linux-tutorial/codes/linux/lib/maven.sh

67 lines
1.6 KiB
Bash
Raw Normal View History

2020-02-02 17:56:28 +08:00
#!/usr/bin/env bash
# ------------------------------------------------------------------------------
# maven 项目操作脚本
# @author Zhang Peng
# ------------------------------------------------------------------------------
# 装载其它库
ROOT=`dirname ${BASH_SOURCE[0]}`
source ${ROOT}/env.sh
mavenBuild() {
local source=$1
mavenCheck $1
if [[ "${SUCCEED}" != "$?" ]]; then
return ${FAILED}
fi
if [[ -d "${source}" ]]; then
cd ${source}
if [[ -f "${source}/settings.xml" ]]; then
callAndLog "mvn clean install -B -U -s ${source}/settings.xml -Dmaven.test.skip=true"
else
callAndLog "mvn clean install -DskipTests=true -B -U"
fi
cd -
return ${SUCCEED}
else
printf "${C_B_RED}please input valid maven project path.${C_RESET}\n"
return ${FAILED}
fi
}
mavenCheck() {
local source=$1
if [[ -d "${source}" ]]; then
cd ${source}
if [[ -f "${source}/pom.xml" ]]; then
return ${YES}
else
printf "${C_B_RED}pom.xml is not exists.${C_RESET}\n"
return ${NO}
fi
cd -
return ${YES}
else
printf "${C_B_RED}please input valid maven project path.${C_RESET}\n"
return ${NO}
fi
}
##################################### MAIN #####################################
printf "\n${C_B_GREEN}>>>> maven build begin.${C_RESET}\n\n"
printf "${C_B_MAGENTA}Current path is ${ROOT}.${C_RESET}\n"
mavenBuild ${ROOT}/..
r1=$?
if [[ "${r1}" == "${SUCCEED}" ]]; then
printf "\n${C_B_GREEN}<<<< maven build succeed.${C_RESET}\n\n"
exit ${SUCCEED}
else
printf "\n${C_B_RED}<<<< maven build failed.${C_RESET}\n\n"
exit ${FAILED}
fi