mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-07-04 04:02:56 +00:00
Refactored metadata initialization (#441)
This commit is contained in:
parent
b0d4615506
commit
437ea2c243
@ -10,39 +10,12 @@ 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::metadata::MetaData;
|
||||
use mindwork_ai_studio::runtime_api::start_runtime_api;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
let metadata = include_str!("../../metadata.txt");
|
||||
let mut metadata_lines = metadata.lines();
|
||||
let app_version = metadata_lines.next().unwrap();
|
||||
let build_time = metadata_lines.next().unwrap();
|
||||
let build_number = metadata_lines.next().unwrap();
|
||||
let dotnet_sdk_version = metadata_lines.next().unwrap();
|
||||
let dotnet_version = metadata_lines.next().unwrap();
|
||||
let rust_version = metadata_lines.next().unwrap();
|
||||
let mud_blazor_version = metadata_lines.next().unwrap();
|
||||
let tauri_version = metadata_lines.next().unwrap();
|
||||
let app_commit_hash = metadata_lines.next().unwrap();
|
||||
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);
|
||||
let metadata = MetaData::init_from_string(include_str!("../../metadata.txt"));
|
||||
|
||||
init_logging();
|
||||
info!("Starting MindWork AI Studio:");
|
||||
@ -50,14 +23,18 @@ async fn main() {
|
||||
let working_directory = std::env::current_dir().unwrap();
|
||||
info!(".. The working directory is: '{working_directory:?}'");
|
||||
|
||||
info!(".. Version: v{app_version} (commit {app_commit_hash}, build {build_number}, {architecture})");
|
||||
info!(".. Build time: {build_time}");
|
||||
info!(".. .NET SDK: v{dotnet_sdk_version}");
|
||||
info!(".. .NET: v{dotnet_version}");
|
||||
info!(".. Rust: v{rust_version}");
|
||||
info!(".. MudBlazor: v{mud_blazor_version}");
|
||||
info!(".. Tauri: v{tauri_version}");
|
||||
info!(".. PDFium: v{pdfium_version}");
|
||||
info!(".. Version: v{app_version} (commit {hash}, build {build_num}, {architecture})",
|
||||
app_version = metadata.app_version,
|
||||
hash = metadata.app_commit_hash,
|
||||
build_num = metadata.build_number,
|
||||
architecture = metadata.architecture);
|
||||
info!(".. Build time: {build_time}", build_time = metadata.build_time);
|
||||
info!(".. .NET SDK: v{sdk_version}", sdk_version = metadata.dotnet_sdk_version);
|
||||
info!(".. .NET: v{dotnet_version}", dotnet_version = metadata.dotnet_version);
|
||||
info!(".. Rust: v{rust_version}", rust_version = metadata.rust_version);
|
||||
info!(".. MudBlazor: v{mud_blazor_version}", mud_blazor_version = metadata.mud_blazor_version);
|
||||
info!(".. Tauri: v{tauri_version}", tauri_version = metadata.tauri_version);
|
||||
info!(".. PDFium: v{pdfium_version}", pdfium_version = metadata.pdfium_version);
|
||||
|
||||
if is_dev() {
|
||||
warn!("Running in development mode.");
|
||||
|
@ -1,5 +1,5 @@
|
||||
use std::sync::Mutex;
|
||||
use once_cell::sync::Lazy;
|
||||
use std::sync::Mutex;
|
||||
|
||||
pub static META_DATA: Lazy<Mutex<Option<MetaData>>> = Lazy::new(|| Mutex::new(None));
|
||||
|
||||
@ -15,4 +15,46 @@ pub struct MetaData {
|
||||
pub tauri_version: String,
|
||||
pub app_commit_hash: String,
|
||||
pub architecture: String,
|
||||
pub pdfium_version: String,
|
||||
}
|
||||
|
||||
impl MetaData {
|
||||
/// Creates a new instance of `MetaData` from the given metadata string.
|
||||
pub fn init_from_string(metadata: &str) -> Self {
|
||||
|
||||
// When the metadata is already initialized, return the existing instance:
|
||||
if let Some(metadata) = META_DATA.lock().unwrap().as_ref() {
|
||||
return metadata.clone();
|
||||
}
|
||||
|
||||
let mut metadata_lines = metadata.lines();
|
||||
let app_version = metadata_lines.next().unwrap();
|
||||
let build_time = metadata_lines.next().unwrap();
|
||||
let build_number = metadata_lines.next().unwrap();
|
||||
let dotnet_sdk_version = metadata_lines.next().unwrap();
|
||||
let dotnet_version = metadata_lines.next().unwrap();
|
||||
let rust_version = metadata_lines.next().unwrap();
|
||||
let mud_blazor_version = metadata_lines.next().unwrap();
|
||||
let tauri_version = metadata_lines.next().unwrap();
|
||||
let app_commit_hash = metadata_lines.next().unwrap();
|
||||
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(),
|
||||
pdfium_version: pdfium_version.to_string(),
|
||||
};
|
||||
|
||||
*META_DATA.lock().unwrap() = Some(metadata.clone());
|
||||
metadata
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user