pub enum ExecutionPhase {
Provision,
Setup,
PathExport,
ShellInit,
Link,
}Expand description
The ordered execution phase a handler belongs to.
Phases run in declaration order — the derived Ord drives
crate::rules::handler_execution_order. Each handler belongs to
exactly one phase, so adding a handler is a deliberate design
choice: where does this fit in the pipeline? rather than a silent
answer from alphabetical sort.
§Why this order
Provisioninstalls packages. Anything later (including userinstall.shscripts) may depend on the tools it put on PATH.Setupruns user-authored setup scripts that can lean on Provision having completed (brewand formulas available).PathExportstagesbin/directories onto$PATH. It runs beforeShellInitso shell init scripts can reference the executables it exposes.ShellInitregisters shell startup files.Linkis the catchall symlink phase. It runs last because the symlink handler is catchall — precise handlers above must have already claimed their files.
Variants§
Provision
Install packages (homebrew).
Setup
Run user setup scripts (install).
PathExport
Stage directories onto $PATH (path).
ShellInit
Register shell init files (shell).
Link
Catchall: link remaining files (symlink). Always last.
Implementations§
Source§impl ExecutionPhase
impl ExecutionPhase
Sourcepub fn category(self) -> HandlerCategory
pub fn category(self) -> HandlerCategory
The category this phase belongs to.
Provision and Setup run user-authored code and are gated by sentinels; the rest are idempotent filesystem work.
Trait Implementations§
Source§impl Clone for ExecutionPhase
impl Clone for ExecutionPhase
Source§fn clone(&self) -> ExecutionPhase
fn clone(&self) -> ExecutionPhase
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 ExecutionPhase
impl Debug for ExecutionPhase
Source§impl Hash for ExecutionPhase
impl Hash for ExecutionPhase
Source§impl Ord for ExecutionPhase
impl Ord for ExecutionPhase
Source§fn cmp(&self, other: &ExecutionPhase) -> Ordering
fn cmp(&self, other: &ExecutionPhase) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for ExecutionPhase
impl PartialEq for ExecutionPhase
Source§impl PartialOrd for ExecutionPhase
impl PartialOrd for ExecutionPhase
Source§impl Serialize for ExecutionPhase
impl Serialize for ExecutionPhase
impl Copy for ExecutionPhase
impl Eq for ExecutionPhase
impl StructuralPartialEq for ExecutionPhase
Auto Trait Implementations§
impl Freeze for ExecutionPhase
impl RefUnwindSafe for ExecutionPhase
impl Send for ExecutionPhase
impl Sync for ExecutionPhase
impl Unpin for ExecutionPhase
impl UnsafeUnpin for ExecutionPhase
impl UnwindSafe for ExecutionPhase
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> CallHasher for T
impl<T> CallHasher for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.