assemble_rust/
plugin.rs

1//! Contains the rust plugin
2
3use crate::extensions::RustPluginExtension;
4use crate::rustup::configure_rustup_tasks;
5use assemble_core::plugins::extensions::ExtensionAware;
6use assemble_core::plugins::Plugin;
7use assemble_core::project::error::ProjectResult;
8use assemble_core::Project;
9
10/// The rust plugin
11#[derive(Debug, Default)]
12pub struct RustBasePlugin;
13
14impl RustBasePlugin {
15    pub const INSTALL_DEFAULT_TOOLCHAIN: &'static str = "install-default-toolchain";
16}
17
18impl Plugin<Project> for RustBasePlugin {
19    fn apply_to(&self, project: &mut Project) -> ProjectResult {
20        project
21            .extensions_mut()
22            .add("rust", RustPluginExtension::new())?;
23        configure_rustup_tasks(project)
24    }
25}