Files
2026-05-01 07:34:43 +02:00

183 lines
5.4 KiB
TOML

[workspace]
members = ["src/uu/hugetop"]
# procps (uutils)
# * see the repository LICENSE, README, and CONTRIBUTING files for more information
# spell-checker:ignore (libs) mangen
[workspace.package]
authors = ["uutils developers"]
categories = ["command-line-utilities"]
edition = "2021"
homepage = "https://github.com/uutils/procps"
keywords = ["procps", "uutils", "cross-platform", "cli", "utility"]
license = "MIT"
version = "0.0.1"
[package]
name = "procps"
description = "procps ~ implemented as universal (cross-platform) utils, written in Rust"
default-run = "procps"
repository = "https://github.com/uutils/procps"
readme = "README.md"
build = "build.rs"
authors.workspace = true
categories.workspace = true
edition.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
version.workspace = true
[features]
default = ["feat_common_core"]
uudoc = []
feat_common_core = [
"free",
"hugetop",
"pgrep",
"pidof",
"pidwait",
"pkill",
"pmap",
"ps",
"pwdx",
"skill",
"slabtop",
"snice",
"sysctl",
"tload",
"top",
"vmstat",
"w",
"watch",
]
[workspace.dependencies]
bytesize = "2.0.0"
chrono = { version = "0.4.38", default-features = false, features = ["clock"] }
clap = { version = "4.5.4", features = ["wrap_help", "cargo", "env"] }
clap_complete = "4.5.2"
clap_mangen = "0.3.0"
crossterm = "0.29.0"
ctor = "0.12.0"
dirs = "6.0.0"
jiff = "0.2.15"
nix = { version = "0.30", default-features = false, features = ["process"] }
phf = "0.13.1"
phf_codegen = "0.13.0"
prettytable-rs = "0.10.0"
rand = { version = "0.10.0" }
ratatui = "0.30.0"
regex = "1.10.4"
rustix = { version = "1.1.2", features = ["fs", "process", "param"] }
sysinfo = "0.38.0"
tempfile = "3.10.1"
terminal_size = "0.4.2"
textwrap = { version = "0.16.1", features = ["terminal_size"] }
thiserror = "2.0.4"
uucore = "0.7.0"
uutests = "0.8.0"
walkdir = "2.5.0"
windows = { version = "0.62.0" }
windows-sys = { version = "0.61.0", default-features = false }
xattr = "1.3.1"
[dependencies]
clap = { workspace = true }
clap_complete = { workspace = true }
clap_mangen = { workspace = true }
jiff = { workspace = true }
phf = { workspace = true }
regex = { workspace = true }
sysinfo = { workspace = true }
textwrap = { workspace = true }
uucore = { workspace = true }
#
free = { optional = true, version = "0.0.1", package = "uu_free", path = "src/uu/free" }
hugetop = { optional = true, version = "0.0.1", package = "uu_hugetop", path = "src/uu/hugetop" }
pgrep = { optional = true, version = "0.0.1", package = "uu_pgrep", path = "src/uu/pgrep" }
pidof = { optional = true, version = "0.0.1", package = "uu_pidof", path = "src/uu/pidof" }
pidwait = { optional = true, version = "0.0.1", package = "uu_pidwait", path = "src/uu/pidwait" }
pkill = { optional = true, version = "0.0.1", package = "uu_pkill", path = "src/uu/pkill" }
pmap = { optional = true, version = "0.0.1", package = "uu_pmap", path = "src/uu/pmap" }
ps = { optional = true, version = "0.0.1", package = "uu_ps", path = "src/uu/ps" }
pwdx = { optional = true, version = "0.0.1", package = "uu_pwdx", path = "src/uu/pwdx" }
skill = { optional = true, version = "0.0.1", package = "uu_skill", path = "src/uu/skill" }
slabtop = { optional = true, version = "0.0.1", package = "uu_slabtop", path = "src/uu/slabtop" }
snice = { optional = true, version = "0.0.1", package = "uu_snice", path = "src/uu/snice" }
sysctl = { optional = true, version = "0.0.1", package = "uu_sysctl", path = "src/uu/sysctl" }
tload = { optional = true, version = "0.0.1", package = "uu_tload", path = "src/uu/tload" }
top = { optional = true, version = "0.0.1", package = "uu_top", path = "src/uu/top" }
vmstat = { optional = true, version = "0.0.1", package = "uu_vmstat", path = "src/uu/vmstat" }
w = { optional = true, version = "0.0.1", package = "uu_w", path = "src/uu/w" }
watch = { optional = true, version = "0.0.1", package = "uu_watch", path = "src/uu/watch" }
[dev-dependencies]
chrono = { workspace = true }
ctor = { workspace = true }
pretty_assertions = "1.4.0"
rand = { workspace = true }
regex = { workspace = true }
tempfile = { workspace = true }
uucore = { workspace = true, features = [
"entries",
"libc",
"process",
"signals",
] }
uutests = { workspace = true }
[target.'cfg(unix)'.dev-dependencies]
xattr = { workspace = true }
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dev-dependencies]
rlimit = "0.11.0"
[build-dependencies]
phf_codegen = { workspace = true }
[[bin]]
name = "procps"
path = "src/bin/procps.rs"
[[bin]]
name = "uudoc"
path = "src/bin/uudoc.rs"
required-features = ["uudoc"]
# The default release profile. It contains all optimizations, without
# sacrificing debug info. With this profile (like in the standard
# release profile), the debug info and the stack traces will still be available.
[profile.release]
lto = true
# A release-like profile that is tuned to be fast, even when being fast
# compromises on binary size. This includes aborting on panic.
[profile.release-fast]
inherits = "release"
panic = "abort"
# A release-like profile that is as small as possible.
[profile.release-small]
inherits = "release"
opt-level = "z"
panic = "abort"
strip = true
[lints]
workspace = true
[workspace.lints.clippy]
default_trait_access = "warn"
manual_string_new = "warn"
cognitive_complexity = "warn"
implicit_clone = "warn"
range-plus-one = "warn"
redundant-clone = "warn"
match_bool = "warn"
semicolon_if_nothing_returned = "warn"