[package]
edition = "2021"
rust-version = "1.88"
name = "file-engine"
version = "2.0.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, sync, watch, and compress files with progress reporting and cancellation."
readme = "README.md"
keywords = [
"filesystem",
"io",
"async",
"tokio",
"copy",
]
categories = [
"filesystem",
"asynchronous",
]
license = "MIT"
repository = "https://github.com/naut54/file-engine"
[features]
analyze = [
"dep:walkdir",
"dep:infer",
]
checksum = [
"analyze",
"dep:blake3",
]
compress = [
"operations",
"dep:zip",
"dep:flate2",
]
default = [
"operations",
"analyze",
]
diagnostics = ["dep:error-engine"]
operations = [
"dep:walkdir",
"dep:libc",
"dep:windows-sys",
"dep:unicode-normalization",
]
permissions = ["operations"]
sync = [
"operations",
"analyze",
]
watch = ["dep:notify"]
[lib]
name = "file_engine"
path = "src/lib.rs"
[[example]]
name = "basic_compress"
path = "examples/basic_compress.rs"
required-features = ["compress"]
[[example]]
name = "basic_copy"
path = "examples/basic_copy.rs"
required-features = ["operations"]
[[example]]
name = "basic_move"
path = "examples/basic_move.rs"
required-features = ["operations"]
[[example]]
name = "basic_sync"
path = "examples/basic_sync.rs"
required-features = ["sync"]
[[example]]
name = "basic_watch"
path = "examples/basic_watch.rs"
required-features = ["watch"]
[[example]]
name = "with_diagnostics"
path = "examples/with_diagnostics.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",
"time",
]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
[dependencies.unicode-normalization]
version = "0.1"
optional = true
[dependencies.walkdir]
version = "2"
optional = true
[dependencies.zip]
version = "2"
optional = true
[dev-dependencies.filetime]
version = "0.2"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = ["full"]
[target."cfg(unix)".dependencies.libc]
version = "0.2"
optional = true
[target."cfg(windows)".dependencies.windows-sys]
version = "0.61"
features = [
"Win32_Storage_FileSystem",
"Win32_Foundation",
]
optional = true