tower-serve-embedded-build 0.2.0

Build-time helper for tower-serve-embedded: walks an asset directory, content-hashes each file, and generates the embedded manifest and `asset!` macro. Use it from your build.rs.
Documentation
# tower-serve-embedded-build

Build-time helper for [`tower-serve-embedded`](https://crates.io/crates/tower-serve-embedded).

Call it from your crate's `build.rs`. It walks an asset directory, content-hashes every file with
BLAKE3, detects MIME types, and generates a Rust file (in `OUT_DIR`) containing the embedded
manifest (`ASSETS`) and a compile-time `asset!` macro. There are **no proc macros** — the generated
code is plain data plus a tiny `macro_rules!`, so IDE support stays sharp.

```toml
# Cargo.toml
[build-dependencies]
tower-serve-embedded-build = "0.1"
```

```rust
// build.rs
fn main() {
    tower_serve_embedded_build::Builder::new("assets") // dir relative to your crate root
        // .immutable_dir("lib")                        // already-versioned deps: serve as-is
        // .hash_length(16)                             // hash chars in filenames/ETags
        .emit()
        .unwrap();
}
```

Then pull the generated code into your crate with
[`tower_serve_embedded::embed!()`](https://crates.io/crates/tower-serve-embedded), which brings the
`ASSETS` static and the crate-local `asset!` macro into scope.

See the [`tower-serve-embedded`](https://crates.io/crates/tower-serve-embedded) crate for the full
story, the runtime `tower::Service`, and runnable `axum`/`actix`/`warp` examples.

## License

MIT OR Apache-2.0.