pub struct Task {Show 37 fields
pub clear: Option<bool>,
pub description: Option<String>,
pub category: Option<String>,
pub disabled: Option<bool>,
pub private: Option<bool>,
pub deprecated: Option<DeprecationInfo>,
pub extend: Option<String>,
pub workspace: Option<bool>,
pub plugin: Option<String>,
pub watch: Option<TaskWatchOptions>,
pub condition: Option<TaskCondition>,
pub condition_script: Option<ConditionScriptValue>,
pub condition_script_runner_args: Option<Vec<String>>,
pub ignore_errors: Option<bool>,
pub force: Option<bool>,
pub env_files: Option<Vec<EnvFile>>,
pub env: Option<IndexMap<String, EnvValue>>,
pub cwd: Option<String>,
pub alias: Option<String>,
pub linux_alias: Option<String>,
pub windows_alias: Option<String>,
pub mac_alias: Option<String>,
pub install_crate: Option<InstallCrate>,
pub install_crate_args: Option<Vec<String>>,
pub install_script: Option<ScriptValue>,
pub command: Option<String>,
pub args: Option<Vec<String>>,
pub script: Option<ScriptValue>,
pub script_runner: Option<String>,
pub script_runner_args: Option<Vec<String>>,
pub script_extension: Option<String>,
pub run_task: Option<RunTaskInfo>,
pub dependencies: Option<Vec<DependencyIdentifier>>,
pub toolchain: Option<ToolchainSpecifier>,
pub linux: Option<PlatformOverrideTask>,
pub windows: Option<PlatformOverrideTask>,
pub mac: Option<PlatformOverrideTask>,
}
Expand description
Holds a single task configuration such as command and dependencies list
Fields§
§clear: Option<bool>
if true, it should ignore all data in base task
description: Option<String>
Task description
category: Option<String>
Category name used to document the task
disabled: Option<bool>
if true, the command/script of this task will not be invoked, dependencies however will be
private: Option<bool>
if true, the task is hidden from the list of available tasks and also cannot be invoked directly from cli
deprecated: Option<DeprecationInfo>
if not false, this task is defined as deprecated
extend: Option<String>
Extend any task based on the defined name
workspace: Option<bool>
set to false to notify cargo-make that this is not a workspace and should not call task for every member (same as –no-workspace CLI flag)
plugin: Option<String>
Optional plugin used to execute the task
watch: Option<TaskWatchOptions>
set to true to watch for file changes and invoke the task operation
condition: Option<TaskCondition>
if provided all condition values must be met in order for the task to be invoked (will not stop dependencies)
condition_script: Option<ConditionScriptValue>
if script exit code is not 0, the command/script of this task will not be invoked, dependencies however will be
condition_script_runner_args: Option<Vec<String>>
The script runner arguments before the script file path
ignore_errors: Option<bool>
if true, any error while executing the task will be printed but will not break the build
force: Option<bool>
DEPRECATED, replaced with ignore_errors
env_files: Option<Vec<EnvFile>>
The env files to setup before running the task commands
env: Option<IndexMap<String, EnvValue>>
The env vars to setup before running the task commands
cwd: Option<String>
The working directory for the task to execute its command/script
alias: Option<String>
if defined, task points to another task and all other properties are ignored
linux_alias: Option<String>
acts like alias if runtime OS is Linux (takes precedence over alias)
windows_alias: Option<String>
acts like alias if runtime OS is Windows (takes precedence over alias)
mac_alias: Option<String>
acts like alias if runtime OS is Mac (takes precedence over alias)
install_crate: Option<InstallCrate>
if defined, the provided crate will be installed (if needed) before running the task
install_crate_args: Option<Vec<String>>
additional cargo install arguments
install_script: Option<ScriptValue>
if defined, the provided script will be executed before running the task
command: Option<String>
The command to execute
args: Option<Vec<String>>
The command args
script: Option<ScriptValue>
If command is not defined, and script is defined, the provided script will be executed
script_runner: Option<String>
The script runner (defaults to cmd in windows and sh for other platforms)
script_runner_args: Option<Vec<String>>
The script runner arguments before the script file path
script_extension: Option<String>
The script file extension
run_task: Option<RunTaskInfo>
The task name to execute
dependencies: Option<Vec<DependencyIdentifier>>
A list of tasks to execute before this task
toolchain: Option<ToolchainSpecifier>
The rust toolchain used to invoke the command or install the needed crates/components
linux: Option<PlatformOverrideTask>
override task if runtime OS is Linux (takes precedence over alias)
windows: Option<PlatformOverrideTask>
override task if runtime OS is Windows (takes precedence over alias)
mac: Option<PlatformOverrideTask>
override task if runtime OS is Mac (takes precedence over alias)
Implementations§
source§impl Task
impl Task
sourcepub fn apply(self: &mut Task, modify_config: &ModifyConfig)
pub fn apply(self: &mut Task, modify_config: &ModifyConfig)
Apply modifications
sourcepub fn should_ignore_errors(self: &Task) -> bool
pub fn should_ignore_errors(self: &Task) -> bool
Returns true if the task ignore_errors attribute is defined and true
sourcepub fn get_normalized_task(self: &mut Task) -> Task
pub fn get_normalized_task(self: &mut Task) -> Task
Returns a new task based on the override information and current platform.
sourcepub fn get_alias(self: &Task) -> Option<String>
pub fn get_alias(self: &Task) -> Option<String>
Returns the alias value based on the current platform and task definition.
sourcepub fn get_actions_count(self: &Task) -> u8
pub fn get_actions_count(self: &Task) -> u8
Returns the amount of actions defined on the task
sourcepub fn is_actionable(self: &Task) -> bool
pub fn is_actionable(self: &Task) -> bool
Returns true if the task has any actions on its own or if it modifies the environment in any way.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Task
impl<'de> Deserialize<'de> for Task
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>,
Auto Trait Implementations§
impl Freeze for Task
impl RefUnwindSafe for Task
impl Send for Task
impl Sync for Task
impl Unpin for Task
impl UnwindSafe for Task
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
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>
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>
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