pub struct Workspace {
pub root: PathBuf,
pub members: HashMap<String, WorkspaceMember>,
pub member_order: Vec<String>,
pub shared_config: Option<SharedConfig>,
}Expand description
Workspace configuration and state.
Fields§
§root: PathBufRoot directory of the workspace.
members: HashMap<String, WorkspaceMember>All member packages.
member_order: Vec<String>Member discovery order (for builds).
Shared workspace configuration.
Implementations§
Source§impl Workspace
impl Workspace
Sourcepub fn discover_or_single(root: &Path) -> Result<Self>
pub fn discover_or_single(root: &Path) -> Result<Self>
Discovers workspace or returns a single-package workspace.
Sourcepub fn get_member(&self, name: &str) -> Option<&WorkspaceMember>
pub fn get_member(&self, name: &str) -> Option<&WorkspaceMember>
Gets a member by name.
Sourcepub fn get_member_by_path(&self, path: &Path) -> Option<&WorkspaceMember>
pub fn get_member_by_path(&self, path: &Path) -> Option<&WorkspaceMember>
Gets a member by path.
Sourcepub fn member_names(&self) -> &[String]
pub fn member_names(&self) -> &[String]
Returns all member names in dependency order.
Sourcepub fn root_member(&self) -> Option<&WorkspaceMember>
pub fn root_member(&self) -> Option<&WorkspaceMember>
Returns the root member if this is a single-package workspace.
Sourcepub fn list_members(&self)
pub fn list_members(&self)
Lists all members.
Sourcepub fn dependents_of(&self, package_name: &str) -> Vec<&WorkspaceMember>
pub fn dependents_of(&self, package_name: &str) -> Vec<&WorkspaceMember>
Returns members that depend on a given package.
Sourcepub fn dependencies_of(&self, package_name: &str) -> Vec<&WorkspaceMember>
pub fn dependencies_of(&self, package_name: &str) -> Vec<&WorkspaceMember>
Returns members that a given package depends on.
Sourcepub fn filter_members<F>(&self, predicate: F) -> Vec<&WorkspaceMember>
pub fn filter_members<F>(&self, predicate: F) -> Vec<&WorkspaceMember>
Filters members by a predicate.
Sourcepub fn target_dir(&self) -> PathBuf
pub fn target_dir(&self) -> PathBuf
Returns the target directory for the workspace.
Returns the shared configuration.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Workspace
impl RefUnwindSafe for Workspace
impl Send for Workspace
impl Sync for Workspace
impl Unpin for Workspace
impl UnsafeUnpin for Workspace
impl UnwindSafe for Workspace
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more