All it does (so far!) is find the crate root, next step is to resolve dependency tree
7CVIL7UJBYEZ4KHKPJ7ZYSVQ7BLQWWUSJLJR5FOXBICQTD5ETK4QC use cargo_metadata::{Node, PackageId};#[derive(Clone, Debug)]struct CrateMetadata<'metadata> {data: &'metadata cargo_metadata::Metadata,packages: &'metadata Vec<Node>,root: &'metadata PackageId,}impl<'metadata> CrateMetadata<'metadata> {fn new(metadata: &'metadata cargo_metadata::Metadata) -> Self {let resolve = metadata.resolve.as_ref().expect("Cargo did not resolve dependencies");let root = resolve.root.as_ref().expect("Must select a root crate");Self {data: metadata,packages: &resolve.nodes,root,}}}fn main() {let cmd = cargo_metadata::MetadataCommand::new();let metadata = cmd.exec().expect("Cargo did not resolve metadata");let root_crate = CrateMetadata::new(&metadata);dbg!(root_crate.root);}
[package]name = "depwiz"version = "0.1.0"edition = "2021"[dependencies]cargo_metadata = "0.18.1"
# This file is automatically @generated by Cargo.# It is not intended for manual editing.version = 3[[package]]name = "camino"version = "1.1.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c"dependencies = ["serde",][[package]]name = "cargo-platform"version = "0.1.8"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"dependencies = ["serde",][[package]]name = "cargo_metadata"version = "0.18.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"dependencies = ["camino","cargo-platform","semver","serde","serde_json","thiserror",][[package]]name = "depwiz"version = "0.1.0"dependencies = ["cargo_metadata",][[package]]name = "itoa"version = "1.0.11"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"[[package]]name = "proc-macro2"version = "1.0.79"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"dependencies = ["unicode-ident",][[package]]name = "quote"version = "1.0.36"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"dependencies = ["proc-macro2",][[package]]name = "ryu"version = "1.0.17"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"[[package]]name = "semver"version = "1.0.22"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"dependencies = ["serde",][[package]]name = "serde"version = "1.0.197"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"dependencies = ["serde_derive",][[package]]name = "serde_derive"version = "1.0.197"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"dependencies = ["proc-macro2","quote","syn",][[package]]name = "serde_json"version = "1.0.115"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd"dependencies = ["itoa","ryu","serde",][[package]]name = "syn"version = "2.0.58"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687"dependencies = ["proc-macro2","quote","unicode-ident",][[package]]name = "thiserror"version = "1.0.58"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"dependencies = ["thiserror-impl",][[package]]name = "thiserror-impl"version = "1.0.58"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"dependencies = ["proc-macro2","quote","syn",][[package]]name = "unicode-ident"version = "1.0.12"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
.git.DS_Store# Added by cargo/target