44 lines
935 B
Bash
Executable File
44 lines
935 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
[ "${DEBUG:-0}" -eq 1 ] && set -x
|
|
|
|
OTP_VSN="${OTP_VSN:-$(./scripts/get-otp-vsn.sh)}"
|
|
case ${OTP_VSN} in
|
|
25*)
|
|
VERSION="3.19.0-emqx-9"
|
|
;;
|
|
26*)
|
|
VERSION="3.20.0-emqx-1"
|
|
;;
|
|
*)
|
|
echo "Unsupported Erlang/OTP version $OTP_VSN"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# ensure dir
|
|
cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")/.."
|
|
|
|
DOWNLOAD_URL='https://github.com/emqx/rebar3/releases/download'
|
|
|
|
download() {
|
|
echo "downloading rebar3 ${VERSION}"
|
|
curl -f -L "${DOWNLOAD_URL}/${VERSION}/rebar3" -o ./rebar3
|
|
}
|
|
|
|
# get the version number from the second line of the escript
|
|
# because command `rebar3 -v` tries to load rebar.config
|
|
# which is slow and may print some logs
|
|
version() {
|
|
head -n 2 ./rebar3 | tail -n 1 | tr ' ' '\n' | grep -E '^.+-emqx-.+'
|
|
}
|
|
|
|
if [ -f 'rebar3' ] && [ "$(version)" = "$VERSION" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
download
|
|
chmod +x ./rebar3
|