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}