rinkle 0.1.0

A symlink farm manager which takes distinct sets of software and/or data located in separate directories on the filesystem, and makes them appear to be installed in a single directory tree.
Documentation
# configuration for https://github.com/sagiegurari/cargo-make

[config]
skip_core_tasks = true

[tasks.default]
alias = "ci"

[tasks.ci]
description = "Run continuous integration tasks"
dependencies = ["lint-style", "check", "clippy", "test", "build", "changelog"]

[tasks.lint-style]
description = "Lint code style (formatting, typos, docs)"
dependencies = ["lint-format", "lint-typos", "lint-docs"]

[tasks.lint-format]
description = "Lint code formatting"
toolchain = "nightly"
command = "cargo"
args = ["fmt", "--all"]

[tasks.lint-typos]
description = "Run typo checks"
install_crate = { crate_name = "typos-cli", binary = "typos", test_arg = "--version" }
command = "typos"

[tasks.lint-docs]
description = "Check documentation for errors and warnings"
toolchain = "nightly"
command = "cargo"
args = ["rustdoc", "--lib", "--", "-Zunstable-options", "--check", "-Dwarnings"]

[tasks.lint-dependencies]
description = "Lint crate dependencies"
toolchain = "nightly"
command = "cargo"
args = ["deny", "check", "all"]

[tasks.check]
description = "Check code for errors and warnings"
command = "cargo"
args = ["check"]

[tasks.build]
description = "Compile the project"
command = "cargo"
args = ["build"]

[tasks.clippy]
description = "Run Clippy for linting"
command = "cargo"
args = [
  "clippy",
  "--all-targets",
  "--tests",
  "--benches",
  "--",
  "-D",
  "warnings",
]

[tasks.install-nextest]
description = "Install cargo-nextest"
install_crate = { crate_name = "cargo-nextest", binary = "cargo-nextest", test_arg = "--help" }

[tasks.test]
description = "Run tests"
run_task = { name = ["test-lib", "test-doc"] }

[tasks.test-lib]
description = "Run default tests"
dependencies = ["install-nextest"]
command = "cargo"
args = ["nextest", "run", "--all-targets", "--all-features"]

[tasks.test-doc]
description = "Run documentation tests"
command = "cargo"
args = ["test", "--doc"]

[tasks.changelog]
description = "Generate changelog"
install_crate = { crate_name = "git-cliff", binary = "git-cliff", test_arg = "--help" }
command = "git"
args = [
  "cliff",
  "--github-repo",
  "https://github.com/vainjoker/rinkle",
  "-o",
  "CHANGELOG.md",
]