From 49a78c8ef22a012e40d4d8985d38e2799371dad1 Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Wed, 23 Jun 2021 15:24:14 +0200 Subject: [PATCH] fix(script): exclude non-edge apps in relup dependency --- scripts/inject-deps.escript | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/scripts/inject-deps.escript b/scripts/inject-deps.escript index e5cd47140..0b6371342 100755 --- a/scripts/inject-deps.escript +++ b/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, []),