pavex_cli/package_graph.rs
1use anyhow::Context;
2use guppy::graph::PackageGraph;
3
4pub fn compute_package_graph() -> Result<PackageGraph, anyhow::Error> {
5 let metadata = tracing::info_span!("Invoke 'cargo metadata'")
6 .in_scope(|| guppy::MetadataCommand::new().exec())
7 .context("Failed to invoke `cargo metadata`")?;
8 let graph = tracing::info_span!("Build package graph")
9 .in_scope(|| metadata.build_graph())
10 .context("Failed to build package graph")?;
11 Ok(graph)
12}