From 0b500dba5468fd4688a46b6501dce291d8f5530c Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Thu, 24 Oct 2019 15:10:11 +0300 Subject: [PATCH] Handle legacy "system": "all" for package manifest --- platformio/managers/package.py | 2 +- platformio/package/manifest/parser.py | 2 +- tests/test_pkgmanifest.py | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/platformio/managers/package.py b/platformio/managers/package.py index ba7fb494..de87904b 100644 --- a/platformio/managers/package.py +++ b/platformio/managers/package.py @@ -79,7 +79,7 @@ class PkgRepoMixin(object): @staticmethod def is_system_compatible(valid_systems): - if valid_systems in (None, "all", "*"): + if not valid_systems or "*" in valid_systems: return True if not isinstance(valid_systems, list): valid_systems = list([valid_systems]) diff --git a/platformio/package/manifest/parser.py b/platformio/package/manifest/parser.py index fb6f06db..22c21b7b 100644 --- a/platformio/package/manifest/parser.py +++ b/platformio/package/manifest/parser.py @@ -537,7 +537,7 @@ class PackageJsonManifestParser(BaseManifestParser): def _parse_system(data): if "system" not in data: return data - if data["system"] in ("*", ["*"]): + if data["system"] in ("*", ["*"], "all"): del data["system"] return data if not isinstance(data["system"], list): diff --git a/tests/test_pkgmanifest.py b/tests/test_pkgmanifest.py index f779b488..18078a7f 100644 --- a/tests/test_pkgmanifest.py +++ b/tests/test_pkgmanifest.py @@ -479,6 +479,11 @@ def test_package_json_schema(): ) assert "system" not in mp.as_dict() + mp = parser.ManifestParserFactory.new( + '{"system": "all"}', parser.ManifestFileType.PACKAGE_JSON + ) + assert "system" not in mp.as_dict() + mp = parser.ManifestParserFactory.new( '{"system": "darwin_x86_64"}', parser.ManifestFileType.PACKAGE_JSON )