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 | |
| 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`
| -rwxr-xr-x | scripts/rabbitmq-plugins | 2 | ||||
| -rw-r--r-- | scripts/rabbitmq-plugins.bat | 2 | ||||
| -rw-r--r-- | src/rabbit_plugins.erl | 20 |
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), |
