stevedore/stevedore
Ian Wienand 7b48fffd01 Order old importlib-metadata results by group
A Debian Buster-based zuul-jobs test started failing when using stestr
recently [1].  Upon further investigation, this is a Python 3.7
environment which is affected by a recent breaking change to
importlib_metadata.

It seems stevedore worked around this with
Ib9c2b0a14edea91e97d122d2ac93b650029f918e, which was released with
3.5.1 -- but I was still seeing the issue.

Upon further investigation, the "real_groups" dict being returned here
with importlib-metadata 4.12.0 is in buckets by group, e.g.

 {'group.one': [EntryPoint(name='foo', ... , group='group.one'),
                EntryPoint(name='bar', ... , group='group.one')],
  'group.two': [EntryPoint(name='moo', ... , group='group.two'),
                EntryPoint(name='goo', ... , group='group.two')],
 }

This current code seems to return a dict with entry-points by thier
name, e.g.

 {'foo': EntryPoint(name='foo', ... , group='group.one),
  'bar': EntryPoint(name='bar', ... , group='group.one),
  'moo': EntryPoint(name='moo', ... , group='group.two),
  'goo': EntryPoint(name='goo', ... , group='group.two)
 }

This reorgansies the fixup routine to put entry-points in a bucket by
their group.  With this change, stestr is again finding it's command
plugins.

[1] https://github.com/mtreinish/stestr/issues/336
[2] https://github.com/python/importlib_metadata/issues/409

Change-Id: I3496ab1dfa312b1098a869cdfd9a0c6f81653b28
(cherry picked from commit 5189992d71)
(cherry picked from commit 93f1e0937c)
(cherry picked from commit 6c9978a906)
(cherry picked from commit 1c1270666a)
2022-10-19 11:18:40 +01:00
..
example Adding pre-commit 2020-09-15 13:40:37 +02:00
example2 Adding pre-commit 2020-09-15 13:40:37 +02:00
tests Fix compatibility with Python 3.12, importlib-metadata 5.0 2022-10-05 11:18:02 +01:00
__init__.py Drop Python 2.7 support 2020-04-21 15:14:10 +01:00
_cache.py Order old importlib-metadata results by group 2022-10-19 11:18:40 +01:00
dispatch.py Fix the bug 1892610. There're some syntax errors in the comment of stevedore code. 2020-08-23 10:27:26 +08:00
driver.py Merge "Adding pre-commit" 2020-10-05 16:59:20 +00:00
enabled.py Fix the bug 1892610. There're some syntax errors in the comment of stevedore code. 2020-08-23 10:27:26 +08:00
exception.py Add Apache 2.0 license to source file 2016-11-28 13:32:32 +07:00
extension.py Fix compatibility with Python 3.10, 3.9.11 2022-10-05 11:17:53 +01:00
hook.py Fix the bug 1892610. There're some syntax errors in the comment of stevedore code. 2020-08-23 10:27:26 +08:00
named.py Fix the bug 1892610. There're some syntax errors in the comment of stevedore code. 2020-08-23 10:27:26 +08:00
sphinxext.py sphinxext: fix warning message for detailed list 2020-07-12 15:01:34 -04:00