build.rs 731 B

123456789101112131415161718192021222324252627282930
  1. // Copyright 2019-2021 Tauri Programme within The Commons Conservancy
  2. // SPDX-License-Identifier: Apache-2.0
  3. // SPDX-License-Identifier: MIT
  4. #![allow(
  5. // Clippy bug: https://github.com/rust-lang/rust-clippy/issues/7422
  6. clippy::nonstandard_macro_braces,
  7. )]
  8. use std::{
  9. env::current_dir,
  10. error::Error,
  11. fs::File,
  12. io::{BufWriter, Write},
  13. };
  14. mod config_definition;
  15. pub fn main() -> Result<(), Box<dyn Error>> {
  16. let schema = schemars::schema_for!(config_definition::Config);
  17. let schema_file_path = current_dir()?.join("schema.json");
  18. let mut schema_file = BufWriter::new(File::create(&schema_file_path)?);
  19. write!(
  20. schema_file,
  21. "{}",
  22. serde_json::to_string_pretty(&schema).unwrap()
  23. )?;
  24. Ok(())
  25. }