get-dashboard.sh 999 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. set -euo pipefail
  3. # ensure dir
  4. cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")/.."
  5. if [[ "$1" == https://* ]]; then
  6. VERSION='*' # alwyas download
  7. DOWNLOAD_URL="$1"
  8. else
  9. VERSION="$1"
  10. DOWNLOAD_URL="https://github.com/emqx/emqx-dashboard-frontend/releases/download/${VERSION}/emqx-dashboard.zip"
  11. fi
  12. if [ "${EMQX_ENTERPRISE:-}" = 'true' ] || [ "${EMQX_ENTERPRISE:-}" == '1' ]; then
  13. DASHBOARD_PATH='lib-ee/emqx_dashboard/priv'
  14. else
  15. DASHBOARD_PATH='lib-ce/emqx_dashboard/priv'
  16. fi
  17. case $(uname) in
  18. *Darwin*) SED="sed -E";;
  19. *) SED="sed -r";;
  20. esac
  21. version() {
  22. grep -oE 'github_ref: (.*)' "$DASHBOARD_PATH/www/version" | $SED 's|github_ref: refs/tags/(.*)|\1|g'
  23. }
  24. if [ -d "$DASHBOARD_PATH/www" ] && [ "$(version)" = "$VERSION" ]; then
  25. exit 0
  26. fi
  27. curl -f -L "${DOWNLOAD_URL}" -o ./emqx-dashboard.zip
  28. unzip -q ./emqx-dashboard.zip -d "$DASHBOARD_PATH"
  29. rm -rf "$DASHBOARD_PATH/www"
  30. mv "$DASHBOARD_PATH/dist" "$DASHBOARD_PATH/www"
  31. rm -rf emqx-dashboard.zip