2
0
Files
build.wfc/bin/build.sh

146 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
ProjectL=wfc
ProjectU=WFC
RelVersion=1.0.6
RelDate=`date +%Y%m%d`
GitRootDir=${HOME}/wfc.git
BERootDir=${GitRootDir}/be.wfc
FERootDir=${GitRootDir}/fe.wfc
FEUserRootDir=${GitRootDir}/fe.wfc.user
BuildRootDir=${GitRootDir}/build.wfc
WFCWorkDir=/opt/wfc
BuildDockerDir=${BuildRootDir}/build/docker
ReleseDir=${BuildRootDir}/release
TarFileName=${ProjectL}-${RelVersion}-${RelDate}.tar.gz
TmpDir=${BuildRootDir}/tmp
TmpEnvFile=${TmpDir}/.env.tmp
usage() {
echo "Usage: sh build.sh [extras|jar|dist|copy|tar|deb|all]"
exit 1
}
pre_build_tar(){
if [ ! -d ${ReleseDir}/tars ]; then
mkdir -p ${ReleseDir}/tars
fi
if [ -f ${BuildDockerDir}/.env ]; then
mv -f ${BuildDockerDir}/.env ${TmpEnvFile}
fi
}
pre_build_deb(){
if [ ! -d ${ReleseDir}/debs ]; then
mkdir -p ${ReleseDir}/debs
fi
if [ -f ${BuildDockerDir}/.env ]; then
mv -f ${BuildDockerDir}/.env ${TmpEnvFile}
fi
}
build-extras(){
cd ${BuildRootDir}
git pull
source ${BuildRootDir}/bin/control.sh
echo -n "Begin build extras file ... "
cd ${BuildRootDir}/bin
javac -source 8 -target 8 -bootclasspath /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar -extdirs "" -Xlint:-options printJarVer.java
echo "done"
}
build-jar(){
cd ${BERootDir}
git pull
mvn clean package -Dmaven.test.skip=true -P prod
}
build-dist(){
cd ${FERootDir}
git checkout src/typings/
git pull
pnpm i
pnpm build
cd ${FEUserRootDir}
git checkout src/typings/
git pull
if ! pnpm list terser --depth 0 &> /dev/null; then
pnpm add terser --save-dev
fi
pnpm i
pnpm build
}
copy-file(){
${BuildRootDir}/bin/copy.sh
cp -f ${BuildRootDir}/bin/printJarVer.class ${BuildRootDir}/build/bin/
}
# create tar package
create-tar(){
echo -n "Begin build tar package ... "
cd ${BuildRootDir}/build
tar cvfz ${ReleseDir}/tars/${TarFileName} \
--exclude='./docker/mysql/logs' \
--exclude='./docker/mysql/data' \
--exclude='./docker/mysql/tmp' \
--exclude='./docker/nacos/logs' \
--exclude='./docker/nginx/logs' \
--exclude='./docker/.env' \
. 1>/dev/null
echo "done"
}
# create deb package
create-deb(){
echo -n "Begin build deb package ... "
echo "done"
}
post_build(){
if [ -f ${TmpEnvFile} ] && [ ! -f ${BuildDockerDir}/.env ]; then
mv -f ${TmpEnvFile} ${BuildDockerDir}/.env
fi
}
case "$1" in
"extras")
build-extras
;;
"jar")
build-jar
;;
"dist")
build-dist
;;
"copy")
copy-file
;;
"tar")
# pre_build_tar
build-extras
build-jar
build-dist
copy-file
create-tar
# post_build
;;
"deb")
# pre_build_deb
build-extras
build-jar
build-dist
copy-file
create-deb
# post_build
;;
"all")
$0 tar
$0 deb
;;
*)
usage
;;
esac