[package]
edition = "2024"
name = "hexz-cli"
version = "0.8.2"
authors = ["Will McCallion"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "CLI tool for managing Hexz deduplicated archives"
readme = "README.md"
keywords = [
"archive",
"deduplication",
"storage",
"snapshot",
]
categories = [
"compression",
"filesystem",
]
license = "Apache-2.0"
repository = "https://github.com/hexz-org/hexz"
resolver = "2"
[features]
compression-zstd = [
"hexz-core/compression-zstd",
"hexz-ops/compression-zstd",
]
default = [
"fuse",
"server",
"compression-zstd",
"encryption",
"diagnostics",
"signing",
"s3",
]
diagnostics = []
encryption = [
"hexz-core/encryption",
"hexz-ops/encryption",
]
fuse = [
"dep:hexz-fuse",
"dep:daemonize",
"dep:fuser",
]
s3 = ["hexz-store/s3"]
server = [
"dep:hexz-server",
"dep:daemonize",
]
signing = [
"hexz-common/signing",
"hexz-ops/signing",
]
[lib]
name = "hexz_cli"
path = "src/lib.rs"
bench = false
[[bin]]
name = "hexz"
path = "src/main.rs"
bench = false
[dependencies.anyhow]
version = "1.0"
[dependencies.bincode]
version = "1.3"
[dependencies.blake3]
version = "1.5"
[dependencies.clap]
version = "4.4"
features = ["derive"]
[dependencies.colored]
version = "3.1.1"
[dependencies.crc32fast]
version = "1.3"
[dependencies.ctrlc]
version = "3.5.1"
[dependencies.daemonize]
version = "0.5"
optional = true
[dependencies.fuser]
version = "0.14"
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.hexz-common]
version = "0.8.1"
default-features = false
[dependencies.hexz-core]
version = "0.8.1"
default-features = false
[dependencies.hexz-fuse]
version = "0.8.1"
optional = true
[dependencies.hexz-ops]
version = "0.8.1"
[dependencies.hexz-server]
version = "0.8.1"
optional = true
[dependencies.hexz-store]
version = "0.8.1"
[dependencies.indicatif]
version = "0.17"
[dependencies.libc]
version = "0.2.180"
[dependencies.lz4_flex]
version = "0.11"
[dependencies.rpassword]
version = "7.0"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.tar]
version = "0.4"
[dependencies.tempfile]
version = "3.10"
[dependencies.tokio]
version = "1.0"
features = ["full"]
[dependencies.walkdir]
version = "2.4"
[dev-dependencies.assert_cmd]
version = "2.0"
[dev-dependencies.bytes]
version = "1.5"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.flate2]
version = "1.0"
[dev-dependencies.predicates]
version = "3.0"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.rayon]
version = "1.10"
[lints.clippy]
cast_lossless = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
expect_used = "deny"
inline_always = "allow"
match_same_arms = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
must_use_candidate = "allow"
option_if_let_else = "allow"
redundant_pub_crate = "allow"
similar_names = "allow"
todo = "deny"
too_many_lines = "allow"
undocumented_unsafe_blocks = "deny"
unimplemented = "deny"
unwrap_used = "deny"
[lints.clippy.cargo]
level = "deny"
priority = -1
[lints.clippy.nursery]
level = "deny"
priority = -1
[lints.clippy.pedantic]
level = "deny"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"
unsafe_code = "deny"
unused_results = "warn"
[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1
[lints.rustdoc]
all = "deny"
broken_intra_doc_links = "deny"
missing_crate_level_docs = "deny"