From ef1b5915321c6337d7562be3b7271fe046188e9f Mon Sep 17 00:00:00 2001 From: Turtle Date: Fri, 30 Jul 2021 12:10:32 +0800 Subject: [PATCH] chore: Dynamically get the app that starts by default --- apps/emqx/src/emqx.erl | 21 +++++---------------- rebar.config.erl | 6 ++++++ 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/apps/emqx/src/emqx.erl b/apps/emqx/src/emqx.erl index d969012da..3530f0dfb 100644 --- a/apps/emqx/src/emqx.erl +++ b/apps/emqx/src/emqx.erl @@ -221,13 +221,8 @@ shutdown(Reason) -> reboot() -> lists:foreach(fun application:start/1 , default_started_applications()). --ifdef(EMQX_ENTERPRISE). -default_started_applications() -> - [gproc, esockd, ranch, cowboy, ekka, quicer, emqx]. --else. default_started_applications() -> [gproc, esockd, ranch, cowboy, ekka, quicer, emqx] ++ emqx_feature(). --endif. %%-------------------------------------------------------------------- %% Internal functions @@ -239,15 +234,9 @@ reload_config(ConfFile) -> [application:set_env(App, Par, Val) || {Par, Val} <- Vals] end, Conf). - +-ifndef(EMQX_DEP_APPS). +emqx_feature() -> []. +-else. emqx_feature() -> - [ emqx_resource - , emqx_authn - , emqx_authz - , emqx_gateway - , emqx_data_bridge - , emqx_rule_engine - , emqx_bridge_mqtt - , emqx_modules - , emqx_management - , emqx_retainer]. + ?EMQX_DEP_APPS. +-endif. diff --git a/rebar.config.erl b/rebar.config.erl index f0c246409..5eca3094a 100644 --- a/rebar.config.erl +++ b/rebar.config.erl @@ -133,10 +133,16 @@ test_deps() -> ]. common_compile_opts() -> + AppNames = list_dir("apps") ++ + case is_enterprise() of + true -> list_dir("lib-ee"); + false -> [] + end, [ debug_info % alwyas include debug_info , {compile_info, [{emqx_vsn, get_vsn()}]} , {d, snk_kind, msg} ] ++ + [{d, 'EMQX_DEP_APPS', AppNames -- [emqx]}] ++ [{d, 'EMQX_ENTERPRISE'} || is_enterprise()] ++ [{d, 'EMQX_EXT_SCHEMAS', emqx_ext_schemas()}] ++ [{d, 'EMQX_BENCHMARK'} || os:getenv("EMQX_BENCHMARK") =:= "1" ].