Ensure package dependencies are installed // Resolve #2573

This commit is contained in:
Ivan Kravets
2022-03-08 14:59:12 +02:00
parent 9e40eb992e
commit f28651eaf7

View File

@ -84,6 +84,9 @@ class PackageManagerInstallMixin(object):
fg="yellow",
)
)
# ensure package dependencies are installed
if not skip_dependencies:
self.install_dependencies(pkg, print_header=False)
return pkg
self.log.info("Installing %s" % click.style(spec.humanize(), fg="cyan"))
@ -114,12 +117,13 @@ class PackageManagerInstallMixin(object):
self._INSTALL_HISTORY[spec] = pkg
return pkg
def install_dependencies(self, pkg):
def install_dependencies(self, pkg, print_header=True):
assert isinstance(pkg, PackageItem)
dependencies = self.load_manifest(pkg).get("dependencies")
if not dependencies:
return
self.log.info("Resolving dependencies...")
if print_header:
self.log.info("Resolving dependencies...")
for dependency in dependencies:
if not self._install_dependency(dependency):
self.log.warning(