summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2011-09-27 11:41:41 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2011-09-27 11:41:41 +0100
commit034cccc3889642afc00cef273a25eebbe8719c08 (patch)
treeecfd5ba351867ea62cee28865fa8348e11bccd7e /src
parent8c97b35bd2e73a3dfe386d57f3783ee82a5250e3 (diff)
downloadrabbitmq-server-git-034cccc3889642afc00cef273a25eebbe8719c08.tar.gz
warn when enabled plugins can't be activated because they're missing
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_plugins.erl3
-rw-r--r--src/rabbit_prelaunch.erl11
2 files changed, 11 insertions, 3 deletions
diff --git a/src/rabbit_plugins.erl b/src/rabbit_plugins.erl
index a1e1eaf989..f07cff7231 100644
--- a/src/rabbit_plugins.erl
+++ b/src/rabbit_plugins.erl
@@ -18,7 +18,7 @@
-include("rabbit.hrl").
-export([start/0, stop/0, find_plugins/1, read_enabled_plugins/1,
- lookup_plugins/2, calculate_required_plugins/2]).
+ lookup_plugins/2, calculate_required_plugins/2, plugin_names/1]).
-define(VERBOSE_OPT, "-v").
-define(ENABLED_OPT, "-E").
@@ -34,6 +34,7 @@
-spec(read_enabled_plugins/1 :: (file:filename()) -> [atom()]).
-spec(lookup_plugins/2 :: ([atom()], [#plugin{}]) -> [#plugin{}]).
-spec(calculate_required_plugins/2 :: ([atom()], [#plugin{}]) -> [atom()]).
+-spec(plugin_names/1 :: ([#plugin{}]) -> [atom()]).
-endif.
diff --git a/src/rabbit_prelaunch.erl b/src/rabbit_prelaunch.erl
index 0d6f3c5217..d34ed44a8b 100644
--- a/src/rabbit_prelaunch.erl
+++ b/src/rabbit_prelaunch.erl
@@ -151,6 +151,14 @@ prepare_plugins(EnabledPluginsFile, PluginsDistDir, DestDir) ->
AllPlugins = rabbit_plugins:find_plugins(PluginsDistDir),
Enabled = rabbit_plugins:read_enabled_plugins(EnabledPluginsFile),
ToUnpack = rabbit_plugins:calculate_required_plugins(Enabled, AllPlugins),
+ ToUnpackPlugins = rabbit_plugins:lookup_plugins(ToUnpack, AllPlugins),
+
+ Missing = Enabled -- rabbit_plugins:plugin_names(ToUnpackPlugins),
+ case Missing of
+ [] -> ok;
+ _ -> io:format("Warning: the following enabled plugins were "
+ "not found: ~p~n", [Missing])
+ end,
%% Eliminate the contents of the destination directory
case delete_recursively(DestDir) of
@@ -162,8 +170,7 @@ prepare_plugins(EnabledPluginsFile, PluginsDistDir, DestDir) ->
{error, E2} -> terminate("Could not create dir ~s (~p)", [DestDir, E2])
end,
- [prepare_plugin(Plugin, DestDir) ||
- Plugin <- rabbit_plugins:lookup_plugins(ToUnpack, AllPlugins)].
+ [prepare_plugin(Plugin, DestDir) || Plugin <- ToUnpackPlugins].
prepare_plugin(#plugin{type = ez, location = Location}, PluginDestDir) ->
zip:unzip(Location, [{cwd, PluginDestDir}]);