Stub preserves-schema plugin

This commit is contained in:
Tony Garnock-Jones 2021-08-12 21:06:09 -04:00
parent 0a9f4bd97a
commit 02dae17a4b
1 changed files with 25 additions and 0 deletions

View File

@ -1,5 +1,29 @@
use preserves_schema::compiler::*;
mod syndicate_plugins {
use preserves_schema::compiler::*;
use preserves_schema::gen::schema::*;
// use preserves_schema::syntax::block::constructors::*;
#[derive(Debug)]
pub(super) struct PatternPlugin;
impl Plugin for PatternPlugin {
fn generate(
&self,
m: &mut context::ModuleContext,
_definition_name: &str,
_definition: &Definition,
) {
if m.mode.is_some() {
return;
}
// TODO: Emit code for building instances of sturdy.Pattern and sturdy.Template
}
}
}
fn main() -> std::io::Result<()> {
let buildroot = std::path::PathBuf::from(std::env::var_os("OUT_DIR").unwrap());
@ -7,6 +31,7 @@ fn main() -> std::io::Result<()> {
gen_dir.push("src/schemas");
let mut c = CompilerConfig::new(gen_dir, "crate::schemas".to_owned());
c.plugins.push(Box::new(syndicate_plugins::PatternPlugin));
c.module_aliases.insert(vec!["EntityRef".to_owned()], "crate::actor".to_owned());
let inputs = expand_inputs(&vec!["protocols/schema-bundle.bin".to_owned()])?;