mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-30 10:07:14 +02:00
Fix a bug with the custom platform packages // Resolve #3628
This commit is contained in:
@ -89,17 +89,20 @@ class PlatformBase( # pylint: disable=too-many-instance-attributes,too-many-pub
|
|||||||
@property
|
@property
|
||||||
def packages(self):
|
def packages(self):
|
||||||
packages = self._manifest.get("packages", {})
|
packages = self._manifest.get("packages", {})
|
||||||
for spec in self._custom_packages or []:
|
for item in self._custom_packages or []:
|
||||||
spec = self.pm.ensure_spec(spec)
|
name = item
|
||||||
if spec.external:
|
version = "*"
|
||||||
version = spec.url
|
if "@" in item:
|
||||||
else:
|
name, version = item.split("@", 2)
|
||||||
version = str(spec.requirements) or "*"
|
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:
|
if spec.name not in packages:
|
||||||
packages[spec.name] = {}
|
packages[spec.name] = {}
|
||||||
packages[spec.name].update(
|
packages[spec.name].update(**options)
|
||||||
{"owner": spec.owner, "version": version, "optional": False}
|
|
||||||
)
|
print(13, packages)
|
||||||
return packages
|
return packages
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
Reference in New Issue
Block a user