Expand description
Local workspace and package-graph loader for Cabin.
Given a path to a cabin.toml, this crate discovers workspace members
(if any), follows local path = "..." dependencies, deduplicates by
canonical manifest path, detects duplicate [package].name and package
cycles, and returns a topologically-sorted PackageGraph.
Versioned dependencies are not resolved here. The CLI resolves them, fetches artifacts, and passes registry package sources back into this crate through the registry-aware loading entry points. Git sources are not supported.
Re-exports§
pub use discovery::DiscoveredManifest;pub use discovery::discover_workspace_root;pub use error::WorkspaceError;pub use graph::DependencyEdge;pub use graph::PackageGraph;pub use graph::PackageKind;pub use graph::RootSettings;pub use graph::WorkspacePackage;pub use graph::synthetic_root_identity;pub use loader::PatchedPackageSource;pub use loader::PortPackageSource;pub use loader::PortPolicy;pub use loader::RegistryPackageSource;pub use loader::RegistryPolicy;pub use loader::WorkspaceLoadOptions;pub use loader::load_workspace;pub use loader::load_workspace_skip_ports;pub use loader::load_workspace_with_options;pub use patch::ActivePatch;pub use patch::ActivePatchSet;pub use patch::ConfigPatchInput;pub use patch::PatchResolutionError;pub use patch::PatchResolutionInputs;pub use patch::collect_patched_versioned_deps;pub use patch::resolve_active_patches;pub use selection::PackageSelection;pub use selection::ResolvedSelection;pub use selection::SelectionMode;pub use selection::closure_has_versioned_deps_excluding_with_dev;pub use selection::collect_closure_versioned_deps_excluding_with_dev;pub use selection::combine_version_reqs;pub use selection::resolve_package_selection;