[package] name = "rocfl" version = "1.7.0" authors = ["Peter Winckles "] edition = "2021" description= "A 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" [profile.release] strip = true [dependencies] # TODO consider https://crates.io/crates/termtree for tree display # TODO consider https://github.com/mitsuhiko/similar for file diffing # TODO https://crates.io/crates/content_inspector for binary/text detection # TODO consider https://crates.io/crates/wild for windows globing # General once_cell = "1" const_format = "0.2" # 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.24" strum_macros = "0.24" # Path handling pathdiff = "0.2" walkdir = "2" # CLI clap = { version = "4", features = ["derive", "deprecated"] } 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.48", default_features = false, features =["rustls"], optional = true } rusoto_credential = { version = "0.48", optional = true } rusoto_s3 = { version = "0.48", 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" trycmd = "0.14" # TODO time switching hash impl #fxhash = "0.2" # TODO experiment with https://crates.io/crates/criterion/0.2.11