[env]
ALUVM_TOOLCHAIN_ = { source = "${ALUVM_TOOLCHAIN}", default_value = "stable", mapping = { "nightly" = "nightly" } }
ALUVM_FEATURES_ = { source = "${ALUVM_FEATURES}", default_value = "all", mapping = { "default" = "default", "std" = "std", "secp256k1" = "secp256k1", "curve25519" = "curve25519" } }

[tasks.fmt]
command = "cargo"
toolchain = "nightly"
args = ["fmt", "--all"]

[tasks.fmt-check]
command = "cargo"
toolchain = "nightly"
args = ["fmt", "--all", "--", "--check"]

[tasks.clippy]
command = "cargo"
toolchain = "stable"
args = ["clippy", "--workspace", "--all-features"]

[tasks.doc]
command = "cargo"
toolchain = "nightly"
args = ["doc", "--workspace", "--all-features"]

[tasks.test]
command = "rustup"
args = ["run", "${ALUVM_TOOLCHAIN_}", "cargo", "test", "--workspace", "--features", "${ALUVM_FEATURES_}", "--no-fail-fast"]

[tasks.test-all]
run_task = { name = ["fmt", "clippy", "test" ] }

[tasks.check]
command = "rustup"
args = ["run", "${ALUVM_TOOLCHAIN_}", "cargo", "check", "--features", "${ALUVM_FEATURES_}"]

[tasks.check-all]
command = "rustup"
args = ["run", "${ALUVM_TOOLCHAIN_}", "cargo", "check", "--workspace", "--all-targets", "--all-features"]
