pub struct PublishLevel {
pub level: usize,
pub packages: Vec<PlannedPackage>,
}Expand description
A group of packages that can be published in parallel.
Packages at the same level have no dependencies on each other within the workspace, meaning they can be published concurrently without violating dependency order.
§Example
ⓘ
use std::path::PathBuf;
use shipper::types::{PublishLevel, PlannedPackage};
let level = PublishLevel {
level: 0,
packages: vec![
PlannedPackage {
name: "utils".to_string(),
version: "1.0.0".to_string(),
manifest_path: PathBuf::from("crates/utils/Cargo.toml"),
},
PlannedPackage {
name: "common".to_string(),
version: "2.0.0".to_string(),
manifest_path: PathBuf::from("crates/common/Cargo.toml"),
},
],
};§Level Numbering
Level 0 contains packages with no workspace dependencies. Level N contains packages that depend only on packages in levels 0..N.
Fields§
§level: usizeThe level number (0 = no dependencies, 1 = depends on level 0, etc.)
packages: Vec<PlannedPackage>Packages that can be published in parallel at this level
Trait Implementations§
Source§impl Clone for PublishLevel
impl Clone for PublishLevel
Source§fn clone(&self) -> PublishLevel
fn clone(&self) -> PublishLevel
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PublishLevel
impl Debug for PublishLevel
Source§impl<'de> Deserialize<'de> for PublishLevel
impl<'de> Deserialize<'de> for PublishLevel
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PublishLevel
impl RefUnwindSafe for PublishLevel
impl Send for PublishLevel
impl Sync for PublishLevel
impl Unpin for PublishLevel
impl UnsafeUnpin for PublishLevel
impl UnwindSafe for PublishLevel
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