Quellcode durchsuchen

chore: port ensure-rebar3.sh from 4.x

Shawn vor 3 Jahren
Ursprung
Commit
b05b77bcbc
2 geänderte Dateien mit 18 neuen und 4 gelöschten Zeilen
  1. 1 2
      Makefile
  2. 17 2
      scripts/ensure-rebar3.sh

+ 1 - 2
Makefile

@@ -1,5 +1,4 @@
 $(shell $(CURDIR)/scripts/git-hooks-init.sh)
-REBAR_VERSION = 3.16.1-emqx-1
 REBAR = $(CURDIR)/rebar3
 BUILD = $(CURDIR)/build
 SCRIPTS = $(CURDIR)/scripts
@@ -36,7 +35,7 @@ all: $(REBAR) $(PROFILES)
 
 .PHONY: ensure-rebar3
 ensure-rebar3:
-	@$(SCRIPTS)/ensure-rebar3.sh $(REBAR_VERSION)
+	@$(SCRIPTS)/ensure-rebar3.sh
 
 .PHONY: ensure-hex
 ensure-hex:

+ 17 - 2
scripts/ensure-rebar3.sh

@@ -2,7 +2,21 @@
 
 set -euo pipefail
 
-VERSION="$1"
+## rebar3 tag 3.18.0-emqx-1 is compiled using otp24.1.5.
+## we have to use an otp24-compiled rebar3 because the defination of record #application{}
+## in systools.hrl is changed in otp24.
+case ${OTP_VSN} in
+    23*)
+        VERSION="3.16.1-emqx-1"
+        ;;
+    24*)
+        VERSION="3.18.0-emqx-1"
+        ;;
+    *)
+        echo "Unsupporetd Erlang/OTP version $OTP_VSN"
+        exit 1
+        ;;
+esac
 
 # ensure dir
 cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")/.."
@@ -10,7 +24,8 @@ cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")/.."
 DOWNLOAD_URL='https://github.com/emqx/rebar3/releases/download'
 
 download() {
-    curl --silent --show-error -f -L "${DOWNLOAD_URL}/${VERSION}/rebar3" -o ./rebar3
+    echo "downloading rebar3 ${VERSION}"
+    curl -f -L "${DOWNLOAD_URL}/${VERSION}/rebar3" -o ./rebar3
 }
 
 # get the version number from the second line of the escript