[config] skip_core_tasks = true default_to_workspace = false time_summary = true [env] CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true RUST_BACKTRACE = 1 [tasks.install-rust-nightly-rustfmt] private = true description = "Installs nightly Rust with rustfmt (hopefully)." toolchain = "nightly" install_crate = { rustup_component_name = "rustfmt", binary = "rustfmt", test_arg = "--version" } [tasks.install-rust-toolchain] private = true description = "Installs the used Rust toolchain with specified components." command = "rustup" args = ["show"] [tasks.format] description = "Formats all Rust code." install_crate = false command = "cargo" args = ["+nightly", "fmt"] dependencies = ["install-rust-nightly-rustfmt"] [tasks.formatting] description = "Checks all Rust code formatting." install_crate = false command = "cargo" args = ["+nightly", "fmt", "--", "--check"] dependencies = ["install-rust-nightly-rustfmt"] [tasks.clippy-default] install_crate = false command = "cargo" args = ["clippy", "--workspace", "--all-targets", "--", "-D", "warnings"] dependencies = ["install-rust-toolchain"] [tasks.clippy-none] install_crate = false command = "cargo" args = ["clippy", "--workspace", "--all-targets", "--no-default-features", "--", "-D", "warnings"] dependencies = ["install-rust-toolchain"] [tasks.clippy-alloc] install_crate = false command = "cargo" args = ["clippy", "--workspace", "--all-targets", "--no-default-features", "--features", "alloc", "--", "-D", "warnings"] dependencies = ["install-rust-toolchain"] [tasks.clippy-std] install_crate = false command = "cargo" args = ["clippy", "--workspace", "--all-targets", "--no-default-features", "--features", "std", "--", "-D", "warnings"] dependencies = ["install-rust-toolchain"] [tasks.clippy-heapless] install_crate = false command = "cargo" args = ["clippy", "--workspace", "--all-targets", "--no-default-features", "--features", "heapless", "--", "-D", "warnings"] dependencies = ["install-rust-toolchain"] [tasks.clippy-all] install_crate = false command = "cargo" args = ["clippy", "--workspace", "--all-targets", "--all-features", "--", "-D", "warnings"] dependencies = ["install-rust-toolchain"] [tasks.clippy] description = "Runs clippy with all various feature sets." dependencies = [ "clippy-default", "clippy-none", "clippy-alloc", "clippy-std", "clippy-heapless", "clippy-all", ] [tasks.test-all-features] description = "Runs all tests via cargo test with all features." install_crate = false command = "cargo" args = ["test", "--workspace", "--all-features"] dependencies = ["install-rust-toolchain"] [tasks.test-nextest] description = "Runs all tests via nextest (installs nextest if necessary)." install_crate = true command = "cargo" args = ["nextest", "run", "--workspace", "--all-features"] dependencies = ["install-rust-toolchain"] [tasks.test-docs] description = "Runs all doc-tests (since nextest does not)." install_crate = false command = "cargo" args = ["test", "--workspace", "--all-features", "--doc"] dependencies = ["install-rust-toolchain"] [tasks.nextest] description = "Runs all tests via cargo nextest." dependencies = ["test-nextest", "test-docs"] [tasks.test] description = "Runs all tests via cargo test." dependencies = ["test-all-features"] # Future: potentially some no-std test. [tasks.stable-ci] description = """ Runs all CI checks with stable Rust (all but formatting). """ dependencies = ["test", "clippy"] [tasks.ci] description = """ Runs all checks necessary for CI to pass. This includes formatting, clippy and tests currently. """ dependencies = ["test", "clippy", "formatting"] [tasks.default] alias = "ci"