Просмотр исходного кода

fix(script): exclude non-edge apps in relup dependency

Zaiming Shi 4 лет назад
Родитель
Сommit
49a78c8ef2
1 измененных файлов с 24 добавлено и 1 удалено
  1. 24 1
      scripts/inject-deps.escript

+ 24 - 1
scripts/inject-deps.escript

@@ -23,6 +23,29 @@ usage() ->
   "Usage: " ++ escript:script_name() ++ " emqx|emqx-edge".
 
 -type app() :: atom().
+-type deps_overlay() :: {re, string()} | app().
+
+%% deps/0 returns the dependency overlays.
+%% {re, Pattern} to match application names using regexp pattern
+-spec deps(string()) -> [{app(), [deps_overlay()]}].
+deps("emqx-edge" ++ _) ->
+  %% special case for edge
+  base_deps() ++ [{{re, ".+"}, [{exclude, App} || App <- edge_excludes()]}];
+deps(_Profile) ->
+  base_deps().
+
+edge_excludes() ->
+    [ emqx_lwm2m
+    , emqx_auth_ldap
+    , emqx_auth_pgsql
+    , emqx_auth_redis
+    , emqx_auth_mongo
+    , emqx_lua_hook
+    , emqx_exhook
+    , emqx_exproto
+    , emqx_prometheus
+    , emqx_psk_file
+    ].
 
 base_deps() ->
   %% make sure emqx_dashboard depends on all other emqx_xxx apps
@@ -64,7 +87,7 @@ expand_deps([Dep | Deps], AppNames, Acc) ->
 inject(Profile) ->
   LibDir = lib_dir(Profile),
   AppNames = list_apps(LibDir),
-  Deps0 = lists:flatmap(fun(Dep) -> expand_names(Dep, AppNames) end, base_deps()),
+  Deps0 = lists:flatmap(fun(Dep) -> expand_names(Dep, AppNames) end, deps(Profile)),
   Deps1 = merge(Deps0, []),
   Deps2 = lists:map(fun({Name, DepsX}) ->
                         NewDeps = expand_deps(DepsX, AppNames, []),