AI-Studio/runtime/src/main.rs

72 lines
2.7 KiB
Rust
Raw Normal View History

2024-05-12 12:34:29 +00:00
// Prevents an additional console window on Windows in release, DO NOT REMOVE!!
2024-03-28 21:26:48 +00:00
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
2024-09-01 18:10:03 +00:00
extern crate rocket;
extern crate core;
2024-11-05 20:39:21 +00:00
use log::{info, warn};
use mindwork_ai_studio::app_window::start_tauri;
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};
2024-11-05 20:39:21 +00:00
use mindwork_ai_studio::runtime_api::start_runtime_api;
2024-09-01 18:10:03 +00:00
#[tokio::main]
async fn main() {
2024-05-21 16:55:35 +00:00
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);
2024-05-21 16:55:35 +00:00
2024-11-05 20:39:21 +00:00
init_logging();
2024-05-21 16:55:35 +00:00
info!("Starting MindWork AI Studio:");
2024-11-05 20:39:21 +00:00
2024-09-03 14:13:57 +00:00
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})");
2024-05-21 16:55:35 +00:00
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}");
2024-05-21 16:55:35 +00:00
if is_dev() {
warn!("Running in development mode.");
} else {
info!("Running in production mode.");
}
2024-11-05 20:39:21 +00:00
generate_certificate();
start_runtime_api();
start_dotnet_server();
start_tauri();
2024-04-05 20:23:01 +00:00
}