Support provides_extra metadata

This was added to setuptools in [1] so we should support passing it
through from pbr.

Change-Id: I46493c18756bcb01c53575ab51ec5e5e97670fc3
1: b2ea3c4a20
Closes-Bug: 1760938
This commit is contained in:
Ben Nemec 2018-08-29 17:38:15 +00:00
parent 08b42cae51
commit 7f9d653c29
2 changed files with 15 additions and 1 deletions

View File

@ -160,3 +160,15 @@ class TestKeywordsParsingScenarios(base.BaseTestCase):
kwargs = util.setup_cfg_to_setup_kwargs(config)
self.assertEqual(self.expected_keywords, kwargs['keywords'])
class TestProvidesExtras(base.BaseTestCase):
def test_provides_extras(self):
ini = """
[metadata]
provides_extras = foo
bar
"""
config = config_from_ini(ini)
kwargs = util.setup_cfg_to_setup_kwargs(config)
self.assertEqual(['foo', 'bar'], kwargs['provides_extras'])

View File

@ -113,6 +113,7 @@ D1_D2_SETUP_ARGS = {
"setup_requires": ("metadata", "setup_requires_dist"),
"python_requires": ("metadata",),
"provides": ("metadata", "provides_dist"), # **
"provides_extras": ("metadata",),
"obsoletes": ("metadata", "obsoletes_dist"), # **
"package_dir": ("files", 'packages_root'),
"packages": ("files",),
@ -147,7 +148,8 @@ MULTI_FIELDS = ("classifiers",
"setup_requires",
"tests_require",
"keywords",
"cmdclass")
"cmdclass",
"provides_extras")
# setup() arguments that can have mapping values in setup.cfg
MAP_FIELDS = ("project_urls",)