env_files = []
env_scripts = []
[config]
init_task = "init"
end_task = "end"
skip_core_tasks = false
default_to_workspace = true
additional_profiles = []
load_cargo_aliases = false
[env]
RUST_BACKTRACE = "full"
RUST_RECURSION_COUNT = { unset = true }
CARGO_MAKE_RUN_DEPRECATED_MIGRATION = { value = "true", condition = { env_not_set = [
"CARGO_MAKE_RUN_DEPRECATED_MIGRATION",
] } }
CARGO_MAKE_KCOV_VERSION = 43
CARGO_MAKE_KCOV_EXCLUDE_LINE = "kcov-ignore"
CARGO_MAKE_KCOV_EXCLUDE_REGION = "kcov-ignore-start:kcov-ignore-end"
CARGO_MAKE_KCOV_DOWNLOAD_DIRECTORY = "./target/kcov"
CARGO_MAKE_TEST_COVERAGE_DEFAULT_BINARY_FILTER = "${CARGO_MAKE_CRATE_FS_NAME}-[a-z0-9]*$\\|test_[_a-z0-9]*-[a-z0-9]*$\\|[a-z0-9]*_test-[_a-z0-9]*$"
CARGO_MAKE_TEST_COVERAGE_BINARY_FILTER = "${CARGO_MAKE_TEST_COVERAGE_DEFAULT_BINARY_FILTER}"
CARGO_MAKE_RUST_DEFAULT_TOOLCHAIN = ""
CARGO_MAKE_CARGO_ALL_FEATURES = "--all-features"
CARGO_MAKE_CARGO_VERBOSE = "--verbose"
CARGO_MAKE_CARGO_PROFILE = { source = "${CARGO_MAKE_PROFILE}", mapping = { "development" = "dev", "ci" = "test" } }
CARGO_MAKE_CARGO_VERBOSE_FLAGS = { source = "${CARGO_MAKE_CI}", default_value = "", mapping = { "true" = "${CARGO_MAKE_CARGO_VERBOSE}" } }
CARGO_MAKE_CARGO_BUILD_TEST_FLAGS = "${CARGO_MAKE_CARGO_ALL_FEATURES}"
CARGO_MAKE_CARGO_PUBLISH_NO_ARGS = ""
CARGO_MAKE_CARGO_PUBLISH_ALLOW_DIRTY = "--allow-dirty"
CARGO_MAKE_CARGO_PUBLISH_FLAGS = "${CARGO_MAKE_CARGO_PUBLISH_NO_ARGS}"
CARGO_MAKE_CARGO_PUBLISH_DELETE_LOCK_FILE = false
CARGO_MAKE_CLIPPY_ALL_FEATURES_WARN = "${CARGO_MAKE_CARGO_ALL_FEATURES} -- -D warnings"
CARGO_MAKE_CLIPPY_NO_ARGS = ""
CARGO_MAKE_CLIPPY_ARGS = "${CARGO_MAKE_CLIPPY_NO_ARGS}"
CARGO_MAKE_RUST_SCRIPT_PROVIDER = "rust-script"
CARGO_MAKE_USE_WORKSPACE_PROFILE = true
CARGO_MAKE_BINARY_EXECUTABLE_NAME = "${CARGO_MAKE_PROJECT_NAME}"
CARGO_MAKE_ADDITIONAL_BINARY_EXECUTABLE_NAME = ""
CARGO_MAKE_FORMAT_TOML_FILES = "**/*.toml"
CARGO_MAKE_OPENSSL_VERSION_NO_PATCH = "1.0.2"
CARGO_MAKE_OPENSSL_VERSION_PATCH = "l"
CARGO_MAKE_OPENSSL_VERSION = "${CARGO_MAKE_OPENSSL_VERSION_NO_PATCH}${CARGO_MAKE_OPENSSL_VERSION_PATCH}"
CARGO_MAKE_OPENSSL_DOWNLOAD_URL_PREFIX = "https://www.openssl.org/source"
CARGO_MAKE_OPENSSL_DOWNLOAD_URL = "${CARGO_MAKE_OPENSSL_DOWNLOAD_URL_PREFIX}/old/${CARGO_MAKE_OPENSSL_VERSION_NO_PATCH}/openssl-${CARGO_MAKE_OPENSSL_VERSION}.tar.gz"
[env.none-thread-safe-tests]
RUST_TEST_THREADS = "1"
[env.multi-phase-tests]
CARGO_MAKE_TEST_USE_MULTI_TEST_PHASES = true
[env.docs-all-modification-tasks]
CARGO_MAKE_DOCS_README_SET_CRATE_VERSION = true
CARGO_MAKE_DOCS_README_INCLUDE_FILES = true
[env.publish-allow-dirty]
CARGO_MAKE_CARGO_PUBLISH_FLAGS = "${CARGO_MAKE_CARGO_PUBLISH_ALLOW_DIRTY}"
[env.publish-pre-cleanup]
CARGO_MAKE_CARGO_PUBLISH_DELETE_LOCK_FILE = true
[env.ci-coverage-tasks]
CARGO_MAKE_RUN_CODECOV = true
[env.ci-static-code-analysis-tasks]
CARGO_MAKE_RUN_CLIPPY = true
CARGO_MAKE_CLIPPY_ALLOW_FAIL = "${CARGO_MAKE_CI}"
[env.ci-all-build-tasks]
CARGO_MAKE_BUILD_BENCH = true
CARGO_MAKE_BUILD_EXAMPLES = true
CARGO_MAKE_CHECK_OUTDATED = true
[env.all-default-tasks]
CARGO_MAKE_RUN_TOML_FORMAT = true
[tasks.empty]
description = "Empty Task"
category = "Tools"
[tasks.wait]
description = "Waits based on the CARGO_MAKE_WAIT_MILLISECONDS environment variable value"
category = "Tools"
condition = { env_set = ["CARGO_MAKE_WAIT_MILLISECONDS"] }
script = '''
#!@duckscript
sleep ${CARGO_MAKE_WAIT_MILLISECONDS}
'''
[tasks.default]
description = "Default task points to the development testing flow"
category = "Development"
alias = "dev-test-flow"
[tasks.watch-flow]
description = "Watches for any file change and if any change is detected, it will invoke the default flow."
category = "Development"
watch = true
run_task = "default"
[tasks.init]
description = "By default this task is invoked at the start of every cargo-make run."
category = "Hooks"
[tasks.end]
description = "By default this task is invoked at the end of every cargo-make run."
category = "Hooks"
[tasks.print-cargo-make-env]
category = "Tools"
script = '''
#!@duckscript
echo "*************************************"
echo "Cargo Make:"
echo " Task: ${CARGO_MAKE_TASK}"
echo " Task Arguments: ${CARGO_MAKE_TASK_ARGS}"
echo " Command: ${CARGO_MAKE_COMMAND}"
echo " Working Directory: ${CARGO_MAKE_WORKING_DIRECTORY}"
echo " Profile: ${CARGO_MAKE_PROFILE}"
echo " Additional Profiles: ${CARGO_MAKE_ADDITIONAL_PROFILES}"
echo "*************************************"
'''
[tasks.print-project-env]
category = "Tools"
script = '''
#!@duckscript
echo "*************************************"
echo "Project:"
echo " Name: ${CARGO_MAKE_PROJECT_NAME}"
echo " Version: ${CARGO_MAKE_PROJECT_VERSION}"
echo " Version Member: ${CARGO_MAKE_PROJECT_VERSION_MEMBER}"
echo "*************************************"
'''
[tasks.print-ci-env]
category = "Tools"
script = '''
#!@duckscript
echo "*************************************"
echo "CI:"
echo " CI: ${CARGO_MAKE_CI}"
echo " PR: ${CARGO_MAKE_PR}"
echo " Branch Name: ${CARGO_MAKE_CI_BRANCH_NAME}"
echo " CI Vendor: ${CARGO_MAKE_CI_VENDOR}"
echo "*************************************"
'''
[tasks.print-git-env]
category = "Tools"
condition = { env_set = ["CARGO_MAKE_GIT_BRANCH"] }
script = '''
#!@duckscript
echo "*************************************"
echo "Git:"
echo " Branch: ${CARGO_MAKE_GIT_BRANCH}"
echo " User: ${CARGO_MAKE_GIT_USER_NAME}"
echo " Email: ${CARGO_MAKE_GIT_USER_EMAIL}"
echo " Commit Hash: ${CARGO_MAKE_GIT_HEAD_LAST_COMMIT_HASH}"
echo " Commit Hash Prefix: ${CARGO_MAKE_GIT_HEAD_LAST_COMMIT_HASH_PREFIX}"
echo "*************************************"
'''
[tasks.print-rust-env]
category = "Tools"
condition = { env_set = ["CARGO_MAKE_RUST_CHANNEL"] }
script = '''
#!@duckscript
echo "*************************************"
echo "Rust:"
echo " Version: ${CARGO_MAKE_RUST_VERSION}"
echo " Channel: ${CARGO_MAKE_RUST_CHANNEL}"
echo " Target Arch: ${CARGO_MAKE_RUST_TARGET_ARCH}"
echo " Target Env: ${CARGO_MAKE_RUST_TARGET_ENV}"
echo " Target OS: ${CARGO_MAKE_RUST_TARGET_OS}"
echo " Pointer Width: ${CARGO_MAKE_RUST_TARGET_POINTER_WIDTH}"
echo " Target Vendor: ${CARGO_MAKE_RUST_TARGET_VENDOR}"
echo " Target Triple: ${CARGO_MAKE_RUST_TARGET_TRIPLE}"
echo " Target Directory: ${CARGO_MAKE_CRATE_TARGET_DIRECTORY}"
echo " Custom Triple Target Directory: ${CARGO_MAKE_CRATE_CUSTOM_TRIPLE_TARGET_DIRECTORY}"
echo "*************************************"
'''
[tasks.print-cargo-env]
category = "Tools"
condition = { env_set = ["CARGO_MAKE_CARGO_HOME"] }
script = '''
#!@duckscript
echo "*************************************"
echo "Cargo:"
echo " Home: ${CARGO_MAKE_CARGO_HOME}"
echo " Profile: ${CARGO_MAKE_CARGO_PROFILE}"
echo "*************************************"
'''
[tasks.print-crate-env]
category = "Tools"
condition = { env_set = ["CARGO_MAKE_CRATE_NAME"] }
script = '''
#!@duckscript
echo "*************************************"
echo "Crate:"
echo " Name: ${CARGO_MAKE_CRATE_NAME}"
echo " Version: ${CARGO_MAKE_CRATE_VERSION}"
echo " Description: ${CARGO_MAKE_CRATE_DESCRIPTION}"
echo " License: ${CARGO_MAKE_CRATE_LICENSE}"
echo " Documentation: ${CARGO_MAKE_CRATE_DOCUMENTATION}"
echo " Homepage: ${CARGO_MAKE_CRATE_HOMEPAGE}"
echo " Repository: ${CARGO_MAKE_CRATE_REPOSITORY}"
echo " Workspace: ${CARGO_MAKE_CRATE_IS_WORKSPACE}"
echo " Workspace Working Directory: ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}"
echo " Workspace Members: ${CARGO_MAKE_CRATE_WORKSPACE_MEMBERS}"
echo " Has Dependencies: ${CARGO_MAKE_CRATE_HAS_DEPENDENCIES}"
echo "*************************************"
'''
[tasks.print-duckscript-env]
category = "Tools"
script = '''
#!@duckscript
echo "*************************************"
echo "Duckscript:"
echo " Runtime: ${CARGO_MAKE_DUCKSCRIPT_VERSION}"
echo " SDK: ${CARGO_MAKE_DUCKSCRIPT_SDK_VERSION}"
echo "*************************************"
'''
[tasks.pre-print-env]
category = "Tools"
[tasks.post-print-env]
category = "Tools"
[tasks.print-env-flow]
category = "Tools"
dependencies = [
"pre-print-env",
"print-cargo-make-env",
"print-project-env",
"print-ci-env",
"print-git-env",
"print-rust-env",
"print-cargo-env",
"print-crate-env",
"print-duckscript-env",
"post-print-env",
]
[tasks.diff-files]
description = "Run diff on two provided files."
category = "Tools"
alias = "git-diff-files"
[tasks.setup-sudo-env]
description = "Sets the sudo enable/disable environment variables."
category = "Tools"
script = '''
#!@duckscript
# disable sudo if the env is defined
enable_sudo = not is_defined CARGO_MAKE_SUDO_DISABLE
# always allow sudo in CI
if equals "${CARGO_MAKE_CI}" true
enable_sudo = set true
end
fn <scope> is_ci_vendor
current_vendor = get_env CARGO_MAKE_CI_VENDOR
is_vendor = equals "${current_vendor}" "${1}"
return ${is_vendor}
end
fn <scope> is_ci_requires_sudo
if is_ci_vendor Drone
return false
end
# for all other vendors or in case we are not running inside a CI environment
return true
end
set_env CARGO_MAKE_SUDO_ENABLED ${enable_sudo}
set_env CARGO_MAKE_SUDO_COMMAND ""
if equals ${enable_sudo} true
if is_ci_requires_sudo
set_env CARGO_MAKE_SUDO_COMMAND sudo
end
end
echo sudo enabled: ${enable_sudo}
'''