diff options
| author | Michael Klishin <michael@novemberain.com> | 2018-10-04 00:53:16 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-10-04 00:53:16 +0300 |
| commit | e2083a1f9e1462ae8c6e6e98d39f093440dbf75c (patch) | |
| tree | db085cd728d41bf9d7b9e9dcc02ad016563f0505 /src | |
| parent | 631f101ce1f8a8c368010437f44c8c9930b470ae (diff) | |
| parent | fcee3472db31170be67c9a177a5557ecc00dc4be (diff) | |
| download | rabbitmq-server-git-e2083a1f9e1462ae8c6e6e98d39f093440dbf75c.tar.gz | |
Merge pull request #1720 from rabbitmq/rabbitmq-cli-261
Support changes for `rabbitmq-plugins directories`
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_plugins.erl | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/rabbit_plugins.erl b/src/rabbit_plugins.erl index 5d6b4c0a7e..51c59651f1 100644 --- a/src/rabbit_plugins.erl +++ b/src/rabbit_plugins.erl @@ -23,6 +23,7 @@ -export([extract_schemas/1]). -export([validate_plugins/1, format_invalid_plugins/1]). -export([is_strictly_plugin/1, strictly_plugins/2, strictly_plugins/1]). +-export([plugins_dir/0, plugins_expand_dir/0, enabled_plugins_file/0]). % Export for testing purpose. -export([is_version_supported/2, validate_plugins/2]). @@ -97,8 +98,8 @@ plugins_expand_dir() -> filename:join([rabbit_mnesia:dir(), "plugins_expand_dir"]) end. --spec plugins_dist_dir() -> file:filename(). -plugins_dist_dir() -> +-spec plugins_dir() -> file:filename(). +plugins_dir() -> case application:get_env(rabbit, plugins_dir) of {ok, PluginsDistDir} -> PluginsDistDir; @@ -106,6 +107,15 @@ plugins_dist_dir() -> filename:join([rabbit_mnesia:dir(), "plugins_dir_stub"]) end. +-spec enabled_plugins_file() -> file:filename(). +enabled_plugins_file() -> + case application:get_env(rabbit, enabled_plugins_file) of + {ok, Val} -> + Val; + _ -> + filename:join([rabbit_mnesia:dir(), "enabled_plugins"]) + end. + -spec enabled_plugins() -> [atom()]. enabled_plugins() -> case application:get_env(rabbit, enabled_plugins_file) of @@ -174,7 +184,7 @@ extract_schema(#plugin{type = dir, location = Location}, SchemaDir) -> %% @doc Lists the plugins which are currently running. active() -> - InstalledPlugins = plugin_names(list(plugins_dist_dir())), + InstalledPlugins = plugin_names(list(plugins_dir())), [App || {App, _, _} <- rabbit_misc:which_applications(), lists:member(App, InstalledPlugins)]. @@ -230,7 +240,7 @@ strictly_plugins(Plugins, AllPlugins) -> end, Plugins). strictly_plugins(Plugins) -> - AllPlugins = list(plugins_dist_dir()), + AllPlugins = list(plugins_dir()), lists:filter( fun(Name) -> is_strictly_plugin(lists:keyfind(Name, #plugin.name, AllPlugins)) @@ -286,7 +296,7 @@ running_plugins() -> prepare_plugins(Enabled) -> ExpandDir = plugins_expand_dir(), - AllPlugins = list(plugins_dist_dir()), + AllPlugins = list(plugins_dir()), Wanted = dependencies(false, Enabled, AllPlugins), WantedPlugins = lookup_plugins(Wanted, AllPlugins), {ValidPlugins, Problems} = validate_plugins(WantedPlugins), |
