wdk-build 0.3.0

A library to configure a Cargo build script for binding generation and downstream linking of the WDK (Windows Driver Kit)
[package]

edition.workspace = true

name = "wdk-build"

version = "0.3.0"

description = "A library to configure a Cargo build script for binding generation and downstream linking of the WDK (Windows Driver Kit)"

repository.workspace = true

readme.workspace = true

license.workspace = true

keywords = ["wdk", "windows", "build-dependencies"]

categories = ["development-tools::build-utils", "development-tools::ffi"]



[build-dependencies]

rustversion.workspace = true



[dependencies]

anyhow.workspace = true

bindgen.workspace = true

camino.workspace = true

cargo_metadata.workspace = true

cfg-if.workspace = true

clap = { workspace = true, features = ["derive"] }

clap-cargo.workspace = true

lazy_static.workspace = true

paste.workspace = true

serde = { workspace = true, features = ["derive"] }

serde_json.workspace = true

thiserror.workspace = true

tracing.workspace = true

windows = { workspace = true, features = [

  "Win32_Foundation",

  "Win32_System_Registry",

] }



[dev-dependencies]

windows = { workspace = true, features = ["Win32_UI_Shell"] }



[lints.rust.unexpected_cfgs]

level = "warn"

check-cfg = ["cfg(wdk_build_unstable)", "cfg(skip_umdf_static_crt_check)"]



# Cannot inherit workspace lints since overriding them is not supported yet: https://github.com/rust-lang/cargo/issues/13157

# [lints]

# workspace = true

# 

# Differences from the workspace lints have comments explaining why they are different



[lints.rust]

missing_docs = "warn"

unsafe_op_in_unsafe_fn = "forbid"



[lints.clippy]

# Lint Groups

all = "deny"

pedantic = "warn"

nursery = "warn"

cargo = "warn"

# Individual Lints

# multiple_unsafe_ops_per_block = "forbid"

multiple_unsafe_ops_per_block = "deny" # This is lowered to deny since clap generates allow(clippy::restriction) in its Parser and Args derive macros

# undocumented_unsafe_blocks = "forbid"

undocumented_unsafe_blocks = "deny" # This is lowered to deny since clap generates allow(clippy::restriction) in its Parser and Args derive macros

# unnecessary_safety_doc = "forbid"

unnecessary_safety_doc = "deny" # This is lowered to deny since clap generates allow(clippy::restriction) in its Parser and Args derive macros



[lints.rustdoc]

bare_urls = "warn"

broken_intra_doc_links = "warn"

invalid_codeblock_attributes = "warn"

invalid_html_tags = "warn"

invalid_rust_codeblocks = "warn"

missing_crate_level_docs = "warn"

private_intra_doc_links = "warn"

redundant_explicit_links = "warn"

unescaped_backticks = "warn"