aaae0508b9
P7.2: service.rs оборачивает PowerFsm — D-Bus state/signals из FSM; apply_event исполняет действия (эмит сигналов, фоновый grace-таймер, durable-barrier sync). dev-mock SetAcc/SetIgnition/TriggerShutdown/AbortShutdown кормят входы FSM. FSM: AccOff → AccChanged(false)+ShutdownImminent (сохранён walking-skeleton-регресс). Integration: ShutdownImminent + abort. zbus → tokio-executor (default-features=false, features=["tokio"]) — иначе tokio::spawn в хендлере паникует (async-io). test-integration --test-threads=1 (тесты владеют одним именем на шине). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Alexander <akotenev2003@gmail.com>
41 lines
1.6 KiB
TOML
41 lines
1.6 KiB
TOML
[workspace]
|
||
resolver = "2"
|
||
# Члены растут по планам реализации. crates/core, crates/apps, crates/tools —
|
||
# группировка привилегированного ядра / first-party-апов / dev-инструментов (architecture §3).
|
||
members = [
|
||
"crates/shturman-common",
|
||
"crates/shturman-ipc",
|
||
"crates/shturman-sdk",
|
||
"crates/core/shturman-firstboot",
|
||
"crates/core/shturman-settings",
|
||
"crates/core/shturman-power",
|
||
"crates/apps/shturman-render",
|
||
"crates/apps/shturman-splash",
|
||
"crates/apps/shturman-shell",
|
||
"crates/tools/shturman-manifest-validator",
|
||
]
|
||
|
||
[workspace.package]
|
||
edition = "2021"
|
||
license = "MIT"
|
||
rust-version = "1.96"
|
||
|
||
[workspace.dependencies]
|
||
tokio = { version = "1", features = ["rt-multi-thread", "macros", "signal", "sync", "time"] }
|
||
# tokio-executor у zbus (а не async-io) — сервисы на #[tokio::main]; нужно для tokio::spawn в хендлерах (grace-таймер).
|
||
zbus = { version = "4", default-features = false, features = ["tokio"] }
|
||
serde = { version = "1", features = ["derive"] }
|
||
serde_json = "1"
|
||
serde_yaml = "0.9"
|
||
tracing = "0.1"
|
||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||
tracing-journald = "0.3"
|
||
anyhow = "1"
|
||
thiserror = "1"
|
||
clap = { version = "4", features = ["derive"] }
|
||
slint = { version = "1", default-features = false, features = ["compat-1-2", "std", "backend-winit", "renderer-software"] }
|
||
# dev
|
||
tempfile = "3"
|
||
futures-util = "0.3"
|
||
# slint — добавляется в Плане 4 (вместе с slint GPL-3.0 exception в deny.toml)
|