diff options
Diffstat (limited to 'src/rlx_prv_discover.erl')
-rw-r--r-- | src/rlx_prv_discover.erl | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/rlx_prv_discover.erl b/src/rlx_prv_discover.erl index 21e5687..520cf15 100644 --- a/src/rlx_prv_discover.erl +++ b/src/rlx_prv_discover.erl @@ -21,9 +21,9 @@ %%% @doc This provider uses the lib_dir setting of the state. It searches the %%% Lib Dirs looking for all OTP Applications that are available. When it finds %%% those OTP Applications it loads the information about them and adds them to -%%% the state of available apps. This implements the rlx_provider behaviour. +%%% the state of available apps. This implements the provider behaviour. -module(rlx_prv_discover). --behaviour(rlx_provider). +-behaviour(provider). -export([init/1, do/1, @@ -31,12 +31,24 @@ -include("relx.hrl"). +-define(PROVIDER, discover). +-define(DEPS, []). + %%============================================================================ %% API %%============================================================================ + -spec init(rlx_state:t()) -> {ok, rlx_state:t()}. init(State) -> - {ok, State}. + State1 = rlx_state:add_provider(State, providers:create([{name, ?PROVIDER}, + {module, ?MODULE}, + {bare, false}, + {deps, ?DEPS}, + {example, "build"}, + {short_desc, ""}, + {desc, ""}, + {opts, []}])), + {ok, State1}. %% @doc recursively dig down into the library directories specified in the state %% looking for OTP Applications @@ -97,6 +109,7 @@ add_common_project_dirs(State) -> Apps = filename:join(Root, "apps"), Lib = filename:join(Root, "lib"), Deps = filename:join(Root, "deps"), + Rebar3Deps = filename:join(Root, "_deps"), Ebin = filename:join(Root, "ebin"), lists:foldl(fun(Dir, LibDirs) -> case ec_file:exists(Dir) of @@ -105,7 +118,7 @@ add_common_project_dirs(State) -> false -> LibDirs end - end, [], [Deps, Lib, Apps, Ebin]) + end, [], [Rebar3Deps, Deps, Lib, Apps, Ebin]) end. -spec add_system_lib_dir(rlx_state:t()) -> [file:name()]. |