Fix a bug with the custom platform packages // Resolve #3628

This commit is contained in:
Ivan Kravets
2020-08-17 12:13:25 +03:00
parent 74e27a2edc
commit 2459e85c1d

View File

@ -89,17 +89,20 @@ class PlatformBase( # pylint: disable=too-many-instance-attributes,too-many-pub
@property
def packages(self):
packages = self._manifest.get("packages", {})
for spec in self._custom_packages or []:
spec = self.pm.ensure_spec(spec)
if spec.external:
version = spec.url
else:
version = str(spec.requirements) or "*"
for item in self._custom_packages or []:
name = item
version = "*"
if "@" in item:
name, version = item.split("@", 2)
spec = self.pm.ensure_spec(name)
options = {"version": version.strip(), "optional": False}
if spec.owner:
options["owner"] = spec.owner
if spec.name not in packages:
packages[spec.name] = {}
packages[spec.name].update(
{"owner": spec.owner, "version": version, "optional": False}
)
packages[spec.name].update(**options)
print(13, packages)
return packages
@property