qsu 0.6.1

Service subsystem utilities and runtime wrapper.
Documentation
[badges.maintenance]
status = "experimental"

[dependencies.async-trait]
version = "0.1.83"

[dependencies.chrono]
version = "0.4.38"

[dependencies.clap]
features = ["derive", "env", "string", "wrap_help"]
optional = true
version = "4.5.19"

[dependencies.env_logger]
version = "0.11.5"

[dependencies.futures]
version = "0.3.31"

[dependencies.itertools]
optional = true
version = "0.13.0"

[dependencies.killswitch]
version = "0.4.2"

[dependencies.log]
version = "0.4.22"

[dependencies.parking_lot]
version = "0.12.3"

[dependencies.rocket]
optional = true
version = "0.5.1"

[dependencies.sidoc]
optional = true
version = "0.1.0"

[dependencies.time]
features = ["macros"]
version = "0.3.36"

[dependencies.tokio]
features = ["sync"]
version = "1.40.0"

[dependencies.tracing]
version = "0.1.40"

[dependencies.tracing-subscriber]
default-features = false
features = ["env-filter", "time", "fmt", "ansi"]
version = "0.3.18"

[dev-dependencies.clap]
features = ["derive", "env", "wrap_help"]
version = "4.5.4"

[dev-dependencies.tokio]
features = ["time"]
version = "1.40.0"

[[example]]
name = "hellosvc"
path = "examples/hellosvc.rs"
required-features = ["clap", "installer", "rt"]

[[example]]
name = "hellosvc-rocket"
path = "examples/hellosvc-rocket.rs"
required-features = ["clap", "installer", "rt", "rocket"]

[[example]]
name = "hellosvc-tokio"
path = "examples/hellosvc-tokio.rs"
required-features = ["clap", "installer", "rt", "tokio"]

[[example]]
name = "simplerocket"
path = "examples/simplerocket.rs"

[[example]]
name = "simplesync"
path = "examples/simplesync.rs"

[[example]]
name = "simpletokio"
path = "examples/simpletokio.rs"

[features]
clap = ["dep:clap", "dep:itertools"]
default = ["rt"]
full = ["clap", "installer", "rocket", "rt", "systemd", "tokio"]
installer = ["dep:sidoc"]
rocket = ["rt", "dep:rocket", "tokio"]
rt = []
systemd = ["dep:sd-notify"]
tokio = ["rt", "tokio/macros", "tokio/rt-multi-thread", "tokio/signal"]
wait-for-debugger = ["dep:dbgtools-win"]

[lib]
name = "qsu"
path = "src/lib.rs"

[lints.clippy]
multiple_crate_versions = "allow"

[lints.clippy.all]
level = "deny"
priority = -1

[lints.clippy.cargo]
level = "warn"
priority = -1

[lints.clippy.nursery]
level = "warn"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[package]
autobenches = false
autobins = false
autoexamples = false
autotests = false
build = false
categories = ["os"]
description = "Service subsystem utilities and runtime wrapper."
edition = "2021"
exclude = [".fossil-settings", ".efiles", ".fslckout", "www", "bacon.toml", "build_docs.sh", "Rocket.toml", "rustfmt.toml"]
keywords = ["service", "systemd", "winsvc"]
license = "0BSD"
name = "qsu"
readme = "README.md"
repository = "https://repos.qrnch.tech/pub/qsu"
rust-version = "1.70"
version = "0.6.1"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"]

[target.'cfg(target_os = "linux")'.dependencies.sd-notify]
optional = true
version = "0.4.3"

[target."cfg(unix)".dependencies.libc]
version = "0.2.159"

[target."cfg(unix)".dependencies.nix]
features = ["pthread", "signal", "time"]
version = "0.29.0"

[target."cfg(windows)".dependencies.dbgtools-win]
optional = true
version = "0.2.1"

[target."cfg(windows)".dependencies.eventlog]
version = "0.2.2"

[target."cfg(windows)".dependencies.registry]
version = "1.2.3"

[target."cfg(windows)".dependencies.scopeguard]
version = "1.2.0"

[target."cfg(windows)".dependencies.windows-service]
version = "0.7.0"

[target."cfg(windows)".dependencies.windows-sys]
features = ["Win32_Foundation", "Win32_System_Console"]
version = "0.59.0"

[target."cfg(windows)".dependencies.winreg]
version = "0.52.0"

[[test]]
name = "apperr"
path = "tests/apperr.rs"

[[test]]
name = "initrunshutdown"
path = "tests/initrunshutdown.rs"