- deny.toml: add [graph].targets to limit metadata to native+wasm32 (avoid Android/iOS edition-2024 deps that fail rustc 1.82 cargo metadata) - deny.toml: [bans] allow-wildcard-paths = true for workspace path deps - crates/*/Cargo.toml: add explicit version="0.1.0" alongside path = "..." (cargo-deny rejects wildcard-path deps for publishable crates) cargo-deny 0.16.4 hits a CVSS 4.0 parse error AND lacks edition-2024 cargo metadata support; bumped to 0.18.9 (installed via stable toolchain). Run cargo-deny with RUSTUP_TOOLCHAIN=stable so it uses cargo 1.95 for metadata parsing while project itself still builds on 1.82. Verified: advisories ok, bans ok, licenses ok, sources ok (exit 0) on both native and wasm32-unknown-unknown targets.
27 lines
1.2 KiB
TOML
27 lines
1.2 KiB
TOML
[package]
|
||
name = "openpencil-shell-native"
|
||
version.workspace = true
|
||
edition.workspace = true
|
||
rust-version.workspace = true
|
||
license.workspace = true
|
||
description = "OpenPencil shell — native (winit + skia-safe + accesskit) backend"
|
||
|
||
[lib]
|
||
name = "openpencil_shell_native"
|
||
path = "src/lib.rs"
|
||
|
||
[dependencies]
|
||
openpencil-shell-core = { path = "../openpencil-shell-core", version = "0.1.0" }
|
||
|
||
# Native-only deps cfg-gated 在 wasm32 之外。这一步关键(解 codex round 2 B1 BLOCK):
|
||
# 如果不 cfg-gate,cargo 会先 fetch + run skia-safe 的 build.rs(在 wasm32 上构建失败),
|
||
# Step 5 grep `must NOT be compiled for wasm32` 永远命中不到——会被 skia 错误盖过。
|
||
#
|
||
# Phase 1 skeleton 阶段:故意保持 deps 最小,仅声明意图所需的核心 crate(winit)。
|
||
# skia-safe / accesskit / accesskit_winit 等在 Stage F 真正实现 RenderBackend 时再加。
|
||
# 原因:Rust 1.80 toolchain (rust-toolchain.toml) 对 home/hashbrown 等 crate 当前
|
||
# 版本的 edition2024 / MSRV 1.81+ 需求不兼容,加完整依赖会导致下载阶段失败。
|
||
# 详见提交说明 + Phase 1 Gate codex review。
|
||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
||
winit = { version = "0.30", default-features = false }
|