mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-29 17:47:14 +02:00
Fix "RuntimeError: dictionary keys changed during iteration" when parsing "library.json" dependencies
This commit is contained in:
@ -384,8 +384,6 @@ class LibraryJsonManifestParser(BaseManifestParser):
|
||||
for k, v in dependency.items():
|
||||
if k not in ("platforms", "frameworks", "authors"):
|
||||
continue
|
||||
if "*" in v:
|
||||
del raw[i][k]
|
||||
raw[i][k] = util.items_to_list(v)
|
||||
else:
|
||||
raw[i] = {"name": dependency}
|
||||
|
@ -83,7 +83,7 @@ def test_library_json_parser():
|
||||
},
|
||||
"dependencies": [
|
||||
{"name": "deps1", "version": "1.0.0"},
|
||||
{"name": "@owner/deps2", "version": "1.0.0", "platforms": "atmelavr, espressif32", "frameworks": "arduino, espidf"},
|
||||
{"name": "@owner/deps2", "version": "1.0.0", "platforms": "*", "frameworks": "arduino, espidf"},
|
||||
{"name": "deps3", "version": "1.0.0", "platforms": ["ststm32", "sifive"]}
|
||||
]
|
||||
}
|
||||
@ -101,7 +101,7 @@ def test_library_json_parser():
|
||||
{
|
||||
"name": "@owner/deps2",
|
||||
"version": "1.0.0",
|
||||
"platforms": ["atmelavr", "espressif32"],
|
||||
"platforms": ["*"],
|
||||
"frameworks": ["arduino", "espidf"],
|
||||
},
|
||||
{"name": "deps1", "version": "1.0.0"},
|
||||
|
Reference in New Issue
Block a user