102 lines
2.3 KiB
Bash
Executable File
102 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
usage() {
|
|
echo "Usage: $0 deb|badeb|rpm [option]..."
|
|
echo
|
|
echo "Make omc package, option as follow:"
|
|
echo " deb|badeb|rpm, deb: ubuntu|debian package build by dpkg"
|
|
echo " badeb: BA ubuntu|debian package build by dpkg"
|
|
echo " rpm: centos/redhat package, build by rpmbuild"
|
|
echo " -r, =build root directory build root directory, default directory is $HOME/omc.git"
|
|
echo " -d dump SQL from database"
|
|
echo " -m, =be|fe|all be: only process back-end code, default if non input"
|
|
echo " fe: only process front-end code"
|
|
echo " all: process all include be and fe"
|
|
}
|
|
|
|
pkgtype=""
|
|
new_args=()
|
|
be_args=()
|
|
# Traverse all parameters
|
|
for arg in "$@"; do
|
|
if [[ "$arg" == "deb" || "$arg" == "rpm" ]]; then
|
|
pkgtype=$arg
|
|
be_args+=("$arg")
|
|
else
|
|
new_args+=("$arg") # Add non pkgtype parameters to a new parameter list
|
|
fi
|
|
done
|
|
|
|
if [ -z "$pkgtype" ]; then
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
# Use a new parameter list
|
|
set -- "${new_args[@]}"
|
|
|
|
rootdir=${HOME}/omc.git
|
|
m_arg="*"
|
|
while getopts "m:r:d" option; do
|
|
case $option in
|
|
m)
|
|
m_arg=$(echo $OPTARG | tr '[:upper:]' '[:lower:]')
|
|
;;
|
|
r)
|
|
rootdir=$OPTARG
|
|
be_args+=("-r ${rootdir}")
|
|
;;
|
|
d)
|
|
be_args+=("-d")
|
|
;;
|
|
c)
|
|
pkgtype="badeb"
|
|
be_args+=("$pkgtype")
|
|
;;
|
|
\?)
|
|
echo "Invalid option: -$OPTARG" >&2
|
|
usage
|
|
exit 2
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ ! -d ${rootdir} ]; then
|
|
echo "Not exist directory: ${rootdir}"
|
|
exit 3
|
|
fi
|
|
|
|
bedir=${rootdir}/be.ems
|
|
fedir=${rootdir}/fe.ems.vue3
|
|
builddir=${rootdir}/build.ems
|
|
|
|
makefe() {
|
|
cd ${fedir}
|
|
git pull
|
|
npm install --registry https://registry.npmmirror.com
|
|
echo -n "Building front-end vue ... "
|
|
npm run build 1>/dev/null
|
|
if [ $? = 0 ]; then
|
|
echo "done"
|
|
fi
|
|
}
|
|
|
|
makebe() {
|
|
cd ${builddir}
|
|
#chmod +x mkpkg.sh
|
|
chmod +x build.sh
|
|
./build.sh ${be_args[@]}
|
|
}
|
|
|
|
case "${m_arg}" in
|
|
fe)
|
|
makefe
|
|
;;
|
|
all)
|
|
makefe
|
|
makebe
|
|
;;
|
|
be | *)
|
|
makebe
|
|
;;
|
|
esac |