summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@novemberain.com>2018-10-04 00:53:16 +0300
committerGitHub <noreply@github.com>2018-10-04 00:53:16 +0300
commite2083a1f9e1462ae8c6e6e98d39f093440dbf75c (patch)
treedb085cd728d41bf9d7b9e9dcc02ad016563f0505
parent631f101ce1f8a8c368010437f44c8c9930b470ae (diff)
parentfcee3472db31170be67c9a177a5557ecc00dc4be (diff)
downloadrabbitmq-server-git-e2083a1f9e1462ae8c6e6e98d39f093440dbf75c.tar.gz
Merge pull request #1720 from rabbitmq/rabbitmq-cli-261
Support changes for `rabbitmq-plugins directories`
-rwxr-xr-xscripts/rabbitmq-plugins2
-rw-r--r--scripts/rabbitmq-plugins.bat2
-rw-r--r--src/rabbit_plugins.erl20
3 files changed, 17 insertions, 7 deletions
diff --git a/scripts/rabbitmq-plugins b/scripts/rabbitmq-plugins
index 891b96e924..6e4cf93cda 100755
--- a/scripts/rabbitmq-plugins
+++ b/scripts/rabbitmq-plugins
@@ -29,4 +29,4 @@ set -a
# shellcheck source=./rabbitmq-env
. "${0%/*}"/rabbitmq-env
-run_escript rabbitmqctl_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-plugins --formatter=plugins -q "$@"
+run_escript rabbitmqctl_escript "${ESCRIPT_DIR:?must be defined}"/rabbitmq-plugins "$@"
diff --git a/scripts/rabbitmq-plugins.bat b/scripts/rabbitmq-plugins.bat
index 17471291cb..7fea063c13 100644
--- a/scripts/rabbitmq-plugins.bat
+++ b/scripts/rabbitmq-plugins.bat
@@ -56,7 +56,7 @@ if not defined ERL_CRASH_DUMP_SECONDS (
-nodename !RABBITMQ_NODENAME! ^
-run escript start ^
-escript main rabbitmqctl_escript ^
--extra "%RABBITMQ_HOME%\escript\rabbitmq-plugins" --formatter=plugins !STAR!
+-extra "%RABBITMQ_HOME%\escript\rabbitmq-plugins" !STAR!
endlocal
endlocal
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),