-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathCargo.toml
112 lines (94 loc) · 3.73 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
[package]
name = "rustic_backend"
version = "0.4.2"
authors = ["the rustic-rs team"]
categories = ["data-structures", "filesystem"]
documentation = "https://docs.rs/rustic_backend"
edition = "2021"
homepage = "https://rustic.cli.rs/"
include = ["src/**/*", "LICENSE-*", "README.md"]
keywords = ["backup", "restic", "deduplication", "encryption", "library"]
license = "Apache-2.0 OR MIT"
publish = true
readme = "README.md"
repository = "https://github.com/rustic-rs/rustic_core/tree/main/crates/backend"
resolver = "2"
rust-version = { workspace = true }
description = """
rustic_backend - library for supporting various backends in rustic-rs
"""
[lib]
path = "src/lib.rs"
name = "rustic_backend"
test = true
doctest = true
bench = true
doc = true
harness = true
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
default = ["opendal", "rest", "rclone"]
cli = ["merge", "clap"]
merge = ["dep:conflate"]
clap = ["dep:clap"]
opendal = [
"dep:opendal",
"dep:rayon",
"dep:tokio",
"tokio/rt-multi-thread",
"dep:typed-path",
]
rest = ["dep:reqwest", "dep:backon"]
rclone = ["rest", "dep:rand", "dep:semver"]
[dependencies]
# core
rustic_core = { workspace = true }
# errors
displaydoc = { workspace = true }
thiserror = { workspace = true }
# logging
log = { workspace = true }
# other dependencies
bytes = { workspace = true }
derive_setters = "0.1.6"
humantime = "2.1.0"
itertools = "0.13.0"
strum = "0.26"
strum_macros = "0.26"
# general / backend choosing
hex = { version = "0.4.3", features = ["serde"] }
serde = { version = "1.0.210" }
url = "2.5.2"
# cli support
clap = { version = "4.5.19", optional = true, features = ["derive", "env", "wrap_help"] }
conflate = { version = "0.3.1", optional = true }
# local backend
aho-corasick = { workspace = true }
walkdir = "2.5.0"
# rest backend
backon = { version = "1.2.0", optional = true }
reqwest = { version = "0.12.8", default-features = false, features = ["json", "rustls-tls-native-roots", "stream", "blocking"], optional = true }
# rclone backend
rand = { version = "0.8.5", optional = true }
semver = { version = "1.0.23", optional = true }
# opendal backend
bytesize = "1.3.0"
rayon = { version = "1.10.0", optional = true }
tokio = { version = "1.40.0", optional = true, default-features = false }
typed-path = { version = "0.9.3", optional = true }
[dependencies.aws-lc-sys]
version = "0.23.0"
features = ["prebuilt-nasm"]
[target.'cfg(not(windows))'.dependencies]
# opendal backend - sftp is not supported on windows, see https://github.com/apache/incubator-opendal/issues/2963
opendal = { version = "0.50.2", features = ["services-b2", "services-sftp", "services-swift", "services-azblob", "services-azdls", "services-cos", "services-fs", "services-ftp", "services-dropbox", "services-gdrive", "services-gcs", "services-ghac", "services-http", "services-ipmfs", "services-memory", "services-obs", "services-onedrive", "services-oss", "services-s3", "services-webdav", "services-webhdfs", "services-azfile", "layers-blocking", "layers-throttle", "services-yandex-disk"], optional = true }
[target.'cfg(windows)'.dependencies]
# opendal backend
opendal = { version = "0.50.2", features = ["services-b2", "services-swift", "services-azblob", "services-azdls", "services-cos", "services-fs", "services-ftp", "services-dropbox", "services-gdrive", "services-gcs", "services-ghac", "services-http", "services-ipmfs", "services-memory", "services-obs", "services-onedrive", "services-oss", "services-s3", "services-webdav", "services-webhdfs", "services-azfile", "layers-blocking", "layers-throttle", "services-yandex-disk"], optional = true }
[dev-dependencies]
anyhow = { workspace = true }
rstest = { workspace = true }
toml = "0.8.19"
[lints]
workspace = true