Struct bootstrap::utils::exec::BootstrapCommand

source ·
pub struct BootstrapCommand {
    pub command: Command,
    pub failure_behavior: BehaviorOnFailure,
    pub output_mode: Option<OutputMode>,
}
Expand description

Wrapper around std::process::Command.

By default, the command will exit bootstrap if it fails. If you want to allow failures, use allow_failure. If you want to delay failures until the end of bootstrap, use delay_failure.

By default, the command will print its stdout/stderr to stdout/stderr of bootstrap (OutputMode::OnlyOutput). If bootstrap uses verbose mode, then it will also print the command itself in case of failure (OutputMode::All). If you want to handle the output programmatically, use output_mode(OutputMode::OnlyOnFailure).

Fields§

§command: Command§failure_behavior: BehaviorOnFailure§output_mode: Option<OutputMode>

Implementations§

source§

impl BootstrapCommand

source

pub fn new<S: AsRef<OsStr>>(program: S) -> Self

source

pub fn arg<S: AsRef<OsStr>>(&mut self, arg: S) -> &mut Self

source

pub fn args<I, S>(&mut self, args: I) -> &mut Self
where I: IntoIterator<Item = S>, S: AsRef<OsStr>,

source

pub fn env<K, V>(&mut self, key: K, val: V) -> &mut Self
where K: AsRef<OsStr>, V: AsRef<OsStr>,

source

pub fn get_envs(&self) -> CommandEnvs<'_>

source

pub fn get_args(&self) -> CommandArgs<'_>

source

pub fn env_remove<K: AsRef<OsStr>>(&mut self, key: K) -> &mut Self

source

pub fn current_dir<P: AsRef<Path>>(&mut self, dir: P) -> &mut Self

source

pub fn delay_failure(self) -> Self

source

pub fn fail_fast(self) -> Self

source

pub fn allow_failure(self) -> Self

source

pub fn quiet(self) -> Self

Do not print the output of the command, unless it fails.

source

pub fn output_mode(self, output_mode: OutputMode) -> Self

Trait Implementations§

source§

impl Debug for BootstrapCommand

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> From<&'a mut BootstrapCommand> for BootstrapCommand

This implementation is temporary, until all Command invocations are migrated to BootstrapCommand.

source§

fn from(command: &'a mut BootstrapCommand) -> Self

Converts to this type from the input type.
source§

impl<'a> From<&'a mut Command> for BootstrapCommand

This implementation is temporary, until all Command invocations are migrated to BootstrapCommand.

source§

fn from(command: &'a mut Command) -> Self

Converts to this type from the input type.
source§

impl From<Cargo> for BootstrapCommand

source§

fn from(cargo: Cargo) -> BootstrapCommand

Converts to this type from the input type.
source§

impl From<Command> for BootstrapCommand

source§

fn from(command: Command) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 216 bytes