dgiot/scripts/get-dashboard.sh
2023-01-07 17:46:06 +08:00

129 lines
3.5 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# ensure dir
cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")/.."
PKG_VSN="${PKG_VSN:-$(./pkg-vsn.sh)}"
case "${PKG_VSN}" in
4.3*)
EMQX_CE_DASHBOARD_VERSION='v4.3.12'
EMQX_EE_DASHBOARD_VERSION='v4.3.27'
;;
4.4*)
# keep the above 4.3 untouched, otherwise conflicts!
EMQX_CE_DASHBOARD_VERSION='v4.4.7'
EMQX_EE_DASHBOARD_VERSION='v4.4.18'
;;
*)
echo "Unsupported version $PKG_VSN" >&2
exit 1
;;
esac
case $(uname) in
*Darwin*) SED="sed -E";;
*) SED="sed -r";;
esac
version() {
grep -oE 'github_ref: (.*)' "$DASHBOARD_PATH/www/version" | $SED 's|github_ref: refs/tags/(.*)|\1|g'
}
if [ -d "$DASHBOARD_PATH/www" ] && [ "$(version)" = "$VERSION" ]; then
exit 0
fi
EMQX_LIBCE_PATH='lib-ce/'
DGIOT_DASHBOARD_PATH='apps/dgiot_api/priv'
FILESEVER="https://dgiot-release-1306147891.cos.ap-nanjing.myqcloud.com/v4.4.0"
get_lib_ce(){
cd ${$EMQX_LIBCE_PATH}
if [ ! -d "emqx_dashboard/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-dashboard.git" emqx_dashboard
fi
if [ ! -d "emqx_modules/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-modules.git" emqx_modules
fi
if [ ! -d "emqx_telemetry/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-telemetry.git" emqx_telemetry
fi
cd ..
}
get_dgiot_dashboard(){
if [ -d "$DGIOT_DASHBOARD_PATH/www" ]; then
echo "dgiot_dashboard exist"
else
wget ${FILESEVER}/www.tar.gz
tar xvf www.tar.gz
mv www "$DGIOT_DASHBOARD_PATH/"
rm www.tar.gz -rf
chmod 777 ./scripts/*
fi
}
get_apps() {
cd ${EMQX_APP}
if [ ! -d "emqx_plugin_libs/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx_plugin_libs.git" emqx_plugin_libs
fi
if [ ! -d "emqx_rule_engine/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-rule-engine.git" emqx_rule_engine
fi
if [ ! -d "emqx_bridge_mqtt/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-bridge-mqtt.git" emqx_bridge_mqtt
fi
if [ ! -d "emqx_exhook/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-exhook.git" emqx_exhook
fi
if [ ! -d "emqx_auth_mnesia/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-auth-mnesia.git" emqx_auth_mnesia
fi
if [ ! -d "emqx_management/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-management.git" emqx_management
fi
if [ ! -d "emqx_prometheus/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-prometheus.git" emqx_prometheus
fi
if [ ! -d "emqx_psk_file/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-psk-file.git" emqx_psk_file
fi
if [ ! -d "emqx_recon/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-recon.git" emqx_recon
fi
if [ ! -d "emqx_retainer/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-retainer.git" emqx_retainer
fi
if [ ! -d "emqx_sasl/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-sasl.git" emqx_sasl
fi
if [ ! -d "emqx_sn/" ]; then
git clone -b "v4.4.11" --depth=1 "https://gitee.com/fastdgiot/emqx-sn.git" emqx_sn
fi
cd ..
}
get_apps
get_dgiot_dashboard
get_lib_ce