lool/Cargo.toml

118 lines
2.8 KiB
TOML

[package]
name = "lool"
version = "0.9.0"
edition = "2021"
description = "🧳 lool » lucode.ar rust common utilities"
authors = ["Lucas Colombo <lucas@lucode.ar>"]
repository = "https://github.com/lucodear/lool/tree/master/lib/sched"
license = "MIT"
[profile.release]
strip = true
lto = true
codegen-units = 16
opt-level = 'z'
panic = "abort"
rpath = false
overflow-checks = false
debug = 0
debug-assertions = false
[lib]
path = "lib/lib.rs"
[features]
# cli/tui utilities
"cli" = []
"cli.stylize" = ["cli", "dep:bitflags"]
"cli.tui" = [
"cli",
"dep:ratatui",
"dep:palette",
"dep:crossterm",
"dep:strum",
"dep:downcast-rs",
"dep:futures",
"dep:tokio",
"dep:tokio-util",
"crossterm?/event-stream",
"strum?/derive",
"tokio?/tokio-macros",
"tokio?/macros",
"tokio?/sync",
"tokio?/time",
]
"cli.tui.widgets" = ["cli.tui", "dep:unicode-width"]
# logging
"logger" = ["dep:log", "dep:glob-match"]
# macros
"macros" = []
# scheduling
"sched" = ["dep:chrono", "dep:log"]
"sched.tokio" = [
"sched",
"dep:tokio",
"tokio?/time",
"tokio?/rt",
"tokio?/macros",
"tokio?/sync",
]
"sched.threads" = ["sched"]
"sched.rule-recurrence" = ["sched", "dep:num-traits"]
"sched.rule-cron" = ["sched", "dep:croner"]
# utils
"utils" = []
"utils.threads" = ["utils", "macros", "dep:log"]
# tokio
"tokio.rt" = [
"tokio?/rt"
]
[dependencies]
# default
eyre = { version = "0.6.12", default-features = false }
# optional
bitflags = { version = "2.9.0", optional = true }
chrono = { version = "0.4.40", optional = true }
log = { version = "0.4.27", optional = true }
tokio = { version = "1.44.1", optional = true }
croner = { version = "2.1.0", optional = true }
num-traits = { version = "0.2.19", optional = true }
glob-match = { version = "0.2.1", optional = true }
tokio-util = { version = "0.7.14", optional = true }
ratatui = { version = "0.29.0", optional = true }
palette = { version = "0.7.6", optional = true }
crossterm = { version="0.28.1", optional = true}
strum = { version="0.27.1", optional = true }
downcast-rs = { version="2.0.1", optional = true}
futures = { version = "0.3.31", optional = true }
unicode-width = { version = "0.2.0", optional = true }
[[example]]
name = "sched"
path = "examples/sched.rs"
required-features = ["sched.threads", "sched.rule-recurrence"]
[[example]]
name = "sched_tokio"
path = "examples/sched_tokio.rs"
required-features = ["sched.tokio", "sched.rule-recurrence"]
[[example]]
name = "widget_text_area"
path = "examples/widget_text_area.rs"
required-features = ["cli.tui.widgets", "tokio.rt"]
[[example]]
name = "widget_grid_selector"
path = "examples/widget_grid_selector.rs"
required-features = ["cli.tui.widgets", "tokio.rt"]
[[example]]
name = "widget_switch"
path = "examples/widget_switch.rs"
required-features = ["cli.tui.widgets", "tokio.rt"]