mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 03:00:48 +00:00
31 lines
921 B
Rust
31 lines
921 B
Rust
use std::fs;
|
|
use std::io::{self, Write};
|
|
use std::path::Path;
|
|
|
|
use sandbox_agent_core::router::ApiDoc;
|
|
use utoipa::OpenApi;
|
|
|
|
fn main() {
|
|
emit_stdout("cargo:rerun-if-changed=../sandbox-agent/src/router.rs");
|
|
emit_stdout("cargo:rerun-if-changed=../sandbox-agent/src/lib.rs");
|
|
|
|
let out_dir = std::env::var("OUT_DIR").expect("OUT_DIR not set");
|
|
let out_path = Path::new(&out_dir).join("openapi.json");
|
|
|
|
let openapi = ApiDoc::openapi();
|
|
let json = serde_json::to_string_pretty(&openapi)
|
|
.expect("Failed to serialize OpenAPI spec");
|
|
|
|
fs::write(&out_path, json).expect("Failed to write OpenAPI spec");
|
|
emit_stdout(&format!(
|
|
"cargo:warning=Generated OpenAPI spec at {}",
|
|
out_path.display()
|
|
));
|
|
}
|
|
|
|
fn emit_stdout(message: &str) {
|
|
let mut out = io::stdout();
|
|
let _ = out.write_all(message.as_bytes());
|
|
let _ = out.write_all(b"\n");
|
|
let _ = out.flush();
|
|
}
|