[workspace]
members = [
"example/parent-plugin",
"example/child-plugin",
]
resolver = "2"
[workspace.dependencies]
actix-web = "4.12.1"
anyhow = "1.0"
async-trait = "0.1.89"
libloading = "0.9.0"
notify = "8.2"
secra-pluginctl = "0.2.0"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.147"
thiserror = "2.0.17"
tokio = { version = "1.48.0", features = ["full"] }
tracing = "0.1.44"
tracing-subscriber = { version = "0.3", default-features = false, features = ["env-filter", "fmt"] }
secra-logger = "1.0"
tracing-shared = "0.2.0"
[package]
name = "plugins"
version = "0.1.31"
edition = "2024"
description = "生产级插件系统 - 插件的生命周期"
license = "MIT OR Apache-2.0"
keywords = ["plugin", "packaging", "security", "fingerprint", "signature"]
categories = ["command-line-utilities", "development-tools"]
[[bin]]
name = "secra-plugins"
path = "example/main.rs"
[lib]
path = "src/lib.rs"
[dependencies]
actix-web = { workspace = true }
anyhow = { workspace = true }
async-trait = { workspace = true }
libloading = { workspace = true }
notify = { workspace = true }
secra-pluginctl = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true }
tracing = { workspace = true }
futures = "0.3"
tracing-shared= { workspace = true }
secra-logger = { workspace = true }
[dev-dependencies]
tracing-subscriber = { workspace = true }