<commit_before># spell-checker:ignore (cargo-make) duckscript

[config]
min_version = "0.26.2"
default_to_workspace = false
init_task = "_init_task"

[config.modify_core_tasks]
namespace = "core"

### initialization

### * note: the task executed from 'init_task' ignores dependencies; workaround is to run a secondary task via 'run_task'

[tasks._init_task]
# dependencies are unavailable
# * delegate (via 'run_task') to "real" initialization task ('_init') with full capabilities
private = true
run_task = "_init"

[tasks._init]
private = true
dependencies = [
	"_init-vars",
]

[tasks._init-vars]
private = true
script_runner = "@duckscript"
script = [
'''
# reset build/test flags
set_env CARGO_MAKE_CARGO_BUILD_TEST_FLAGS ""
# determine features
env_features = get_env CARGO_FEATURES
if is_empty "${env_features}"
	env_features = get_env FEATURES
end_if
if is_empty "${env_features}"
	if eq "${CARGO_MAKE_RUST_TARGET_OS}" "macos"
		features = set "unix"
	else
		if eq "${CARGO_MAKE_RUST_TARGET_OS}" "linux"
			features = set "unix"
		else
			if eq "${CARGO_MAKE_RUST_TARGET_OS}" "windows"
				features = set "windows"
			end_if
		end_if
	end_if
end_if
if is_empty "${features}"
	features = set "${env_features}"
else
	if not is_empty "${env_features}"
		features = set "${features},${env_features}"
	end_if
end_if
# set build flags from features
if not is_empty "${features}"
	set_env CARGO_MAKE_VAR_BUILD_TEST_FEATURES "${features}"
	set_env CARGO_MAKE_CARGO_BUILD_TEST_FLAGS "--features ${features}"
end_if
# determine show-utils helper script
show_utils = set "util/show-utils.sh"
if eq "${CARGO_MAKE_RUST_TARGET_OS}" "windows"
	show_utils = set "util/show-utils.BAT"
end_if
set_env CARGO_MAKE_VAR_SHOW_UTILS "${show_utils}"
# rebuild CARGO_MAKE_TASK_ARGS for various targets
args = set ${CARGO_MAKE_TASK_ARGS}
# * rebuild for 'features' target
args_features = replace ${args} ";" ","
set_env CARGO_MAKE_TASK_BUILD_FEATURES_ARGS "${args_features}"
# * rebuild for 'examples' target
args_examples = replace ${args} ";" " --example "
if is_empty "${args_examples}"
	args_examples = set "--examples"
end_if
set_env CARGO_MAKE_TASK_BUILD_EXAMPLES_ARGS "${args_examples}"
# * rebuild for 'utils' target
args_utils_list = split "${args}" ";"
for arg in "${args_utils_list}"
	if not is_empty "${arg}"
		if not starts_with "${arg}" "uu_"
			arg = set "uu_${arg}"
		end_if
		args_utils = set "${args_utils} -p${arg}"
	end_if
end
args_utils = trim "${args_utils}"
set_env CARGO_MAKE_TASK_BUILD_UTILS_ARGS "${args_utils}"
'''
]

### tasks

[tasks.default]
description = "## *DEFAULT* Build (debug-mode) and test project"
category = "[project]"
dependencies = [
	"action-build-debug",
	"test-terse",
]

##

[tasks.build]
description = "## Build (release-mode) project"
category = "[project]"
dependencies = [
	"core::pre-build",
	"action-build-release",
	"core::post-build",
]

[tasks.build-debug]
description = "## Build (debug-mode) project"
category = "[project]"
dependencies = [
	"action-build-debug",
]

[tasks.build-examples]
description = "## Build (release-mode) project example(s); usage: `cargo make (build-examples | examples) [EXAMPLE]...`"
category = "[project]"
dependencies = [
	"core::pre-build",
	"action-build-examples",
	"core::post-build",
]

[tasks.build-features]
description = "## Build (with features; release-mode) project; usage: `cargo make (build-features | features) FEATURE...`"
category = "[project]"
dependencies = [
	"core::pre-build",
	"action-build-features",
	"core::post-build",
]

[tasks.build-release]
alias = "build"

[tasks.debug]
alias = "build-debug"

[tasks.example]
description = "hidden singular-form alias for 'examples'"
category = "[project]"
dependencies = [
	"examples",
]

[tasks.examples]
alias = "build-examples"

[tasks.features]
alias = "build-features"

[tasks.format]
description = "## Format code files (with `cargo fmt`; includes tests)"
category = "[project]"
dependencies = [
	"action-format",
	"action-format-tests",
]

[tasks.help]
description = "## Display help"
category = "[project]"
dependencies = [
	"action-display-help",
]

[tasks.install]
description = "## Install project binary (to $HOME/.cargo/bin)"
category = "[project]"
command = "cargo"
args = ["install", "--path", "."]

[tasks.lint]
description = "## Display lint report"
category = "[project]"
dependencies = [
	"action-clippy",
	"action-fmt_report",
]

[tasks.release]
alias = "build"

[tasks.test]
description = "## Run project tests"
category = "[project]"
dependencies = [
	"core::pre-test",
	"core::test",
	"core::post-test",
]

[tasks.test-terse]
description = "## Run project tests (with terse/summary output)"
category = "[project]"
dependencies = [
	"core::pre-test",
	"action-test_quiet",
	"core::post-test",
]

[tasks.test-util]
description = "## Test (individual) utilities; usage: `cargo make (test-util | test-uutil) [UTIL_NAME...]`"
category = "[project]"
dependencies = [
	"action-test-utils",
]

[tasks.test-utils]
description = "hidden plural-form alias for 'test-util'"
category = "[project]"
dependencies = [
	"test-util",
]

[tasks.test-uutil]
description = "hidden alias for 'test-util'"
category = "[project]"
dependencies = [
	"test-util",
]

[tasks.test-uutils]
description = "hidden alias for 'test-util'"
category = "[project]"
dependencies = [
	"test-util",
]

[tasks.uninstall]
description = "## Remove project binary (from $HOME/.cargo/bin)"
category = "[project]"
command = "cargo"
args = ["uninstall"]

[tasks.util]
description = "## Build (individual; release-mode) utilities; usage: `cargo make (util | uutil) [UTIL_NAME...]`"
category = "[project]"
dependencies = [
	"core::pre-build",
	"action-determine-utils",
	"action-build-utils",
	"core::post-build",
]

[tasks.utils]
description = "hidden plural-form alias for 'util'"
category = "[project]"
dependencies = [
	"util",
]

[tasks.uutil]
alias = "utils"
<commit_msg>maint/dev ~ fix 'util'/'uutil' target aliasing for `cargo make ...`<commit_after># spell-checker:ignore (cargo-make) duckscript

[config]
min_version = "0.26.2"
default_to_workspace = false
init_task = "_init_task"

[config.modify_core_tasks]
namespace = "core"

### initialization

### * note: the task executed from 'init_task' ignores dependencies; workaround is to run a secondary task via 'run_task'

[tasks._init_task]
# dependencies are unavailable
# * delegate (via 'run_task') to "real" initialization task ('_init') with full capabilities
private = true
run_task = "_init"

[tasks._init]
private = true
dependencies = [
	"_init-vars",
]

[tasks._init-vars]
private = true
script_runner = "@duckscript"
script = [
'''
# reset build/test flags
set_env CARGO_MAKE_CARGO_BUILD_TEST_FLAGS ""
# determine features
env_features = get_env CARGO_FEATURES
if is_empty "${env_features}"
	env_features = get_env FEATURES
end_if
if is_empty "${env_features}"
	if eq "${CARGO_MAKE_RUST_TARGET_OS}" "macos"
		features = set "unix"
	else
		if eq "${CARGO_MAKE_RUST_TARGET_OS}" "linux"
			features = set "unix"
		else
			if eq "${CARGO_MAKE_RUST_TARGET_OS}" "windows"
				features = set "windows"
			end_if
		end_if
	end_if
end_if
if is_empty "${features}"
	features = set "${env_features}"
else
	if not is_empty "${env_features}"
		features = set "${features},${env_features}"
	end_if
end_if
# set build flags from features
if not is_empty "${features}"
	set_env CARGO_MAKE_VAR_BUILD_TEST_FEATURES "${features}"
	set_env CARGO_MAKE_CARGO_BUILD_TEST_FLAGS "--features ${features}"
end_if
# determine show-utils helper script
show_utils = set "util/show-utils.sh"
if eq "${CARGO_MAKE_RUST_TARGET_OS}" "windows"
	show_utils = set "util/show-utils.BAT"
end_if
set_env CARGO_MAKE_VAR_SHOW_UTILS "${show_utils}"
# rebuild CARGO_MAKE_TASK_ARGS for various targets
args = set ${CARGO_MAKE_TASK_ARGS}
# * rebuild for 'features' target
args_features = replace ${args} ";" ","
set_env CARGO_MAKE_TASK_BUILD_FEATURES_ARGS "${args_features}"
# * rebuild for 'examples' target
args_examples = replace ${args} ";" " --example "
if is_empty "${args_examples}"
	args_examples = set "--examples"
end_if
set_env CARGO_MAKE_TASK_BUILD_EXAMPLES_ARGS "${args_examples}"
# * rebuild for 'utils' target
args_utils_list = split "${args}" ";"
for arg in "${args_utils_list}"
	if not is_empty "${arg}"
		if not starts_with "${arg}" "uu_"
			arg = set "uu_${arg}"
		end_if
		args_utils = set "${args_utils} -p${arg}"
	end_if
end
args_utils = trim "${args_utils}"
set_env CARGO_MAKE_TASK_BUILD_UTILS_ARGS "${args_utils}"
'''
]

### tasks

[tasks.default]
description = "## *DEFAULT* Build (debug-mode) and test project"
category = "[project]"
dependencies = [
	"action-build-debug",
	"test-terse",
]

##

[tasks.build]
description = "## Build (release-mode) project"
category = "[project]"
dependencies = [
	"core::pre-build",
	"action-build-release",
	"core::post-build",
]

[tasks.build-debug]
description = "## Build (debug-mode) project"
category = "[project]"
dependencies = [
	"action-build-debug",
]

[tasks.build-examples]
description = "## Build (release-mode) project example(s); usage: `cargo make (build-examples | examples) [EXAMPLE]...`"
category = "[project]"
dependencies = [
	"core::pre-build",
	"action-build-examples",
	"core::post-build",
]

[tasks.build-features]
description = "## Build (with features; release-mode) project; usage: `cargo make (build-features | features) FEATURE...`"
category = "[project]"
dependencies = [
	"core::pre-build",
	"action-build-features",
	"core::post-build",
]

[tasks.build-release]
alias = "build"

[tasks.debug]
alias = "build-debug"

[tasks.example]
description = "hidden singular-form alias for 'examples'"
category = "[project]"
dependencies = [
	"examples",
]

[tasks.examples]
alias = "build-examples"

[tasks.features]
alias = "build-features"

[tasks.format]
description = "## Format code files (with `cargo fmt`; includes tests)"
category = "[project]"
dependencies = [
	"action-format",
	"action-format-tests",
]

[tasks.help]
description = "## Display help"
category = "[project]"
dependencies = [
	"action-display-help",
]

[tasks.install]
description = "## Install project binary (to $HOME/.cargo/bin)"
category = "[project]"
command = "cargo"
args = ["install", "--path", "."]

[tasks.lint]
description = "## Display lint report"
category = "[project]"
dependencies = [
	"action-clippy",
	"action-fmt_report",
]

[tasks.release]
alias = "build"

[tasks.test]
description = "## Run project tests"
category = "[project]"
dependencies = [
	"core::pre-test",
	"core::test",
	"core::post-test",
]

[tasks.test-terse]
description = "## Run project tests (with terse/summary output)"
category = "[project]"
dependencies = [
	"core::pre-test",
	"action-test_quiet",
	"core::post-test",
]

[tasks.test-util]
description = "## Test (individual) utilities; usage: `cargo make (test-util | test-uutil) [UTIL_NAME...]`"
category = "[project]"
dependencies = [
	"action-test-utils",
]

[tasks.test-utils]
description = "hidden plural-form alias for 'test-util'"
category = "[project]"
dependencies = [
	"test-util",
]

[tasks.test-uutil]
description = "hidden alias for 'test-util'"
category = "[project]"
dependencies = [
	"test-util",
]

[tasks.test-uutils]
description = "hidden alias for 'test-util'"
category = "[project]"
dependencies = [
	"test-util",
]

[tasks.uninstall]
description = "## Remove project binary (from $HOME/.cargo/bin)"
category = "[project]"
command = "cargo"
args = ["uninstall"]

[tasks.util]
description = "## Build (individual; release-mode) utilities; usage: `cargo make (util | uutil) [UTIL_NAME...]`"
category = "[project]"
dependencies = [
	"core::pre-build",
	"action-determine-utils",
	"action-build-utils",
	"core::post-build",
]

[tasks.utils]
description = "hidden plural-form alias for 'util'"
category = "[project]"
dependencies = [
	"util",
]

[tasks.uutil]
description = "hidden alias for 'util'"
category = "[project]"
dependencies = [
	"util",
]

{'fraction_non_alphanumeric': 0.1632910328599042, 'fraction_numerical': 0.0006723254054962601, 'mean_word_length': 5.346666666666667, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3982806', 'n_tokens_mistral': 4302, 'n_tokens_neox': 4070, 'n_words': 1001}