[package]
edition = "2024"
name = "obsidian-backups"
version = "0.1.3"
authors = ["Drew Chase"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Git-based backup library for Rust applications. Originally designed for the Obsidian Minecraft Server Panel, but generic enough to be used in any project requiring file backup management. "
readme = "README.MD"
keywords = [
"obsidian",
"backup",
"backups",
]
categories = [
"command-line-utilities",
"development-tools",
"compression",
"filesystem",
]
license = "MIT"
repository = "https://github.com/Obsidian-Minecraft-Server-Portal/obsidian-backup-system.git"
[features]
async-stream = [
"dep:archflow",
"dep:tokio",
]
cli = [
"dep:clap",
"dep:serde_json",
"dep:pretty_env_logger",
]
logging = ["dep:log"]
serde = ["dep:serde"]
zip = ["dep:sevenz-rust2"]
[lib]
name = "obsidian_backups"
path = "src/lib.rs"
[[bin]]
name = "obackup"
path = "src/cli/mod.rs"
required-features = [
"cli",
"serde",
"logging",
"zip",
]
[[example]]
name = "archive"
path = "examples/archive.rs"
[[example]]
name = "basic"
path = "examples/basic.rs"
[[example]]
name = "diff"
path = "examples/diff.rs"
[[example]]
name = "export_to_stream"
path = "examples/export_to_stream.rs"
[[example]]
name = "ignore_file"
path = "examples/ignore_file.rs"
[[example]]
name = "list_backups"
path = "examples/list_backups.rs"
[[test]]
name = "backup_manager"
path = "tests/backup_manager.rs"
[dependencies.anyhow]
version = "1"
features = ["backtrace"]
[dependencies.archflow]
version = "0.1"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4"
features = [
"derive",
"usage",
"suggestions",
"error-context",
"help",
"string",
"wrap_help",
"color",
"unicode",
]
optional = true
[dependencies.git2]
version = "0.20"
[dependencies.ignore]
version = "0.4.23"
[dependencies.log]
version = "0.4"
optional = true
[dependencies.pretty_env_logger]
version = "0.5"
optional = true
[dependencies.serde]
version = "1.0"
features = [
"derive",
"serde_derive",
]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.sevenz-rust2]
version = "0.19"
optional = true
[dependencies.tokio]
version = "1"
features = [
"io-util",
"macros",
]
optional = true
[dev-dependencies.log]
version = "0.4"
[dev-dependencies.pretty_env_logger]
version = "0.5"