mirror of
https://github.com/correl/rebar.git
synced 2024-12-18 03:00:17 +00:00
rebar_plugins in rebar_config to allow extensions
This commit is contained in:
parent
59ab113f3b
commit
92be7a38bf
1 changed files with 21 additions and 1 deletions
|
@ -274,7 +274,12 @@ process_dir(Dir, ParentConfig, Commands) ->
|
||||||
%% that are processed in addition to modules associated with this directory
|
%% that are processed in addition to modules associated with this directory
|
||||||
%% type. These any_dir modules are processed FIRST.
|
%% type. These any_dir modules are processed FIRST.
|
||||||
{ok, AnyDirModules} = application:get_env(rebar, any_dir_modules),
|
{ok, AnyDirModules} = application:get_env(rebar, any_dir_modules),
|
||||||
Modules = AnyDirModules ++ DirModules,
|
|
||||||
|
%% Get the list of plug-in modules from rebar.config. These modules are
|
||||||
|
%% processed LAST.
|
||||||
|
{ok, PluginModules} = plugin_modules(Config),
|
||||||
|
|
||||||
|
Modules = AnyDirModules ++ DirModules ++ PluginModules,
|
||||||
|
|
||||||
%% Give the modules a chance to tweak config and indicate if there
|
%% Give the modules a chance to tweak config and indicate if there
|
||||||
%% are any other dirs that might need processing first.
|
%% are any other dirs that might need processing first.
|
||||||
|
@ -322,6 +327,21 @@ choose_module_set([{Fn, Modules} | Rest], Dir) ->
|
||||||
choose_module_set(Rest, Dir)
|
choose_module_set(Rest, Dir)
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
%%
|
||||||
|
%% Return a flat list of rebar plugin modules.
|
||||||
|
%%
|
||||||
|
plugin_modules(Config) ->
|
||||||
|
Modules = lists:flatten(rebar_config:get_all(Config, rebar_plugins)),
|
||||||
|
FoundModules = [M || M <- Modules, code:which(M) =/= non_existing],
|
||||||
|
case (Modules =/= FoundModules) of
|
||||||
|
true ->
|
||||||
|
ok;
|
||||||
|
false ->
|
||||||
|
?DEBUG("Missing plugins: ~p\n", [Modules -- FoundModules]),
|
||||||
|
ok
|
||||||
|
end,
|
||||||
|
{ok, FoundModules}.
|
||||||
|
|
||||||
%%
|
%%
|
||||||
%% Return .app file if the current directory is an OTP app
|
%% Return .app file if the current directory is an OTP app
|
||||||
%%
|
%%
|
||||||
|
|
Loading…
Reference in a new issue