Merge "Fix: Avoid LegacyVersion casting due to hyphens"

This commit is contained in:
Zuul 2022-04-21 12:22:01 +00:00 committed by Gerrit Code Review
commit 7d91e9e548
2 changed files with 27 additions and 0 deletions

View File

@ -72,6 +72,29 @@ class ModuleRegistry(object):
r"(.*)-(?:SNAPSHOT|BETA).*", r"\g<1>.preview", version
)
if isinstance(
pkg_resources.parse_version(plugin_info["version"]),
pkg_resources.extern.packaging.version.LegacyVersion,
):
plugin_info["version"] = plugin_info["version"].replace("-", "+")
if isinstance(
pkg_resources.parse_version(plugin_info["version"]),
pkg_resources.extern.packaging.version.LegacyVersion,
):
plugin_name = plugin_info.get(
"shortName", plugin_info.get("longName", None)
)
if plugin_name:
logger.warning(
"Version %s for plugin %s is being treated as a LegacyVersion"
% (plugin_info["version"], plugin_name)
)
else:
logger.warning(
"Version %s is being treated as a LegacyVersion"
% plugin_info["version"]
)
aliases = []
for key in ["longName", "shortName"]:
value = plugin_info.get(key, None)

View File

@ -37,6 +37,10 @@ class ModuleRegistryPluginInfoTestsWithScenarios(
v1="1.4.6-SNAPSHOT (private-0986edd9-example)", op="__gt__", v2="1.4.5"
),
),
("s16", dict(v1="1.0.1-1.v1", op="__gt__", v2="1.0.1")),
("s17", dict(v1="1.0.1-1.v1", op="__lt__", v2="1.0.2")),
("s18", dict(v1="1.0.2-1.v1", op="__gt__", v2="1.0.1")),
("s19", dict(v1="1.0.2-1.v1", op="__gt__", v2="1.0.1-2")),
]
def setUp(self):