[package]
edition = "2021"
rust-version = "1.88"
name = "file-engine"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Async, cross-platform file operations engine for desktop apps and developer tools: copy, move, analyze, watch, compress, and sync files with progress reporting and cancellation."
readme = "README.md"
keywords = [
"filesystem",
"io",
"async",
"tokio",
"copy",
]
categories = [
"filesystem",
"asynchronous",
]
license = "MIT"
repository = "https://github.com/<author>/file-engine"
[features]
analyze = [
"dep:walkdir",
"dep:infer",
]
checksum = [
"analyze",
"dep:blake3",
]
compress = [
"dep:zip",
"dep:flate2",
"dep:walkdir",
]
default = [
"operations",
"analyze",
]
diagnostics = ["dep:error-engine"]
operations = []
permissions = [
"operations",
"dep:nix",
]
sync = [
"operations",
"analyze",
]
watch = ["dep:notify"]
[lib]
name = "file_engine"
path = "src/lib.rs"
[[example]]
name = "basic_copy"
path = "examples/basic_copy.rs"
[[example]]
name = "with_diagnostics"
path = "examples/with_diagnostics.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[dependencies.blake3]
version = "1"
optional = true
[dependencies.error-engine]
version = "0.2"
optional = true
[dependencies.flate2]
version = "1"
optional = true
[dependencies.infer]
version = "0.16"
optional = true
[dependencies.notify]
version = "6"
optional = true
[dependencies.thiserror]
version = "1"
[dependencies.tokio]
version = "1"
features = [
"fs",
"rt",
"rt-multi-thread",
"macros",
"sync",
"io-util",
]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
[dependencies.walkdir]
version = "2"
optional = true
[dependencies.zip]
version = "2"
optional = true
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = ["full"]
[target."cfg(unix)".dependencies.nix]
version = "0.29"
optional = true