diff options
| author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-09-27 11:41:41 +0100 |
|---|---|---|
| committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-09-27 11:41:41 +0100 |
| commit | 034cccc3889642afc00cef273a25eebbe8719c08 (patch) | |
| tree | ecfd5ba351867ea62cee28865fa8348e11bccd7e /src | |
| parent | 8c97b35bd2e73a3dfe386d57f3783ee82a5250e3 (diff) | |
| download | rabbitmq-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.erl | 3 | ||||
| -rw-r--r-- | src/rabbit_prelaunch.erl | 11 |
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}]); |
