pub struct SplitConfig {
pub name: String,
pub remote: String,
pub branch: String,
pub mode: SplitMode,
pub workspace_mode: WorkspaceMode,
pub paths: Vec<CratePath>,
pub include: Vec<String>,
pub exclude: Vec<String>,
pub publish: bool,
pub changelog_path: Option<PathBuf>,
}Expand description
Full split configuration (flattened for command use)
Fields§
§name: StringCrate name
remote: StringRemote repository URL or local path
branch: StringGit branch to use
mode: SplitModeSplit mode (single or combined)
workspace_mode: WorkspaceModeFor combined mode: how to structure the split repo
paths: Vec<CratePath>Crate paths to include in the split
include: Vec<String>Additional files/directories to include
exclude: Vec<String>Files/directories to exclude
publish: boolRelease configuration: enable/disable publishing for this crate
changelog_path: Option<PathBuf>Per-crate changelog path override (default: CHANGELOG.md)
Implementations§
Source§impl SplitConfig
impl SplitConfig
Sourcepub fn target_repo_path(&self, workspace_root: &Path) -> PathBuf
pub fn target_repo_path(&self, workspace_root: &Path) -> PathBuf
Determine the target repository path for this split configuration
For local paths (testing), returns the path as-is. For remote URLs, extracts the repo name and places it adjacent to workspace root.
Sourcepub fn is_local_testing(&self) -> bool
pub fn is_local_testing(&self) -> bool
Check if this split is using a local path (testing mode)
Sourcepub fn validate(&self) -> RailResult<()>
pub fn validate(&self) -> RailResult<()>
Validate the split configuration
Trait Implementations§
Source§impl Clone for SplitConfig
impl Clone for SplitConfig
Source§fn clone(&self) -> SplitConfig
fn clone(&self) -> SplitConfig
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 SplitConfig
impl Debug for SplitConfig
Source§impl<'de> Deserialize<'de> for SplitConfig
impl<'de> Deserialize<'de> for SplitConfig
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 SplitConfig
impl RefUnwindSafe for SplitConfig
impl Send for SplitConfig
impl Sync for SplitConfig
impl Unpin for SplitConfig
impl UnwindSafe for SplitConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more