chore(build): Update rebar3

This rebar3 puts a stamp to app build output dir
skips re-build if alreay built
This commit is contained in:
Zaiming Shi 2020-11-26 21:14:17 +01:00
parent 36c9360c04
commit dab57b0f0f
5 changed files with 39 additions and 7 deletions

1
.gitignore vendored
View File

@ -34,3 +34,4 @@ Mnesia.*/
*.DS_Store *.DS_Store
_checkouts _checkouts
rebar.config.rendered rebar.config.rendered
/rebar3

View File

@ -1,4 +1,5 @@
REBAR = $(CURDIR)/rebar3 REBAR_VERSION = 3.13.2-emqx-1
REBAR = ./rebar3
PROFILE ?= emqx PROFILE ?= emqx
PROFILES := emqx emqx-edge PROFILES := emqx emqx-edge
@ -10,6 +11,12 @@ default: $(REBAR) $(PROFILE)
.PHONY: all .PHONY: all
all: $(REBAR) $(PROFILES) all: $(REBAR) $(PROFILES)
.PHONY: ensure-rebar3
ensure-rebar3:
@./ensure-rebar3.sh $(REBAR_VERSION)
$(REBAR): ensure-rebar3
.PHONY: distclean .PHONY: distclean
distclean: distclean:
@rm -rf _build @rm -rf _build
@ -27,11 +34,15 @@ endif
$(PROFILES:%=build-%): $(REBAR) $(PROFILES:%=build-%): $(REBAR)
$(REBAR) as $(@:build-%=%) compile $(REBAR) as $(@:build-%=%) compile
# rebar clean
.PHONY: clean $(PROFILES:%=clean-%) .PHONY: clean $(PROFILES:%=clean-%)
clean: $(PROFILES:%=clean-%) clean: $(PROFILES:%=clean-%) clean-stamps
$(PROFILES:%=clean-%): $(REBAR) $(PROFILES:%=clean-%): $(REBAR)
@rm -rf _build/$(@:clean-%=%) $(REBAR) as $(@:clean-%=%) clean
@rm -rf _build/$(@:clean-%=%)+test
.PHONY: clean-stamps
clean-stamps:
find -L _build -name '.stamp' -type f | xargs rm -f
.PHONY: deps-all .PHONY: deps-all
deps-all: $(REBAR) $(PROFILES:%=deps-%) $(PKG_PROFILES:%=deps-%) deps-all: $(REBAR) $(PROFILES:%=deps-%) $(PKG_PROFILES:%=deps-%)

20
ensure-rebar3.sh Executable file
View File

@ -0,0 +1,20 @@
#!/bin/bash
set -euo pipefail
VERSION="$1"
download() {
curl -L "https://s3-us-west-2.amazonaws.com/packages.emqx/rebar/rebar3-${VERSION}" -o ./rebar3
}
version() {
./rebar3 -v | grep -v '===' | grep 'rebar.*Erlang' | awk '{print $2}'
}
if [ -f 'rebar3' ] && [ "$(version)" == "$VERSION" ]; then
exit 0
fi
download
chmod +x ./rebar3

View File

@ -162,11 +162,11 @@
, {template, "data/loaded_plugins.tmpl", "data/loaded_plugins"} , {template, "data/loaded_plugins.tmpl", "data/loaded_plugins"}
, {template, "data/loaded_modules.tmpl", "data/loaded_modules"} , {template, "data/loaded_modules.tmpl", "data/loaded_modules"}
, {template,"data/emqx_vars","releases/emqx_vars"} , {template,"data/emqx_vars","releases/emqx_vars"}
, {copy,"{{lib_dirs}}/cuttlefish/cuttlefish","bin/"} , {copy,"_checkouts/cuttlefish/cuttlefish","bin/"}
, {copy,"bin/*","bin/"} , {copy,"bin/*","bin/"}
, {template,"etc/*.conf","etc/"} , {template,"etc/*.conf","etc/"}
, {template,"etc/emqx.d/*.conf","etc/emqx.d/"} , {template,"etc/emqx.d/*.conf","etc/emqx.d/"}
, {copy,"{{lib_dirs}}/emqx/priv/emqx.schema","releases/{{rel_vsn}}/"} , {copy,"_checkouts/emqx/priv/emqx.schema","releases/{{rel_vsn}}/"}
, {copy, "etc/certs","etc/"} , {copy, "etc/certs","etc/"}
, "${RELUP_OVERLAYS}" , "${RELUP_OVERLAYS}"
] ]
@ -179,7 +179,7 @@
, {copy,"bin/emqx_ctl","bin/emqx_ctl-{{rel_vsn}}"} , {copy,"bin/emqx_ctl","bin/emqx_ctl-{{rel_vsn}}"}
, {copy,"bin/install_upgrade.escript", "bin/install_upgrade.escript-{{rel_vsn}}"} , {copy,"bin/install_upgrade.escript", "bin/install_upgrade.escript-{{rel_vsn}}"}
, {copy,"bin/nodetool","bin/nodetool-{{rel_vsn}}"} , {copy,"bin/nodetool","bin/nodetool-{{rel_vsn}}"}
, {copy,"{{lib_dirs}}/cuttlefish/cuttlefish","bin/cuttlefish-{{rel_vsn}}"} , {copy,"_checkouts/cuttlefish/cuttlefish","bin/cuttlefish-{{rel_vsn}}"}
] ]
}, },

BIN
rebar3

Binary file not shown.