defmt-errors 0.0.0

Generate error types for use in embedded systems using defmt to print them.
Documentation
[tasks.pre-coverage]
alias = "coverage-llvm-cov-clean"

[tasks.coverage-llvm-cov-clean]
description = "Remove artefacts that cargo-llvm-cov has generated"
category = "Test"
dependencies = ["install-llvm-tools-preview"]
command = "cargo"
args = ["llvm-cov", "clean"]

[tasks.coverage]
alias = "coverage-llvm-cov"

[tasks.post-coverage]
dependencies = ["llvm-cov-report-codecov", "llvm-cov-report-stdout"]

[tasks.coverage-llvm-cov]
description = "Use llvm-cov for code coverage"
category = "Test"
dependencies = ["install-llvm-tools-preview"]
command = "cargo"
args = ["llvm-cov", "--remap-path-prefix", "--no-report"]

[tasks.llvm-cov-report-stdout]
description = "Report the coverage results via stdout"
category = "Test"
dependencies = ["install-llvm-tools-preview"]
command = "cargo"
args = ["llvm-cov", "report"]

[tasks.llvm-cov-report-codecov]
description = "Generate a codecov compatible report file of the coverage results"
category = "Test"
dependencies = ["install-llvm-tools-preview"]
command = "cargo"
args = ["llvm-cov", "report", "--codecov", "--output-path=coverage.json"]

[tasks.install-llvm-tools-preview]
# Nix doesn't use rustup so this task will fail to install so just skip it.
condition = { env_not_set = ["IN_NIX_SHELL"] }
# Don't know how to test if this is installed so just always try to install with rustup.
install_crate = { rustup_component_name = "llvm-tools-preview" }