fix(script): exclude non-edge apps in relup dependency
This commit is contained in:
parent
8ad42cb827
commit
49a78c8ef2
|
@ -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, []),
|
||||
|
|
Loading…
Reference in New Issue