From eea2ef74969f6fd227aba1629582f8a89c4b16ac Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 30 Jan 2017 18:37:29 +0100 Subject: [PATCH] print provides for each feature Signed-off-by: Igor Gnatenko --- cargo-deps.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cargo-deps.py b/cargo-deps.py index 0159451..c7a4380 100755 --- a/cargo-deps.py +++ b/cargo-deps.py @@ -69,14 +69,17 @@ args = parser.parse_args() files = args.file or sys.stdin.readlines() -def print_dep(name, spec, kind="="): - print("crate({}) {} {}".format(name, kind.replace("==", "="), spec)) +def print_dep(name, spec, kind="=", feature=None): + f_part = "({})".format(feature) if feature is not None else "" + print("crate({}){} {} {}".format(name, f_part, kind.replace("==", "="), spec)) for f in files: f = f.rstrip() md = get_metadata(f) if args.provides: print_dep(md["name"], md["version"]) + for feature in md["features"]: + print_dep(md["name"], md["version"], feature=feature) if args.requires or args.conflicts: for dep in md["dependencies"]: if dep["kind"] is not None: