[workspace]
members = [
  "transtools",
  "sysd-manager-translating",
  "tiny_daemon",
  "sysd-manager-proxy",
  "sysd-manager-comcontroler",
  "sysd-manager-test-base",
  "sysd-manager-base",
]

[workspace.package]
edition = "2024"
rust-version = "1.92"
authors = ["Pierre-Luc Rigaux <plrigaux@users.noreply.github.com>"]
license = "GPL-3.0-or-later"
repository = "https://github.com/plrigaux/sysd-manager"

[package]
name = "sysd-manager"
version = "2.17.0"
edition = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
readme = "README.md"
authors = { workspace = true }
description = "Application to empower user to manage their <b>systemd units</b> via Graphical User Interface. Not only are you able to make changes to the enablement and running status of each of the units, but you will also be able to view and modify their unit files and check the journal logs."
keywords = ["gtk4", "linux", "systemd"]
rust-version = { workspace = true }


#include = [
#    "build.rs",
#    "/src",
#    "LICENSE",
#    "README.md",
#    "/data",
#    "!/**/meson.build",
#    "/po",
#]
default-run = "sysd-manager"

[[bin]]
name = "sysd-manager"
path = "src/main.rs"

[features]
default = ["systemd/default", "base/default"]
flatpak = ["systemd/flatpak", "base/flatpak"]
appimage = ["systemd/appimage", "base/appimage"]

[profile.release]
lto = true

[workspace.dependencies]
base = { version = "2.14", path = "./sysd-manager-base", package = "sysd-manager-base" }
systemd = { version = "2.14", path = "./sysd-manager-comcontroler", package = "sysd-manager-comcontroler" }

clap = { version = "4.5", features = ["derive"] }
constcat = "0.6"
chrono = "0.4"
dotenv = "0.15"
enumflags2 = "0.7"
flagset = "0.4"
gettext-rs = { version = "0.7.2", features = ["gettext-system"] }
gio = { version = "0", package = "gio", features = ["v2_84"] }
glib = { version = "0", package = "glib", features = ["v2_84"] }
libc = "0.2"
regex = "1.12"
serde = "1.0"
strum = { version = "0.28", features = ["derive"] }
test-base = { version = "0.1", path = "./sysd-manager-test-base", package = "sysd-manager-test-base" }
tokio-util = "0.7"
tokio = { version = "1", features = ["full"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = [
  "ansi",
  "fmt",
  "chrono",
  "env-filter",
] }
tracing-journald = "0.3"
zvariant = "5"
zbus = { version = "5.11", default-features = false, features = [
  "tokio",
  "blocking-api",
] }

[dependencies]


pango = { version = "0", package = "pango", features = ["v1_56"] }
adw = { version = "0.9", package = "libadwaita", features = ["v1_8"] }
gio.workspace = true
gtk = { version = "0.11", package = "gtk4", features = ["v4_20"] }
glib.workspace = true
flagset.workspace = true
base.workspace = true
chrono.workspace = true
clap.workspace = true
constcat.workspace = true
const_format = "0.2.34"
dotenv.workspace = true
enumflags2.workspace = true
formatx = "0.2"
foreign-types-shared = "0.3.1"
futures-util = "0.3"
gettext-rs.workspace = true
libc.workspace = true
regex.workspace = true
serde.workspace = true
sourceview5 = "0.11"
strum.workspace = true
systemd.workspace = true
tokio.workspace = true
tracing-journald.workspace = true
tokio-util.workspace = true
tracing-subscriber.workspace = true
tracing.workspace = true
toml = "1"
zvariant.workspace = true

[dev-dependencies]
test-base.workspace = true


[build-dependencies]
#glib-build-tools = "0.19.0"
#cargo-generate-rpm = "0.14.1"
quick-xml = "0.39"
translating = { version = "0.4.2", path = "./sysd-manager-translating", package = "sysd-manager-translating" }
