ljar/Cargo.toml
[package]
name = "ljar"
readme = "README.md"
# 0.2.10: local source DRIFTED from the published 0.2.9 at the SAME version. crates.io
# bytes are immutable, so the edit only reaches a consumer as a new version.
# Bumped 2026-08-23: ALL ELEVEN crates here were drifted, and it was invisible to a
# version survey (local == registry for every one). Gate B found it by compiling
# published znippy-zoomies 0.1.23 and failing on a missing `STree32::len()`.
version = "0.2.11"
edition = "2024"
description = "Pure Rust parallel JAR decompressor — fast Central Directory scan, multi-core DEFLATE decode"
license = "MIT OR Apache-2.0"
repository = "https://git.gunnar.rs/nordisk/znippy-zoomies"
# Development notes, agent instructions and machine-local tooling stay in the
# repository; they are not part of the published crate.
exclude = [
".nornir/",
".github/",
"CLAUDE.md",
"BACKLOG.md",
]
[dependencies]
# The ONE shared no-barrier engine (leaf crate). Per-entry / per-segment
# DEFLATE decode fans out through `gatling_forkjoin::gatling_for_each` — no
# private rayon pool (rayon dropped).
gatling = { path = "../gatling", version = "0.1.13", package = "rotaryengine" }
linflate = { path = "../linflate", version = "0.1.11" }
# Shared streaming-ZIP core (Central Directory parser + parallel DEFLATE
# full-flush split). A JAR is a ZIP, so this machinery is byte-for-byte the
# same as lzip-parallel's — it lives once in znippy-zip-core; ljar re-exports it as
# thin `central_dir` / `deflate_scan` wrappers.
znippy-zip-core = { path = "../znippy-zip-core", version = "0.1.1" }
flate2 = { version = "1", optional = true, default-features = false, features = ["zlib-ng-compat"] }
zip = { version = "9.0.5", optional = true }
miniz_oxide = { version = "0.9", optional = true }
# testmatrix feature only; path dep to sibling nornir repo, off by default.
nornir-testmatrix = { version = "0.2", default-features = false, optional = true }
[features]
default = []
zlib-ng = ["dep:flate2"]
gen = ["dep:zip", "dep:miniz_oxide"]
# `testmatrix` — nornir functional-status rows; no-op + no nornir dep by default.
testmatrix = ["dep:nornir-testmatrix", "nornir-testmatrix/testmatrix"]
[dev-dependencies]
zip = "9.0.5"
tempfile = "3"
miniz_oxide = "0.9"
criterion = { version = "0.8", features = ["html_reports"] }
[[bench]]
name = "inflate_bench"
harness = false
[[bench]]
name = "chunk_into"
harness = false
[[bin]]
name = "ljar"
path = "src/bin/ljar.rs"
[[bin]]
name = "bench_inflate_cmp"
path = "src/bin/bench_inflate_cmp.rs"
required-features = ["gen"]
[[bin]]
name = "bench_large"
path = "src/bin/bench_large.rs"
required-features = ["gen"]
[[bin]]
name = "gen_large_zip"
path = "src/bin/gen_large_zip.rs"
required-features = ["gen"]
[lib]
doctest = false