Browse Source

chore(build): add more enterprise build support

Zaiming Shi 4 years atrás
parent
commit
00a2daba19
4 changed files with 22 additions and 5 deletions
  1. 8 1
      include/emqx_release.hrl
  2. 7 1
      pkg-vsn.sh
  3. 1 1
      rebar.config.erl
  4. 6 2
      src/emqx_app.erl

+ 8 - 1
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.

+ 7 - 1
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)"

+ 1 - 1
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().

+ 6 - 2
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
 %%--------------------------------------------------------------------