pub trait Executor: Send + Sync + 'static {
    fn exec(
        &self,
        cmd: &ProcessBuilder,
        id: PackageId,
        target: &Target,
        mode: CompileMode,
        on_stdout_line: &mut dyn FnMut(&str) -> CargoResult<()>,
        on_stderr_line: &mut dyn FnMut(&str) -> CargoResult<()>
    ) -> CargoResult<()>; fn init(&self, _cx: &Context<'_, '_>, _unit: &Unit) { ... } fn force_rebuild(&self, _unit: &Unit) -> bool { ... } }
Expand description

A glorified callback for executing calls to rustc. Rather than calling rustc directly, we’ll use an Executor, giving clients an opportunity to intercept the build calls.

Required methods

In case of an Err, Cargo will not continue with the build process for this package.

Provided methods

Called after a rustc process invocation is prepared up-front for a given unit of work (may still be modified for runtime-known dependencies, when the work is actually executed).

Queried when queuing each unit of work. If it returns true, then the unit will always be rebuilt, independent of whether it needs to be.

Implementors