thiserror derive across oakundo/oakcommon/oaknode/oaktimeline/oaktask/ oakotio/oakcodec/oakaudio/oakrender/oakplugin/oakengine/oakstorage; Display carries the module prefix and the Failed context, source() stays default except oakotio's #[from] forwarding. code() mappings and variants unchanged; each error.rs gains Display/object-safety/code regression tests.
35 lines
1.4 KiB
TOML
35 lines
1.4 KiB
TOML
[package]
|
||
name = "oakplugin"
|
||
version = "0.1.0"
|
||
edition = "2021"
|
||
description = "Oak Video Editor plugin module: self-contained OFX host and plugin bridge (Rust)"
|
||
license = "GPL-3.0-or-later"
|
||
|
||
# staticlib: linked into liboakplugin by CMake (see M11 §3.3).
|
||
# cdylib is NOT used: the module dylib stays a CMake target so the
|
||
# standalone-tree wiring (rpath, force_load, tests) is unchanged.
|
||
[lib]
|
||
crate-type = ["staticlib", "rlib"]
|
||
|
||
[dependencies]
|
||
# 共享 ABI 类型(CHandle 等,单库化统一,见 docs/zh/plans/riir/single-lib.md)。
|
||
# 模块桥改直接 Rust 调用(单库化,见 docs/zh/plans/riir/single-lib.md);
|
||
# 只允许零依赖起步。确需引入的 crate 必须在 README 登记理由。
|
||
oakcore-rs = { path = "../oakcore" }
|
||
oakundo = { path = "../oakundo" }
|
||
oaknode = { path = "../oaknode" }
|
||
oakrender = { path = "../oakrender" }
|
||
# Error derive(Display + std::error::Error,见 src/error.rs);理由已登记 README。
|
||
thiserror = "2"
|
||
|
||
[features]
|
||
# 测试桩(库内状态访问器):cargo test --features test-stubs 时桥直连
|
||
# 桩,像素路径可在无真实 GL/GPU 的环境下跑通。桩的 C ABI 符号不再
|
||
# no_mangle(真实 oaknode/oakrender/oakundo 已作为 path 依赖链接,
|
||
# 避免重复符号);真实链路走直接 Rust 调用。
|
||
test-stubs = []
|
||
|
||
[build-dependencies]
|
||
# C shim 编译(message suite 的 variadic 入口);理由已登记 README。
|
||
cc = "1"
|