[package]
name = "running-process"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Subprocess and PTY runtime for the running-process project"
[[bin]]
name = "runpm"
path = "src/bin/runpm.rs"
required-features = ["client"]
[[bin]]
name = "running-process-daemon"
path = "src/bin/daemon.rs"
required-features = ["daemon"]
[[bin]]
name = "daemon-trampoline"
path = "src/bin/trampoline.rs"
[features]
default = ["client"]
core = []
telemetry = []
client = ["dep:prost", "dep:prost-types", "dep:interprocess", "dep:dirs", "dep:anyhow", "dep:clap"]
daemon = [
"client",
"interprocess/tokio",
"dep:tokio", "dep:tokio-util", "dep:bytes", "dep:futures-util",
"dep:tracing", "dep:tracing-subscriber",
"dep:rusqlite", "dep:toml",
]
originator-scan = []
[dependencies]
libc = "0.2"
portable-pty = "0.9"
sysinfo = "0.30"
thiserror = { workspace = true }
winapi = { version = "0.3", features = ["errhandlingapi", "fileapi", "handleapi", "ioapiset", "jobapi2", "namedpipeapi", "processthreadsapi", "winnt", "minwindef", "windef", "winuser", "consoleapi", "processenv", "synchapi", "winbase", "wincon", "tlhelp32"] }
prost = { version = "0.14", optional = true }
prost-types = { version = "0.14", optional = true }
interprocess = { version = "2", optional = true }
dirs = { version = "6", optional = true }
anyhow = { version = "1", optional = true }
clap = { version = "4", features = ["derive"], optional = true }
tokio = { version = "1", features = ["full"], optional = true }
tokio-util = { version = "0.7", features = ["codec"], optional = true }
bytes = { version = "1", optional = true }
futures-util = { version = "0.3", features = ["sink"], optional = true }
tracing = { version = "0.1", optional = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"], optional = true }
rusqlite = { workspace = true, optional = true }
toml = { version = "0.8", optional = true }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
[build-dependencies]
prost-build = "0.14"
protox = "0.9"
[dev-dependencies]
serde_json = "1"
tempfile = "3"
test-watchdog = { path = "../test-watchdog" }
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.59", features = [
"Win32_Foundation",
"Win32_Security",
"Win32_Storage_FileSystem",
"Win32_System_Console",
"Win32_System_IO",
"Win32_System_Memory",
"Win32_System_Pipes",
"Win32_System_Threading",
"Win32_System_Diagnostics_Debug",
] }
[target.'cfg(windows)'.dev-dependencies]
winapi = { version = "0.3", features = ["handleapi", "processthreadsapi", "winnt"] }