[package]
edition = "2024"
rust-version = "1.90"
name = "oxidelta"
version = "0.1.4"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "VCDIFF (RFC 3284) delta encoder/decoder — Rust reimplementation of xdelta3"
homepage = "https://github.com/sockudo/oxidelta"
documentation = "https://docs.rs/oxidelta"
readme = "README.md"
keywords = [
"delta",
"vcdiff",
"xdelta",
"patch",
"compression",
]
categories = [
"compression",
"encoding",
"command-line-utilities",
]
license = "MIT"
repository = "https://github.com/sockudo/oxidelta"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[package.metadata.dist]
cargo-dist-version = "0.27.1"
ci = "github"
installers = [
"shell",
"powershell",
"homebrew",
"msi",
]
targets = [
"x86_64-unknown-linux-gnu",
"aarch64-unknown-linux-gnu",
"x86_64-apple-darwin",
"aarch64-apple-darwin",
"x86_64-pc-windows-msvc",
"aarch64-pc-windows-msvc",
]
pr-run-mode = "plan"
[features]
adler32 = ["dep:simd-adler32"]
cli = [
"dep:clap",
"dep:env_logger",
"dep:serde_json",
]
default = [
"cli",
"adler32",
"lzma-secondary",
"zlib-secondary",
"file-io",
]
file-io = ["dep:sha2"]
fuzzing = []
lzma-secondary = ["dep:lzma-rs"]
parallel = ["dep:rayon"]
simd = []
zlib-secondary = ["dep:flate2"]
[lib]
name = "oxidelta"
path = "src/lib.rs"
[[bin]]
name = "oxidelta"
path = "src/main.rs"
[[example]]
name = "basic_encode_decode"
path = "examples/basic_encode_decode.rs"
[[example]]
name = "bench"
path = "examples/bench.rs"
[[example]]
name = "custom_backend"
path = "examples/custom_backend.rs"
[[example]]
name = "integration_pipeline"
path = "examples/integration_pipeline.rs"
[[example]]
name = "library_usage"
path = "examples/library_usage.rs"
[[example]]
name = "ratio_debug"
path = "examples/ratio_debug.rs"
[[example]]
name = "trace_hash"
path = "examples/trace_hash.rs"
[[example]]
name = "trace_hash2"
path = "examples/trace_hash2.rs"
[[example]]
name = "trace_match"
path = "examples/trace_match.rs"
[[test]]
name = "cli_integration"
path = "tests/cli_integration.rs"
[[test]]
name = "compress_integration"
path = "tests/compress_integration.rs"
[[test]]
name = "large_file_integration"
path = "tests/large_file_integration.rs"
[[test]]
name = "proptest_properties"
path = "tests/proptest_properties.rs"
[[test]]
name = "regression_vectors"
path = "tests/regression_vectors.rs"
[[test]]
name = "vcdiff_integration"
path = "tests/vcdiff_integration.rs"
[[bench]]
name = "criterion_benchmarks"
path = "benches/criterion_benchmarks.rs"
harness = false
[dependencies.bitflags]
version = "2"
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.env_logger]
version = "0.11"
optional = true
[dependencies.flate2]
version = "1"
features = ["zlib-rs"]
optional = true
[dependencies.log]
version = "0.4"
[dependencies.lzma-rs]
version = "0.3"
optional = true
[dependencies.rayon]
version = "1.10"
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.sha2]
version = "0.10"
optional = true
[dependencies.simd-adler32]
version = "0.3"
optional = true
[dependencies.thiserror]
version = "2"
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
default-features = false
[dev-dependencies.proptest]
version = "1.6"
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.tempfile]
version = "3.14"
[dev-dependencies.xdelta3]
version = "0.1.5"
[profile.dist]
lto = "fat"
codegen-units = 1
inherits = "release"
strip = true
[profile.pgo-generate]
lto = "off"
codegen-units = 16
debug = 1
inherits = "release"
strip = false
[profile.pgo-use]
lto = "fat"
codegen-units = 1
inherits = "release"
strip = true
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"
incremental = false
strip = true