rocfl 1.6.3

A Rust CLI for OCFL repositories
Documentation
[package]
name = "rocfl"
version = "1.6.3"
authors = ["Peter Winckles <pwinckles@pm.me>"]
edition = "2021"
description= "A Rust CLI for OCFL repositories"
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/pwinckles/rocfl"
homepage = "https://github.com/pwinckles/rocfl"
documentation = "https://docs.rs/rocfl/"

#[profile.test]
#opt-level = 3

[features]
default = ["s3"]
s3 = ["bytes", "futures", "rusoto_core", "rusoto_credential", "rusoto_s3", "tokio"]

[[bin]]
name = "rocfl"
path = "src/bin/rocfl.rs"

[dependencies]
# General
once_cell = "1"

# Time
chrono = { version = "0.4", features = ["serde"] }

# Errors
# TODO consider switching to snafu
thiserror = "1"

# Strings
natord = "1"
percent-encoding="2"
regex = "1"
unicode-width = "0.1"
uriparse = "0.6"

# Enum features
enum_dispatch = "0.3"
strum = "0.23"
strum_macros = "0.23"

# Path handling
pathdiff = "0.2"
remove_dir_all = "0.7" # https://github.com/rust-lang/rust/issues/29497
walkdir = "2"

# CLI
clap = { version = "3", features = ["derive"] }
ansi_term = "0.12"
ctrlc = "3"
atty = "0.2"

# Logging
log = "0.4"
env_logger = "0.9"

# Digests
digest = "0.10"
blake2 = "0.10"
hex = "0.4"
md-5 = "0.10"
sha-1 = "0.10"
sha2 = "0.10"

# Search
globset = "0.4"
grep-matcher = "0.1"
grep-searcher = "0.1"
grep-regex = "0.1"

# Config
directories = "4"
toml = "0.5"
edit = "0.1"

# Serialization
serde = { version = "1", features = ["derive", "rc"] }
serde_json = "1"

# AWS S3
bytes = { version = "1", optional = true }
futures = { version = "0.3", optional = true }
rusoto_core = { version = "0.47", default_features = false, features =["rustls"], optional = true }
rusoto_credential = { version = "0.47", optional = true }
rusoto_s3 = { version = "0.47", default_features = false, features = ["rustls"], optional = true }
tokio = { version = "1", features = ["fs"], optional = true }

[dev-dependencies]
assert_cmd = "1"
assert_fs = "1"
fs_extra = "1"
maplit = "1"
predicates = "2"
rand = "0.8"
tempfile = "3"
tokio-test = "0.4"
# TODO time switching hash impl
#fxhash = "0.2"
# TODO experiment with https://crates.io/crates/criterion/0.2.11