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

This commit is contained in:
Zaiming Shi 2021-06-23 15:24:14 +02:00 committed by Rory Z
parent 8ad42cb827
commit 49a78c8ef2
1 changed files with 24 additions and 1 deletions

View File

@ -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, []),