Skip to main content

Crate cabin_workspace

Crate cabin_workspace 

Source
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;

Modules§

discovery
Workspace root discovery.
error
graph
loader
patch
Resolve the active patch set for one Cabin invocation.
selection
WorkspacePackage selection across a PackageGraph.