mirror of
https://github.com/hanzoai/zap.git
synced 2026-10-30 18:17:49 +00:00
The rename to `zapwire` was inert: `cargo publish` refused the manifest
outright with
all dependencies must have a version requirement specified when
publishing. dependency `zapc` does not specify a version
so nothing could leave the workspace, and crates.io still resolved
`hanzo-zap` to THIS repo via 0.2.1 — the collision the rename exists to
end. The build-dependency now carries both a path and a version: the
path is what the workspace builds against, the version is what a
published `zapwire` resolves from crates.io. `zapc` gains the
`repository` link it was missing, since a crate whose repository field
points at the wrong source is precisely how the `hanzo-zap` confusion
started (0.2.1 declares `repository = hanzoai/zap` from a zap-proto/spec
checkout).
crosswire.rs told the reader to regenerate its golden hex with
`tests/gen_golden.go` — a file that does not exist, leaving hand-editing
hex as the only option the comment explicitly forbids. `interop/golden`
is that generator, and it emits the finished Rust `const` lines rather
than bare hex so there is no transcription step to get wrong. Its output
reproduces the committed fixture byte-for-byte.
`go vet ./interop` -> `go vet ./...`, so the new package is covered by
the same gate rather than needing its own line.
make test: 27 lib + 10 crosswire + 2 live-Go interop, green, exit 0.
Co-authored-by: Hanzo Dev <[email protected]>
25 lines
590 B
TOML
25 lines
590 B
TOML
[package]
|
|
name = "zapc"
|
|
version = "1.0.0"
|
|
edition = "2021"
|
|
description = "ZAP schema compiler — parses .zap schema files and emits Rust readers/writers."
|
|
license = "MIT"
|
|
repository = "https://github.com/hanzoai/zap"
|
|
keywords = ["zap", "schema", "codegen", "compiler"]
|
|
categories = ["development-tools", "encoding"]
|
|
|
|
# Used as a library from build.rs and as a CLI binary for ad-hoc
|
|
# generation. Both surfaces share the same Parser → Codegen pipeline.
|
|
|
|
[lib]
|
|
name = "zapc"
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "zapc"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
anyhow = "1.0"
|
|
thiserror = "2"
|