From 396cae26fed91934fc21da8242e0b56803fbce55 Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Fri, 7 May 2021 09:39:28 +0200 Subject: [PATCH] build: fix build order of release and relup --- Makefile | 31 +++++++++++++++++-------------- build | 10 ++++------ 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/Makefile b/Makefile index f0c5d0833..766123072 100644 --- a/Makefile +++ b/Makefile @@ -111,30 +111,33 @@ xref: $(REBAR) dialyzer: $(REBAR) @$(REBAR) as check dialyzer -.PHONY: $(REL_PROFILES:%=relup-%) -$(REL_PROFILES:%=relup-%): $(REBAR) -ifneq ($(OS),Windows_NT) - @$(BUILD) $(@:relup-%=%) relup -endif +## rel target is to create release package without relup +.PHONY: $(REL_PROFILES:%=%-rel) $(PKG_PROFILES:%=%-rel) +$(REL_PROFILES:%=%-rel) $(PKG_PROFILES:%=%-rel): $(REBAR) get-dashboard $(CONF_SEGS) + @$(BUILD) $(subst -rel,,$(@)) rel -.PHONY: $(REL_PROFILES:%=%-tar) $(PKG_PROFILES:%=%-tar) -$(REL_PROFILES:%=%-tar) $(PKG_PROFILES:%=%-tar): $(REBAR) get-dashboard $(CONF_SEGS) - @$(BUILD) $(subst -tar,,$(@)) tar +## relup target is to create relup instructions +.PHONY: $(REL_PROFILES:%=%-relup) +define gen-relup-target +$1-relup: $1-rel + @$(BUILD) $1 relup +endef +ALL_ZIPS = $(REL_PROFILES) +$(foreach zt,$(ALL_ZIPS),$(eval $(call gen-relup-target,$(zt)))) -## zip targets depend on the corresponding relup and tar artifacts +## zip target is to create a release package .zip with relup .PHONY: $(REL_PROFILES:%=%-zip) define gen-zip-target -$1-zip: relup-$1 $1-tar +$1-zip: $1-relup @$(BUILD) $1 zip endef -ALL_ZIPS = $(REL_PROFILES) $(PKG_PROFILES) +ALL_ZIPS = $(REL_PROFILES) $(foreach zt,$(ALL_ZIPS),$(eval $(call gen-zip-target,$(zt)))) -## A pkg target depend on a regular release profile zip to include relup, -## and also a -pkg suffixed profile tar (without relup) for making deb/rpm package +## A pkg target depend on a regular release .PHONY: $(PKG_PROFILES) define gen-pkg-target -$1: $(subst -pkg,,$1)-zip $1-tar +$1: $1-rel @$(BUILD) $1 pkg endef $(foreach pt,$(PKG_PROFILES),$(eval $(call gen-pkg-target,$(pt)))) diff --git a/build b/build index c4f57d4ea..a794c90a4 100755 --- a/build +++ b/build @@ -2,7 +2,7 @@ # This script helps to build release artifacts. # arg1: profile, e.g. emqx | emqx-edge | emqx-pkg | emqx-edge-pkg -# arg2: artifact, e.g. tar | relup | zip | pkg +# arg2: artifact, e.g. rel | relup | zip | pkg set -euo pipefail @@ -62,7 +62,7 @@ log() { echo "===< $msg" } -make_tar() { +make_rel() { ./rebar3 as "$PROFILE" tar } @@ -117,8 +117,8 @@ make_zip() { log "building artifact=$ARTIFACT for profile=$PROFILE" case "$ARTIFACT" in - tar) - make_tar + rel) + make_rel ;; relup) make_relup @@ -132,8 +132,6 @@ case "$ARTIFACT" in log "Skipped making deb/rpm package for $SYSTEM" exit 0 fi - # build the tar which is going to be used as the base of deb and rpm packages - make_tar make -C "deploy/packages/${PKGERDIR}" clean EMQX_REL="$(pwd)" EMQX_BUILD="${PROFILE}" SYSTEM="${SYSTEM}" make -C "deploy/packages/${PKGERDIR}" ;;