[go: up one dir, main page]

widestring 1.2.1

A wide string Rust library for converting to and from wide strings, such as those often used in Windows API or other FFI libaries. Both `u16` and `u32` string types are provided, including support for UTF-16 and UTF-32, malformed encoding, C-style strings, etc.
Documentation
[config]

min_version = "0.35.0"



[env]

CI_CARGO_TEST_FLAGS = { value = "--locked -- --nocapture", condition = { env_true = [

    "CARGO_MAKE_CI",

] } }

CARGO_MAKE_CARGO_ALL_FEATURES = { source = "${CARGO_MAKE_RUST_CHANNEL}", default_value = "--features=std", mapping = { "nightly" = "--all-features" } }

CARGO_MAKE_CLIPPY_ARGS = { value = "${CARGO_MAKE_CLIPPY_ALL_FEATURES_WARN}", condition = { env_true = [

    "CARGO_MAKE_CI",

] } }



# Override for CI flag additions

[tasks.test]

args = [

    "test",

    "@@remove-empty(CARGO_MAKE_CARGO_VERBOSE_FLAGS)",

    "@@split(CARGO_MAKE_CARGO_BUILD_TEST_FLAGS, )",

    "@@split(CI_CARGO_TEST_FLAGS, )",

]



# Let clippy run on non-nightly CI

[tasks.clippy-ci-flow]

condition = { env_set = ["CARGO_MAKE_RUN_CLIPPY"] }



# Let format check run on non-nightly CI

[tasks.check-format-ci-flow]

condition = { env_set = ["CARGO_MAKE_RUN_CHECK_FORMAT"] }



[tasks.check-docs]

description = "Checks docs for errors."

category = "Documentation"

install_crate = false

env = { RUSTDOCFLAGS = "-D warnings" }

command = "cargo"

args = [

    "doc",

    "--workspace",

    "--no-deps",

    "@@remove-empty(CARGO_MAKE_CARGO_VERBOSE_FLAGS)",

    "${CARGO_MAKE_CARGO_ALL_FEATURES}",

]



# Build & Test with no features enabled

[tasks.post-ci-flow]

run_task = [{ name = ["check-docs", "build-no-std", "test-no-std", "build-alloc", "test-alloc", "build-debugger-visualizer", "test-debugger-visualizer"]}]



[tasks.build-no-std]

description = "Build without any features"

category = "Build"

env = { CARGO_MAKE_CARGO_BUILD_TEST_FLAGS = "--no-default-features" }

run_task = "build"



[tasks.test-no-std]

description = "Run tests without any features"

category = "Test"

env = { CARGO_MAKE_CARGO_BUILD_TEST_FLAGS = "--no-default-features" }

run_task = "test"



[tasks.build-alloc]

description = "Build with only the alloc feature"

category = "Build"

env = { CARGO_MAKE_CARGO_BUILD_TEST_FLAGS = "--no-default-features --features=alloc" }

run_task = "build"



[tasks.test-alloc]

description = "Run tests with only the alloc feature"

category = "Test"

env = { CARGO_MAKE_CARGO_BUILD_TEST_FLAGS = "--no-default-features --features=alloc" }

run_task = "test"



[tasks.build-debugger-visualizer]

condition = { channels = ["nightly"] }

description = "Build with only the debugger_visualizer feature"

category = "Build"

env = { CARGO_MAKE_CARGO_BUILD_TEST_FLAGS = "--no-default-features --features=debugger_visualizer" }

run_task = "build"



# The debugger_visualizer tests rely on debug information being present.

# Update the debuginfo level for this task only.

[tasks.test-debugger-visualizer]

condition = { channels = ["nightly"] }

description = "Run tests with only the debugger_visualizer feature which includes the alloc feature"

category = "Test"

env = { CARGO_MAKE_CARGO_BUILD_TEST_FLAGS = "--test debugger_visualizer --no-default-features --features=debugger_visualizer", CI_CARGO_TEST_FLAGS = "--locked -- --nocapture --test-threads=1", CARGO_PROFILE_TEST_DEBUG = 2 }

run_task = "test"

dependencies = ["build-debugger-visualizer"]