Expand description
Build-time code generation for Valence models from valence_schema! and valence_trait_schema! sources.
§Pipeline
- Trait pass — Collect
*_valence_trait.rs(or your configured suffix), parse trait defs, emit shared trait definitions (seegenerate_from_trait_filein the internalcodegenmodule). - Schema pass — For each
*_valence_schema.rs, merge trait fields/connections, validate, then emit structs, connections, CRUD, query builder, metadata, and trait impls into onegenerated_models.rsviagenerate_models.
§Where to read next
build/build_with— one-liner hostbuild.rshelpers.- Internal
codegenmodule — per-schema orchestration and generator dispatch. codegen::parser— sharedvalence_schema_dslparse + lower into generator IR.codegen::generators—proc_macro2::TokenStreambuilders for each emitted surface area.
Structs§
- Build
Options - Overrides for
build_with. - Codegen
Config - Configuration for model code generation from schema files
- Parsed
Trait Def - Parsed trait definition from a
valence_trait_schema!file (generator IR).
Constants§
- DEFAULT_
SCHEMAS_ SUBDIR - Default schemas subdirectory under
CARGO_MANIFEST_DIR. - DEFAULT_
SCHEMA_ SUFFIX - Default schema file suffix scanned by
build/generate_models. - DEFAULT_
TRAIT_ SUFFIX - Default trait file suffix scanned by
build/generate_models.
Functions§
- build
- Scan
$CARGO_MANIFEST_DIR/schemasand write$OUT_DIR/generated_models.rs. - build_
with - Like
build, with path/suffix overrides. - generate_
models - Generate model code from schema files in the configured directory