[package]
name = "dorst"
version = "0.19.5"
edition = "2024"
repository = "https://github.com/charlesrocket/dorst"
authors = ["charlesrocket"]
description = "Codebase bootstrap and backup utility"
categories = ["command-line-utilities", "development-tools", "gui"]
keywords = ["backup", "git"]
license = "MIT"
readme = "README.md"
exclude = [".github", "/share"]
build = "prebuild.rs"
[profile.release-lto]
inherits = "release"
lto = true
[features]
default = ["cli", "logs"]
cli = ["dep:clap", "dep:indicatif", "dep:rayon"]
gui = ["dep:adw", "dep:async-channel", "dep:glib", "dep:gtk", "dep:glib-build-tools"]
logs = ["dep:tracing", "dep:tracing-appender", "dep:tracing-subscriber"]
[dependencies]
adw = { version = "0.8", package = "libadwaita", features = ["v1_7"], optional = true }
anyhow = "1.0"
async-channel = { version = "2.3", optional = true }
clap = { version = "4.5", features = ["string"], optional = true }
git2 = { version = "0.20", features = ["vendored-openssl"] }
glib = { version = "0.21", optional = true }
gtk = { version = "0.10", package = "gtk4", features = ["v4_18"], optional = true }
indicatif = { version = "0.18", optional = true }
rayon = { version = "1.10", optional = true }
serde = { version = "1.0", features = ["derive"] }
toml = "0.9"
tracing = { version = "0.1", optional = true }
tracing-appender = { version = "0.2", optional = true }
tracing-subscriber = { version = "0.3", optional = true }
[dev-dependencies]
assert_cmd = "2"
predicates = "3"
rouille = "3"
tempfile = "3"
tokio = { version = "1", features = ["rt-multi-thread"] }
[build-dependencies]
built = { version = "0.8", features = ["git2"] }
glib-build-tools = { version = "0.21", optional = true }