[env]
VERSION = "1.0.0"
[tasks.cargo-fmt]
install_crate = "rustfmt"
command = "cargo"
args = ["fmt"]
[tasks.cargo-edit-set-version]
install_crate = "cargo-edit"
command = "cargo"
args = ["set-version", "${VERSION}"]
[tasks.cargo-clean-release]
command = "cargo"
args = ["clean", "--release"]
[tasks.cargo-doc]
command = "cargo"
args = ["doc", "--no-deps", "--document-private-items"]
[tasks.cargo-build-release]
command = "cargo"
args = ["build", "--release"]
[tasks.git-add-all]
command = "git"
args = ["add", "--all"]
[tasks.git-commit]
command = "git"
args = ["commit", "-m", "Release: v${VERSION}"]
[tasks.git-tag]
command = "git"
args = ["tag", "v${VERSION}"]
[tasks.git-push]
command = "git"
args = ["push"]
[tasks.git-push-tag]
command = "git"
args = ["push", "origin", "v${VERSION}"]
[tasks.gh-release]
command = "gh"
args = ["release", "create", "v${VERSION}", "-F", "CHANGELOG.md"]
[tasks.cargo-publish]
command = "cargo"
args = ["publish"]
[tasks.release]
dependencies = [
"cargo-fmt",
"cargo-edit-set-version",
"cargo-clean-release",
"cargo-doc",
"cargo-build-release",
"git-add-all",
"git-commit",
"git-tag",
"git-push",
"git-push-tag",
"gh-release",
"cargo-publish"
]