pub struct CargoInstall {
pub id: ActionId,
pub source: CargoSource,
pub crate_name: Option<String>,
pub features: Vec<String>,
pub install_to: PathBuf,
pub deps: Vec<ActionId>,
}Expand description
Action that installs a binary crate via cargo install.
output_hash is the SHA-256 of the resulting binary file’s content,
so a successful re-install with identical inputs yields a stable hash.
Fields§
§id: ActionIdAction identifier for the plan.
source: CargoSourceWhere the crate source lives.
crate_name: Option<String>Crate name to install. When None, defaults to the last ::-separated
segment of Self::id (the convention used by manifest-derived ids).
features: Vec<String>Cargo features to enable.
install_to: PathBuf--root argument: cargo writes the binary to <install_to>/bin/<crate>.
deps: Vec<ActionId>IDs of actions that must complete before this one runs.
Trait Implementations§
Source§impl Action for CargoInstall
impl Action for CargoInstall
Source§fn output_present<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 Ctx,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn output_present<'life0, 'life1, 'async_trait>(
&'life0 self,
_ctx: &'life1 Ctx,
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
The installed binary must still be on this machine. A cached
Success alone proves only that some machine built it.
Source§fn input_hash<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 Ctx,
) -> Pin<Box<dyn Future<Output = Result<Sha256, BuildError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn input_hash<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 Ctx,
) -> Pin<Box<dyn Future<Output = Result<Sha256, BuildError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Computes the hash representing the input state of this action.
This is used for caching and determining if the action needs to run.
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 Ctx,
) -> Pin<Box<dyn Future<Output = Result<BuildOutput, BuildError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 Ctx,
) -> Pin<Box<dyn Future<Output = Result<BuildOutput, BuildError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Executes the action’s core logic.
Source§fn is_coordinator(&self) -> bool
fn is_coordinator(&self) -> bool
true for actions that only coordinate other actions (federation’s
RepolithSync) rather than doing bounded work themselves. Read moreAuto Trait Implementations§
impl Freeze for CargoInstall
impl RefUnwindSafe for CargoInstall
impl Send for CargoInstall
impl Sync for CargoInstall
impl Unpin for CargoInstall
impl UnsafeUnpin for CargoInstall
impl UnwindSafe for CargoInstall
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