diff options
| author | Daniil Fedotov <dfedotov@pivotal.io> | 2017-01-26 14:09:08 +0000 |
|---|---|---|
| committer | Daniil Fedotov <dfedotov@pivotal.io> | 2017-01-26 14:09:08 +0000 |
| commit | 9983b0b6961cced4093934334c3ac4a7d33a84e0 (patch) | |
| tree | 788d21a34b32d08eff3cc7b5e2cc9e316ba7c16d /src | |
| parent | 192f844d6fe0259aa0d6bb0f0eeb283a9038f031 (diff) | |
| download | rabbitmq-server-git-9983b0b6961cced4093934334c3ac4a7d33a84e0.tar.gz | |
Ignore pre-release version part in plugin version requirement validation
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_plugins.erl | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/rabbit_plugins.erl b/src/rabbit_plugins.erl index 262f20913f..d5ef35fa62 100644 --- a/src/rabbit_plugins.erl +++ b/src/rabbit_plugins.erl @@ -340,7 +340,10 @@ check_plugins_versions(PluginName, AllPlugins, RequiredVersions) -> is_version_supported("", _) -> true; is_version_supported("0.0.0", _) -> true; is_version_supported(_Version, []) -> true; -is_version_supported(Version, ExpectedVersions) -> +is_version_supported(VersionFull, ExpectedVersions) -> + %% Pre-release version should be supported in plugins, + %% therefore alpha part should be removed + Version = remove_version_alpha_part(VersionFull), case lists:any(fun(ExpectedVersion) -> rabbit_misc:version_minor_equivalent(ExpectedVersion, Version) andalso @@ -351,6 +354,10 @@ is_version_supported(Version, ExpectedVersions) -> false -> false end. +remove_version_alpha_part(Version) -> + {Ver, _Alpha} = rabbit_semver:parse(Version), + iolist_to_binary(rabbit_semver:format({Ver, {[], []}})). + clean_plugins(Plugins) -> {ok, ExpandDir} = application:get_env(rabbit, plugins_expand_dir), [clean_plugin(Plugin, ExpandDir) || Plugin <- Plugins]. |
