diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index a97347d3..8a2243ba 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -9,4 +9,5 @@ pub mod secret; pub mod clipboard; pub mod runtime_api; pub mod certificate; -pub mod file_data; \ No newline at end of file +pub mod file_data; +pub mod metadata; \ No newline at end of file diff --git a/runtime/src/main.rs b/runtime/src/main.rs index ea2972d9..1aa71fcd 100644 --- a/runtime/src/main.rs +++ b/runtime/src/main.rs @@ -10,6 +10,7 @@ use mindwork_ai_studio::certificate::{generate_certificate}; use mindwork_ai_studio::dotnet::start_dotnet_server; use mindwork_ai_studio::environment::is_dev; use mindwork_ai_studio::log::init_logging; +use mindwork_ai_studio::metadata::{MetaData, META_DATA}; use mindwork_ai_studio::runtime_api::start_runtime_api; #[tokio::main] @@ -28,6 +29,21 @@ async fn main() { let architecture = metadata_lines.next().unwrap(); let pdfium_version = metadata_lines.next().unwrap(); + let metadata = MetaData { + architecture: architecture.to_string(), + app_commit_hash: app_commit_hash.to_string(), + app_version: app_version.to_string(), + build_number: build_number.to_string(), + build_time: build_time.to_string(), + dotnet_sdk_version: dotnet_sdk_version.to_string(), + dotnet_version: dotnet_version.to_string(), + mud_blazor_version: mud_blazor_version.to_string(), + rust_version: rust_version.to_string(), + tauri_version: tauri_version.to_string(), + }; + + *META_DATA.lock().unwrap() = Some(metadata); + init_logging(); info!("Starting MindWork AI Studio:"); diff --git a/runtime/src/metadata.rs b/runtime/src/metadata.rs new file mode 100644 index 00000000..29e38adc --- /dev/null +++ b/runtime/src/metadata.rs @@ -0,0 +1,18 @@ +use std::sync::Mutex; +use once_cell::sync::Lazy; + +pub static META_DATA: Lazy>> = Lazy::new(|| Mutex::new(None)); + +#[derive(Clone)] +pub struct MetaData { + pub app_version: String, + pub build_time: String, + pub build_number: String, + pub dotnet_sdk_version: String, + pub dotnet_version: String, + pub rust_version: String, + pub mud_blazor_version: String, + pub tauri_version: String, + pub app_commit_hash: String, + pub architecture: String, +} \ No newline at end of file