[package]
name = "majutsu"
version = "0.6.2"
edition = "2024"
description = "Host-level multi-root snapshot history agent"
license = "MIT"
repository = "https://github.com/genki/majutsu"
homepage = "https://github.com/genki/majutsu"
readme = "README.md"
keywords = ["backup", "snapshot", "history", "s3", "cli"]
categories = ["command-line-utilities", "filesystem"]
include = [
    "/BUILD_NUMBER",
    "/LICENSE",
    "/README.md",
    "/docs/BRANCHING.md",
    "/docs/COMMANDS.md",
    "/docs/CONTAINER_DEMO.md",
    "/docs/CRATES_IO_RELEASE.md",
    "/docs/FEATURES.md",
    "/docs/GETTING_STARTED.md",
    "/docs/OPERATIONS.md",
    "/docs/PLATFORM_SUPPORT.md",
    "/docs/RELEASE_CHECKLIST.md",
    "/docs/REMOTE_AND_SECURITY.md",
    "/docs/RESTORE_TUTORIAL.md",
    "/docs/WINDOWS_EXTENDED_ATTRIBUTES.md",
    "/docs/assets/majutsu-logo.png",
    "/THIRD_PARTY_NOTICES.md",
    "/build.rs",
    "/src/**",
    "/tests/**",
]

[workspace]
members = [
    ".",
    "crates/majutsu-cli",
    "crates/majutsu-core",
    "crates/majutsu-crypto",
    "crates/majutsu-daemon",
    "crates/majutsu-db",
    "crates/majutsu-large",
    "crates/majutsu-pack",
    "crates/majutsu-policy",
    "crates/majutsu-restore",
    "crates/majutsu-store",
    "crates/majutsu-watch",
]

[features]
standalone-crate = []

[dependencies]
age = "0.11"
anyhow = "1"
base64 = "0.22"
blake3 = "1"
chacha20poly1305 = "0.10"
chrono = { version = "0.4", features = ["serde"] }
clap = { version = "4", features = ["derive"] }
crossterm = "0.28"
filetime = "0.2"
hex = "0.4"
hmac = "0.12"
ignore = "0.4"
globset = "0.4"
libc = "0.2"
notify = "8"
quick-xml = "0.37"
rand = "0.8"
reqwest = { version = "0.12", features = ["blocking"] }
rusqlite = { version = "0.32", features = ["bundled"] }
serde = { version = "1", features = ["derive"] }
serde_cbor = "0.11"
serde_json = "1"
sha1 = "0.10"
sha2 = "0.10"
tempfile = "3"
toml = "0.8"
url = "2"
uuid = { version = "1", features = ["v4"] }
walkdir = "2"
zstd = "0.13"
[target.'cfg(unix)'.dependencies]
xattr = "1"

[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.61.2", features = [
    "Win32_Foundation",
    "Win32_Storage_FileSystem",
    "Win32_System_Threading",
] }

[target.'cfg(target_os = "linux")'.dependencies]
fuser = { version = "0.15", default-features = false }

[[bin]]
name = "mj"
path = "src/main.rs"
