From 00a2daba190e5ee846adffc44ef92547aabbc36f Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Sat, 6 Mar 2021 10:53:47 +0100 Subject: [PATCH] chore(build): add more enterprise build support --- include/emqx_release.hrl | 9 ++++++++- pkg-vsn.sh | 8 +++++++- rebar.config.erl | 2 +- src/emqx_app.erl | 8 ++++++-- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/include/emqx_release.hrl b/include/emqx_release.hrl index 42949070f..b2c93a2bb 100644 --- a/include/emqx_release.hrl +++ b/include/emqx_release.hrl @@ -27,6 +27,13 @@ %% NOTE: This version number should be manually bumped for each release --define(EMQX_RELEASE, "4.3-beta.1"). +-ifndef(EMQX_ENTERPRISE). + +-define(EMQX_RELEASE, {opensource, "4.3-beta.1"}). + +-else. + + +-endif. -endif. diff --git a/pkg-vsn.sh b/pkg-vsn.sh index 02096e8ff..9e8c26320 100755 --- a/pkg-vsn.sh +++ b/pkg-vsn.sh @@ -6,7 +6,13 @@ set -euo pipefail # ensure dir cd -P -- "$(dirname -- "$0")" -RELEASE="$(grep -E 'define.+EMQX_RELEASE,' include/emqx_release.hrl | cut -d '"' -f2)" +if [ -f EMQX_ENTERPRISE ]; then + EDITION='enterprise' +else + EDITION='opensource' +fi + +RELEASE="$(grep -E "define.+EMQX_RELEASE.+${EDITION}" include/emqx_release.hrl | cut -d '"' -f2)" if [ -d .git ] && ! git describe --tags --match "${RELEASE}" --exact >/dev/null 2>&1; then SUFFIX="-$(git rev-parse HEAD | cut -b1-8)" diff --git a/rebar.config.erl b/rebar.config.erl index a05083970..c2af2c024 100644 --- a/rebar.config.erl +++ b/rebar.config.erl @@ -204,9 +204,9 @@ relx_plugin_apps(ReleaseType) -> , emqx_recon , emqx_rule_engine , emqx_sasl - , emqx_telemetry , emqx_modules ] + ++ [emqx_telemetry || not is_enterprise()] ++ relx_plugin_apps_per_rel(ReleaseType) ++ relx_plugin_apps_enterprise(is_enterprise()) ++ relx_plugin_apps_extra(). diff --git a/src/emqx_app.erl b/src/emqx_app.erl index 8e0e51d25..3d08cf668 100644 --- a/src/emqx_app.erl +++ b/src/emqx_app.erl @@ -64,16 +64,20 @@ print_vsn() -> -ifdef(TEST). %% When testing, the 'cover' compiler stripps aways compile info -get_release() -> ?EMQX_RELEASE. +get_release() -> release_in_macro(). -else. %% Otherwise print the build number, %% which may have a git commit in its suffix. get_release() -> {_, Vsn} = lists:keyfind(emqx_vsn, 1, ?MODULE:module_info(compile)), - ?EMQX_RELEASE ++ _ = Vsn, %% assert + VsnStr = release_in_macro(), + 1 = string:str(Vsn, VsnStr), %% assert Vsn. -endif. +release_in_macro() -> + element(2, ?EMQX_RELEASE). + %%-------------------------------------------------------------------- %% Autocluster %%--------------------------------------------------------------------