From 20f4562c6dabfcf9df1e52ec2c83307b33c24090 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Mon, 25 May 2015 23:23:29 -0500 Subject: fix for plugin installation and code paths --- src/rebar_hooks.erl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/rebar_hooks.erl') diff --git a/src/rebar_hooks.erl b/src/rebar_hooks.erl index e144a8e..037a85a 100644 --- a/src/rebar_hooks.erl +++ b/src/rebar_hooks.erl @@ -10,11 +10,15 @@ run_all_hooks(Dir, Type, Command, Providers, State) -> run_hooks(Dir, Type, Command, State). run_provider_hooks(Dir, Type, Command, Providers, State) -> + PluginDepsPaths = rebar_state:code_paths(State, all_plugin_deps), + code:add_pathsa(PluginDepsPaths), State1 = rebar_state:providers(rebar_state:dir(State, Dir), Providers), AllHooks = rebar_state:get(State1, provider_hooks, []), TypeHooks = proplists:get_value(Type, AllHooks, []), HookProviders = proplists:get_all_values(Command, TypeHooks), - rebar_core:do(HookProviders, State1). + State2 = rebar_core:do(HookProviders, State1), + rebar_utils:remove_from_code_path(PluginDepsPaths), + State2. run_hooks(Dir, Type, Command, State) -> Hooks = case Type of -- cgit v1.1 From 7d33dbf6aab358751c1edb9a25174ae811b6a0d7 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Thu, 28 May 2015 11:07:38 -0500 Subject: store plugin providers in app_info's state for deps --- src/rebar_hooks.erl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/rebar_hooks.erl') diff --git a/src/rebar_hooks.erl b/src/rebar_hooks.erl index 037a85a..4ec46f7 100644 --- a/src/rebar_hooks.erl +++ b/src/rebar_hooks.erl @@ -12,10 +12,12 @@ run_all_hooks(Dir, Type, Command, Providers, State) -> run_provider_hooks(Dir, Type, Command, Providers, State) -> PluginDepsPaths = rebar_state:code_paths(State, all_plugin_deps), code:add_pathsa(PluginDepsPaths), - State1 = rebar_state:providers(rebar_state:dir(State, Dir), Providers), + Providers1 = rebar_state:providers(State), + State1 = rebar_state:providers(rebar_state:dir(State, Dir), Providers++Providers1), AllHooks = rebar_state:get(State1, provider_hooks, []), TypeHooks = proplists:get_value(Type, AllHooks, []), HookProviders = proplists:get_all_values(Command, TypeHooks), + State2 = rebar_core:do(HookProviders, State1), rebar_utils:remove_from_code_path(PluginDepsPaths), State2. -- cgit v1.1