use RustQ.Config # Read the shared schema from source rather than a potentially stale project BEAM. Code.require_file("lib/laughter/rewriter/content.ex") require_file("codegen/rewrite.exs") require_file("codegen/events.exs") require_file("codegen/nif.exs") generate "native/laughter_nif/src/generated_rewrite.rs" do content( RustQ.render!("__rq_items!();", "generated_rewrite.rs", splice: [items: Laughter.Codegen.Rewrite.items()], rustfmt: true, preamble: "// This file is generated by RustQ. Do not edit by hand.\n\n" ) ) end generate "native/laughter_nif/src/generated_events.rs" do content( RustQ.render!("__rq_items!();", "generated_events.rs", splice: [items: Laughter.Codegen.Events.items()], rustfmt: true, preamble: "// This file is generated by RustQ. Do not edit by hand.\n\n" ) ) end generate "lib/laughter/nif/generated_stubs.ex" do content(Laughter.Codegen.Nif.stubs()) end