Enhance library dependency tree

This commit is contained in:
Ivan Kravets
2022-03-23 17:55:27 +02:00
parent b44fb101c4
commit b137b25169

View File

@ -1073,15 +1073,23 @@ def ConfigureProjectLibBuilder(env):
lb.depbuilders.remove(deplb) lb.depbuilders.remove(deplb)
def _print_deps_tree(root, level=0): def _print_deps_tree(root, level=0):
margin = "| " * (level) margin = " " * (level)
for lb in root.depbuilders: for index, lb in enumerate(root.depbuilders):
title = "<%s>" % lb.name title = lb.name
pkg = PackageItem(lb.path) pkg = PackageItem(lb.path)
if pkg.metadata: if pkg.metadata:
title += " %s" % pkg.metadata.version title += " @ %s" % pkg.metadata.version
elif lb.version: elif lb.version:
title += " %s" % lb.version title += " @ %s" % lb.version
click.echo("%s|-- %s" % (margin, title), nl=False) click.echo(
"%s%s %s"
% (
margin,
"├──" if index < len(root.depbuilders) - 1 else "└──",
title,
),
nl=False,
)
if int(ARGUMENTS.get("PIOVERBOSE", 0)): if int(ARGUMENTS.get("PIOVERBOSE", 0)):
if pkg.metadata and pkg.metadata.spec.external: if pkg.metadata and pkg.metadata.spec.external:
click.echo(" [%s]" % pkg.metadata.spec.url, nl=False) click.echo(" [%s]" % pkg.metadata.spec.url, nl=False)