Browse Source

build: do not allow user override PKG_VSN

We have an assertion in code, allowing user to override
will compile but not run.
Zaiming Shi 4 years ago
parent
commit
871f23f047
3 changed files with 10 additions and 13 deletions
  1. 8 1
      apps/emqx/src/emqx_app.erl
  2. 1 1
      build
  3. 1 11
      rebar.config.erl

+ 8 - 1
apps/emqx/src/emqx_app.erl

@@ -122,7 +122,14 @@ get_release() ->
             release_in_macro();
         {_, Vsn} -> %% For emqx release build
             VsnStr = release_in_macro(),
-            1 = string:str(Vsn, VsnStr), %% assert
+            case string:str(Vsn, VsnStr) of
+                1 -> ok;
+                _ ->
+                    erlang:error(#{ reason => version_mismatch
+                                  , source => VsnStr
+                                  , built_for => Vsn
+                                  })
+            end,
             Vsn
     end.
 

+ 1 - 1
build

@@ -12,7 +12,7 @@ ARTIFACT="$2"
 # ensure dir
 cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")"
 
-PKG_VSN="${PKG_VSN:-$(./pkg-vsn.sh)}"
+PKG_VSN="$(./pkg-vsn.sh)"
 export PKG_VSN
 
 if [ "$(uname -s)" = 'Darwin' ]; then

+ 1 - 11
rebar.config.erl

@@ -413,18 +413,8 @@ find_conf_files(App) ->
         false -> []
     end.
 
-env(Name, Default) ->
-    case os:getenv(Name) of
-        "" -> Default;
-        false -> Default;
-        Value -> Value
-    end.
-
 get_vsn() ->
-    PkgVsn = case env("PKG_VSN", false) of
-                 false -> os:cmd("./pkg-vsn.sh");
-                 Vsn -> Vsn
-             end,
+    PkgVsn = os:cmd("./pkg-vsn.sh"),
     re:replace(PkgVsn, "\n", "", [{return ,list}]).
 
 maybe_dump(Config) ->