| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- #!/usr/bin/env bash
- set -euo pipefail
- # This script prints the release version for emqx
- # ensure dir
- cd -P -- "$(dirname -- "$0")"
- case "${1:-}" in
- *enterprise*)
- RELEASE_EDITION="EMQX_RELEASE_EE"
- GIT_TAG_PREFIX="e"
- ;;
- *)
- RELEASE_EDITION="EMQX_RELEASE_CE"
- GIT_TAG_PREFIX="v"
- ;;
- esac
- ## emqx_release.hrl is the single source of truth for release version
- RELEASE="$(grep -E "define.+${RELEASE_EDITION}" apps/emqx/include/emqx_release.hrl | cut -d '"' -f2)"
- git_exact_vsn() {
- local tag
- tag="$(git describe --tags --match "${GIT_TAG_PREFIX}*" --exact 2>/dev/null)"
- echo "${tag//^[v|e]/}"
- }
- GIT_EXACT_VSN="$(git_exact_vsn)"
- if [ "$GIT_EXACT_VSN" != '' ]; then
- if [ "$GIT_EXACT_VSN" != "$RELEASE" ]; then
- echo "ERROR: Tagged $GIT_EXACT_VSN, but $RELEASE in include/emqx_release.hrl" 1>&2
- exit 1
- fi
- SUFFIX=''
- else
- SUFFIX="-$(git rev-parse HEAD | cut -b1-8)"
- fi
- echo "${RELEASE}${SUFFIX}"
|