ferrosys-cli 0.3.1

Command-line ext2/3/4 formatter, inspector, and extractor built on ferrosys
[package]
name = "ferrosys-cli"
description = "Command-line ext2/3/4 formatter, inspector, and extractor built on ferrosys"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
keywords = ["ext4", "filesystem", "mkfs", "disk-image", "cli"]
categories = ["command-line-utilities", "filesystem"]
# The package's front page on a registry.
readme = "README.md"
# The guide, not docs.rs: the only target here is a binary with `doc = false`, so a
# rustdoc site for this package would be an empty page.
documentation = "https://gregordinary.github.io/ferrosys/cli.html"

# The binary is `ferrosys`; the package it ships in is `ferrosys-cli`.
# `doc = false`: the binary shares the name of the `ferrosys` library, and rustdoc would
# otherwise write both to the same `target/doc/ferrosys` path. The command line is
# documented in the guide, not in rustdoc.
[[bin]]
name = "ferrosys"
path = "src/main.rs"
doc = false

[dependencies]
# The filesystem itself. The `tar` feature carries the archive source `format --from-tar`
# reads, and `dir` the directory walk behind `format --from-dir`. The integration gates
# build filesystems the archive source cannot describe (a socket) and read them back, so
# they drive the library directly as well as the binary; an integration test links a
# normal dependency, so this one entry serves both.
ferrosys = { workspace = true, features = ["tar", "dir"] }
# Typed error enums. Build-time proc-macro only; no runtime footprint. Argument
# parsing is hand-written and takes no dependency.
thiserror = { workspace = true }

[dev-dependencies]
# Scratch images and archives for the integration gates; never shipped.
tempfile = { workspace = true }
# Building the tar archives the round-trip gates feed back in, and reading back the ones
# `extract --to-tar` writes. The binary itself needs no tar crate: it writes archives
# through the library's archive sink, which takes a plain writer.
tar = { workspace = true }