diff options
author | Fred Hebert <mononcqc@ferd.ca> | 2015-05-09 12:32:55 -0400 |
---|---|---|
committer | Fred Hebert <mononcqc@ferd.ca> | 2015-05-09 12:32:55 -0400 |
commit | b904c5b57a4dbe393009da0bc6720c2a78a310e1 (patch) | |
tree | 3d083b6451b75de9cdbf1516bf76d20fbac50731 | |
parent | 671617f03e0915a62eaf630119bae32e92112e02 (diff) | |
parent | a41fbf6cfef9f57cd2db64526e52414948049574 (diff) |
Merge pull request #407 from tsloughter/plugins2
add all plugins, not those just built, to path
-rw-r--r-- | src/rebar_api.erl | 6 | ||||
-rw-r--r-- | src/rebar_plugins.erl | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/rebar_api.erl b/src/rebar_api.erl index 88c7538..45083df 100644 --- a/src/rebar_api.erl +++ b/src/rebar_api.erl @@ -10,7 +10,8 @@ get_arch/0, wordsize/0, add_deps_to_path/1, - restore_code_path/1]). + restore_code_path/1, + processing_base_dir/1]). -export_type([rebar_dict/0, rebar_digraph/0]). @@ -59,3 +60,6 @@ add_deps_to_path(State) -> %% Revert to only having the beams necessary for running rebar3 and plugins in the path restore_code_path(State) -> rebar_utils:cleanup_code_path(rebar_state:code_paths(State, default)). + +processing_base_dir(State) -> + rebar_dir:processing_base_dir(State). diff --git a/src/rebar_plugins.erl b/src/rebar_plugins.erl index 02e8f4e..c16223e 100644 --- a/src/rebar_plugins.erl +++ b/src/rebar_plugins.erl @@ -42,6 +42,7 @@ handle_plugin(Plugin, State) -> Apps = rebar_state:all_deps(State2), ToBuild = lists:dropwhile(fun rebar_app_info:valid/1, Apps), [build_plugin(AppInfo) || AppInfo <- ToBuild], + [true = code:add_patha(filename:join(rebar_app_info:dir(AppInfo), "ebin")) || AppInfo <- Apps], plugin_providers(Plugin) catch C:T -> @@ -54,8 +55,7 @@ build_plugin(AppInfo) -> AppDir = rebar_app_info:dir(AppInfo), C = rebar_config:consult(AppDir), S = rebar_state:new(rebar_state:new(), C, AppDir), - rebar_prv_compile:compile(S, AppInfo), - true = code:add_patha(filename:join(AppDir, "ebin")). + rebar_prv_compile:compile(S, AppInfo). plugin_providers({Plugin, _, _}) when is_atom(Plugin) -> validate_plugin(Plugin); |