tauri/core/config-schema/build.rs
Amr Bashir a178f95d68
feat: config schema generator (#5193)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2022-10-28 10:44:37 -03:00

26 lines
713 B
Rust

// Copyright 2019-2022 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
use std::{
error::Error,
fs::File,
io::{BufWriter, Write},
path::PathBuf,
};
pub fn main() -> Result<(), Box<dyn Error>> {
let schema = schemars::schema_for!(tauri_utils::config::Config);
let schema_str = serde_json::to_string_pretty(&schema).unwrap();
let crate_dir = PathBuf::from(std::env::var("CARGO_MANIFEST_DIR")?);
for file in [
crate_dir.join("schema.json"),
crate_dir.join("../../tooling/cli/schema.json"),
] {
let mut schema_file = BufWriter::new(File::create(&file)?);
write!(schema_file, "{}", schema_str)?;
}
Ok(())
}