Files
scale-build/scale_build/utils/package.py
2023-04-13 19:22:19 +05:00

32 lines
830 B
Python

from scale_build.packages.package import Package
from .manifest import get_manifest
def get_sources():
return [
pkg for pkg in map(
lambda p: Package(**{k: v for k, v in p.items() if k != 'subpackages'}), get_manifest()['sources']
)
if pkg.to_build
]
def get_packages():
pkgs = []
for pkg in get_manifest()['sources']:
sub_packages = pkg.pop('subpackages', [])
pkg = Package(**pkg)
if pkg.to_build:
pkgs.append(pkg)
for sub_pkg in sub_packages:
sub_pkg = Package(**{
**sub_pkg,
'branch': pkg.branch,
'repo': pkg.origin,
'source_name': pkg.source_name,
})
if sub_pkg.to_build:
pkgs.append(sub_pkg)
return pkgs