forked from microsoft/windows-drivers-rs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
109 lines (96 loc) · 3.13 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
[workspace]
members = ["crates/*"]
# Examples and tests must be excluded from the workspace since only one WDK configuration per build graph is supported.
exclude = [
# Each example and test must be explicitly listed since glob is not currently supported for workspace.exclude: https://github.com/rust-lang/cargo/issues/6009
"examples/sample-kmdf-driver",
"examples/sample-umdf-driver",
"examples/sample-wdm-driver",
"tests/config-kmdf",
"tests/config-umdf",
"tests/config-wdm",
"tests/wdk-macros-tests",
"tests/wdk-sys-tests",
]
resolver = "2"
[profile.dev]
lto = true
[profile.release]
lto = true
[workspace.package]
edition = "2021"
repository = "https://github.com/microsoft/windows-drivers-rs"
readme = "README.md"
license = "MIT OR Apache-2.0"
[workspace.dependencies]
# Workspace Crates
wdk = { path = "crates/wdk", version = "0.2.0" }
wdk-alloc = { path = "crates/wdk-alloc", version = "0.2.0" }
wdk-build = { path = "crates/wdk-build", version = "0.2.0" }
wdk-macros = { path = "crates/wdk-macros", version = "0.2.0" }
wdk-panic = { path = "crates/wdk-panic", version = "0.2.0" }
wdk-sys = { path = "crates/wdk-sys", version = "0.2.0" }
# External Crates
anyhow = "1.0.86"
bindgen = "0.69.4"
camino = "1.1.7"
cargo_metadata = "0.18.1"
cc = "1.1.0"
clap = "4.5.9"
clap-cargo = "0.14.0"
itertools = "0.13.0"
lazy_static = "1.5.0"
paste = "1.0.15"
pretty_assertions = "1.4.0"
proc-macro2 = "1.0.86"
quote = "1.0.36"
rustversion = "1.0.17"
serde = "1.0"
serde_json = "1.0"
syn = "2.0.70"
thiserror = "1.0.62"
tracing = "0.1.40"
tracing-subscriber = "0.3.18"
windows = "0.58.0"
# The following workspace.metadata.wdk sections can be uncommented to configure the workspace for a specific WDK configuration (ex. for rust-analyzer to resolve things for a specific configuration)
# Uncomment the section below for KMDF
# [workspace.metadata.wdk.driver-model]
# driver-type = "KMDF"
# kmdf-version-major = 1
# target-kmdf-version-minor = 33
# Uncomment the section below for UMDF
# [workspace.metadata.wdk.driver-model]
# driver-type = "UMDF"
# umdf-version-major = 2
# target-umdf-version-minor = 33
# Uncomment the section below for WDM
# [workspace.metadata.wdk.driver-model]
# driver-type = "WDM"
# Until https://github.com/rust-lang/cargo/issues/12208 is resolved, each package in the workspace needs to explictly
# add the following block to its Cargo manifest in order to enable these global lint configurations:
#
# [lints]
# workspace = true
[workspace.lints.rust]
missing_docs = "warn"
unsafe_op_in_unsafe_fn = "forbid"
[workspace.lints.clippy]
# Lint Groups
all = { level = "deny", priority = -1 }
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
cargo = { level = "warn", priority = -1 }
# Individual Lints
multiple_unsafe_ops_per_block = "forbid"
undocumented_unsafe_blocks = "forbid"
unnecessary_safety_doc = "forbid"
[workspace.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"