Closed NotizMe closed 3 years ago
The crate you're referring to, known internally to this repo as jtd_codegen_core
, isn't meant to be generally usable. The version published on Crates.io is from a previous design of the jtd-codegen
codebase, where all code generation targets were in a single tool.
I'm afraid I can't at this time commit to maintaining a Rust interface to the jtd-codegen
system. My recommendation, at least for now, is that you instead depend on the jtd-codegen
binary, even if you're ultimately invoking it from build.rs
.
Sorry for the inconvenience. I won't be yanking the published crate, because I'm sure some folks have come to depend on it. But it's not the recommended path, and I don't think using the crate directly is a documented option anywhere.
That's a bummer.
Being able to invoke from build.rs
was a really nice feature to have, just like prost_build
for Protobuf and Diesel migrations/schema inferal, I'll have to find another way to compile all my JTDs before cargo build
I don't know the Rust ecosystem at all, so I might have asked the wrong question. I'm actually just looking for a convenient way to get the jtd-codegen binary on my workstation and build agents.
With go I would do something along these lines
go run github.com/jsontypedef/json-typedef-codegen/cmd/cli
and the Go compiler would download the version noted in my go.mod file, compile it and run it.
In most other cases we'd use a package manager:
I'm just looking for a more reproducible and maintainable way to get the jtd-codegen binary. Anything that isn't "download the binary from this website and to update it, just overwrite it" basically 😉
The crate at crates.io is still at version 0.2.0-beta.1.
https://crates.io/crates/jtd-codegen/versions
Would it be possible to update it?