mirror of
https://github.com/rustic-rs/rustic.git
synced 2025-10-26 11:18:51 +00:00
277 lines
6.3 KiB
TOML
277 lines
6.3 KiB
TOML
[workspace.package]
|
|
version = "0.5.4-dev"
|
|
edition = "2021"
|
|
license = "Apache-2.0 OR MIT"
|
|
repository = "https://github.com/rustic-rs/rustic"
|
|
homepage = "https://rustic.cli.rs/"
|
|
keywords = ["backup", "restic", "deduplication", "encryption", "cli"]
|
|
categories = ["command-line-utilities"]
|
|
description = """
|
|
rustic - fast, encrypted, deduplicated backups powered by Rust
|
|
"""
|
|
|
|
[package]
|
|
name = "rustic-rs"
|
|
version = { workspace = true }
|
|
authors = ["Alexander Weiss"]
|
|
categories = { workspace = true }
|
|
documentation = "https://docs.rs/rustic-rs"
|
|
edition = { workspace = true }
|
|
homepage = { workspace = true }
|
|
include = ["src/**/*", "LICENSE-*", "README.md", "config/**/*"]
|
|
keywords = { workspace = true }
|
|
license = { workspace = true }
|
|
readme = "README.md"
|
|
repository = { workspace = true }
|
|
resolver = "2"
|
|
rust-version = "1.67.1"
|
|
description = { workspace = true }
|
|
|
|
[workspace]
|
|
members = ["crates/rustic_core", "crates/rustic_testing", "xtask"]
|
|
|
|
[[bin]]
|
|
name = "rustic"
|
|
path = "src/bin/rustic.rs"
|
|
test = true
|
|
bench = true
|
|
doc = true
|
|
harness = true
|
|
edition = "2021"
|
|
# required-features = []
|
|
|
|
[dependencies]
|
|
abscissa_core = { workspace = true }
|
|
rustic_core = { workspace = true }
|
|
|
|
# errors
|
|
anyhow = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
|
|
# macros
|
|
derivative = { workspace = true }
|
|
derive_more = { workspace = true }
|
|
derive_setters = { workspace = true }
|
|
|
|
# logging
|
|
log = { workspace = true }
|
|
tracing-appender = { workspace = true }
|
|
tracing-error = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
|
|
# rclone backend
|
|
semver = { workspace = true }
|
|
|
|
# parallelize
|
|
crossbeam-channel = { workspace = true }
|
|
pariter = { workspace = true }
|
|
rayon = { workspace = true }
|
|
|
|
# crypto
|
|
aes256ctr_poly1305aes = { workspace = true }
|
|
rand = { workspace = true }
|
|
scrypt = { workspace = true }
|
|
|
|
# chunker / packer
|
|
integer-sqrt = { workspace = true }
|
|
|
|
# serialization
|
|
binrw = { workspace = true }
|
|
hex = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde-aux = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde_with = { workspace = true }
|
|
|
|
# other dependencies
|
|
bytes = { workspace = true }
|
|
chrono = { workspace = true }
|
|
enum-map = { workspace = true }
|
|
enum-map-derive = { workspace = true }
|
|
self_update = { workspace = true }
|
|
zstd = { workspace = true }
|
|
|
|
# local backend
|
|
aho-corasick = { workspace = true }
|
|
filetime = { workspace = true }
|
|
ignore = { workspace = true }
|
|
nix = { workspace = true }
|
|
walkdir = { workspace = true }
|
|
|
|
# cache
|
|
cachedir = { workspace = true }
|
|
dirs = { workspace = true }
|
|
|
|
# commands
|
|
clap = { workspace = true }
|
|
clap_complete = { workspace = true }
|
|
merge = { workspace = true }
|
|
|
|
bytesize = { workspace = true }
|
|
comfy-table = { workspace = true }
|
|
dialoguer = "0.10.4"
|
|
directories = { workspace = true }
|
|
dunce = { workspace = true }
|
|
gethostname = { workspace = true }
|
|
humantime = { workspace = true }
|
|
indicatif = { workspace = true }
|
|
itertools = { workspace = true }
|
|
path-dedot = { workspace = true }
|
|
rhai = { workspace = true }
|
|
shell-words = { workspace = true }
|
|
simplelog = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
aho-corasick = { workspace = true }
|
|
dircmp = { workspace = true }
|
|
once_cell = { workspace = true }
|
|
pretty_assertions = { workspace = true }
|
|
rustic_testing = { path = "crates/rustic_testing" }
|
|
tempfile = { workspace = true }
|
|
toml = { workspace = true }
|
|
|
|
[target.'cfg(not(windows))'.dependencies]
|
|
sha2 = { version = "0.10", features = ["asm"] }
|
|
libc = "0.2.147"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
# unfortunately, the asm extensions do not build on MSVC, see https://github.com/RustCrypto/asm-hashes/issues/17
|
|
sha2 = "0.10"
|
|
|
|
[target.'cfg(not(any(windows, target_os="openbsd")))'.dependencies]
|
|
xattr = "1"
|
|
|
|
[workspace.dependencies]
|
|
rustic_core = { path = "crates/rustic_core/", features = ["cli"], version = "0" }
|
|
abscissa_core = "0.7.0"
|
|
|
|
# logging
|
|
tracing-appender = { version = "0.2.2", features = ["parking_lot"] }
|
|
tracing-error = "0.2.0"
|
|
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
|
|
|
|
# errors
|
|
displaydoc = "0.2.4"
|
|
thiserror = "1"
|
|
anyhow = "1"
|
|
|
|
# macros
|
|
derive_more = "0.99"
|
|
derivative = "2"
|
|
derive_setters = "0.1"
|
|
|
|
# logging
|
|
log = "0.4"
|
|
|
|
# parallelize
|
|
crossbeam-channel = "0.5"
|
|
rayon = "1"
|
|
pariter = "0.5"
|
|
|
|
# crypto
|
|
aes256ctr_poly1305aes = "0.1"
|
|
rand = "0.8"
|
|
scrypt = { version = "0.11", default-features = false }
|
|
|
|
# chunker / packer
|
|
integer-sqrt = "0.1"
|
|
|
|
# serialization
|
|
binrw = "0.11"
|
|
hex = { version = "0.4", features = ["serde"] }
|
|
serde = { version = "1", features = ["serde_derive"] }
|
|
serde_with = { version = "3.2", features = ["base64"] }
|
|
serde_json = "1"
|
|
serde-aux = "4"
|
|
|
|
# local backend
|
|
walkdir = "2"
|
|
ignore = "0.4"
|
|
cached = { version = "0.44", default-features = false, features = ["proc_macro"] }
|
|
nix = "0.26"
|
|
filetime = "0.2"
|
|
aho-corasick = "1"
|
|
|
|
# rest backend
|
|
reqwest = { version = "0.11", default-features = false, features = ["json", "rustls-tls-native-roots", "stream", "blocking"] }
|
|
backoff = "0.4"
|
|
url = "2.3.1"
|
|
|
|
# rclone backend
|
|
semver = "1"
|
|
|
|
# other dependencies
|
|
bytes = "1"
|
|
chrono = { version = "0.4", default-features = false, features = ["clock", "serde"] }
|
|
zstd = "0.12"
|
|
enum-map = "2"
|
|
enum-map-derive = "0.13"
|
|
rhai = { version = "1.15", features = ["sync", "serde", "no_optimize", "no_module", "no_custom_syntax", "only_i64"] }
|
|
simplelog = "0.12"
|
|
comfy-table = "6.1.4"
|
|
|
|
# cache
|
|
dirs = "5"
|
|
cachedir = "0.3"
|
|
|
|
# commands
|
|
merge = "0.1"
|
|
directories = "5"
|
|
shell-words = "1"
|
|
indicatif = "0.17"
|
|
path-dedot = "3"
|
|
dunce = "1"
|
|
gethostname = "0.4"
|
|
bytesize = "1"
|
|
itertools = "0.10"
|
|
humantime = "2"
|
|
clap_complete = "4"
|
|
clap = { version = "4", features = ["derive", "env", "wrap_help"] }
|
|
once_cell = "1.17"
|
|
self_update = { version = "0.36", default-features = false, features = ["rustls", "archive-tar", "compression-flate2"] }
|
|
|
|
# dev dependencies
|
|
rstest = "0.17"
|
|
quickcheck = "1"
|
|
quickcheck_macros = "1"
|
|
tempfile = "3.8"
|
|
pretty_assertions = "1.4"
|
|
toml = "0.7"
|
|
dircmp = "0.2"
|
|
|
|
# see: https://nnethercote.github.io/perf-book/build-configuration.html
|
|
|
|
[profile.dev]
|
|
opt-level = 0
|
|
debug = true
|
|
rpath = false
|
|
lto = false
|
|
debug-assertions = true
|
|
codegen-units = 4
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
debug = false # true for profiling
|
|
rpath = false
|
|
lto = "fat"
|
|
debug-assertions = false
|
|
codegen-units = 1
|
|
strip = true
|
|
panic = "abort"
|
|
|
|
[profile.test]
|
|
opt-level = 1
|
|
debug = true
|
|
rpath = false
|
|
lto = false
|
|
debug-assertions = true
|
|
codegen-units = 4
|
|
|
|
[profile.bench]
|
|
opt-level = 3
|
|
debug = true # true for profiling
|
|
rpath = false
|
|
lto = true
|
|
debug-assertions = false
|
|
codegen-units = 1
|