summaryrefslogtreecommitdiff
path: root/src/rebar_core.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/rebar_core.erl')
-rw-r--r--src/rebar_core.erl10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/rebar_core.erl b/src/rebar_core.erl
index 5e7848f..27d9223 100644
--- a/src/rebar_core.erl
+++ b/src/rebar_core.erl
@@ -407,10 +407,14 @@ load_plugin_modules(Config, Modules) ->
Dir
end,
- %% Find relevant sources
+ %% Find relevant sources in base_dir and plugin_dir
Erls = string:join([atom_to_list(M)++"\\.erl" || M <- Modules], "|"),
- RE = ".*" ++ Erls ++ "\$",
- Sources = rebar_utils:find_files(PluginDir, RE),
+ RE = "^" ++ Erls ++ "\$",
+ BaseDir = rebar_config:get_global(base_dir, []),
+ %% If a plugin is found in base_dir and plugin_dir the clash
+ %% will provoke an error and we'll abort.
+ Sources = rebar_utils:find_files(PluginDir, RE, false)
+ ++ rebar_utils:find_files(BaseDir, RE, false),
%% Compile and load plugins
Loaded = [load_plugin(Src) || Src <- Sources],