1
0
Files
build.ems/pkg-remove-chinese.sh
2025-05-15 15:55:57 +08:00

121 lines
3.6 KiB
Bash

#!/bin/bash
# front-end Catalog
WebDir=/root/omc.git/fe.ems.vue3
WebBranch=lichang
BuildWeb=""
# back-end catalog
ApiDir=/root/omc.git/be.ems
ApiBranch=lichang
BuildApi=""
# Package Catalog
BuildDir=/root/omc.git/build.ems
BuildBranch=main
# Default Version Value
VERSION="2.2503.2"
# usage
usage() {
echo "Usage: bash $0 [OPTION]"
echo
echo "Build Software Package OPTION:"
echo " -v Specify the version"
echo " --web Build Web ($WebDir)"
echo " --api Build Api ($ApiDir)"
echo " -h Display this help message"
echo
exit 1
}
# Read command line arguments
while [[ $# -gt 0 ]]; do
case "$1" in
-v) VERSION="$2"; shift 2 ;;
--web) BuildWeb="build"; shift ;;
--api) BuildApi="build"; shift ;;
*) usage ;;
esac
done
# =================== Web
echo
# Determine if --web is passed in
if [ -n "$BuildWeb" ]; then
cd $WebDir
git checkout .
git pull
git checkout $WebBranch
git pull
# RemoveChinese
rm -rf ./public/alarmHelp/zh
rm -rf ./public/nbStateImput/zh.xlsx
find ./public -type f \( -name "*.js" -o -name "*.json" \) -exec sed -i 's/[一-龥、,。?!“”()【】·]//g' {} +
find ./src -type f \( -name "*.ts" -o -name "*.vue" -o -name "*.js" -o -name "*.json" \) -exec sed -i 's/[一-龥、,。?!“”()【】·]//g' {} +
npm install --registry https://registry.npmmirror.com
npm run build
output=$BuildDir/linux/usr/local/etc/omc/web
rm -rf $output && cp -rf dist $output
echo "===> web build dist copy to $output"
fi
# =================== Api
echo
# Determine if --api is passed in
if [ -n "$BuildApi" ]; then
cd $ApiDir
git checkout .
git pull
git checkout $ApiBranch
git pull
# RemoveChinese
find ./build/database -type f -name '*.sql' -exec sed -i 's/[一-龥、,。?!“”()【】·]//g' {} +
find ./features -type f -name '*.go' -exec sed -i 's/[一-龥、,。?!“”()【】·]//g' {} +
find ./lib -type f -name '*.go' -exec sed -i 's/[一-龥、,。?!“”()【】·]//g' {} +
find ./src -type f -name '*.go' -exec sed -i 's/[一-龥、,。?!“”()【】·]//g' {} +
find ./sshsvc -type f -name '*.go' -exec sed -i 's/[一-龥、,。?!“”()【】·]//g' {} +
find ./build/vendor -type f -name '*.sql' -exec sed -i 's/[一-龥、,。?!“”()【】·]//g' {} +
find ./build/vendor -type f -name '*.sql' -exec sed -i "s/'true' WHERE \`config_id\`/'false' WHERE \`config_id\`/g" {} +
find ./build/vendor -type f -name '*.sql' -exec sed -i "s/'1' WHERE \`menu_id\`/'0' WHERE \`menu_id\`/g" {} +
find ./build/vendor -type f -name 'zh_*' -exec rm -f {} \;
MOD_CONFIG="be.ems/src/framework/config"
go build -o omc -v -ldflags "-s -w -X '$MOD_CONFIG.Version=$VERSION' -X '$MOD_CONFIG.BuildTime=$(date)' -X '$MOD_CONFIG.GoVer=$(go version)'"
output=$BuildDir/linux/usr/local/bin
cp -rf omc $output/omc
echo "===> go build omc copy to $output"
# sshsvc
cd $ApiDir/sshsvc
make
cp -rf sshsvc $output/sshsvc
echo "===> go build sshsvc copy to $output"
# Vendor Database
output=$BuildDir/linux/usr/local/etc/omc
dirs="database default vendor"
for v in ${dirs}; do
rm -rf ${output}/${v}
cp -rf ${ApiDir}/build/${v} ${output}/${v}
done
echo
echo "===> vendor data copy to $output"
fi
# =================== deb/rpm
echo
cd $BuildDir
git checkout .
git pull
git checkout $BuildBranch
git pull
bash $BuildDir/build.sh -v $VERSION
# Compile the front-end and back-end and then package the version
# bash pkg-en.sh --web --api -v 2.2503.2
# Packaged version of just the last compiled file/build directory
# bash pkg-en.sh -v 2.2503.2