AI-Studio/runtime/src/main.rs

59 lines
2.1 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;
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
#[cfg(debug_assertions)]
use mindwork_ai_studio::dotnet::create_startup_env_file;
2024-09-01 18:10:03 +00:00
#[tokio::main]
async fn main() {
let metadata = MetaData::init_from_string(include_str!("../../metadata.txt"));
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 {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);
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();
if is_dev() {
#[cfg(debug_assertions)]
create_startup_env_file();
} else {
start_dotnet_server();
}
2024-11-05 20:39:21 +00:00
start_tauri();
2024-04-05 20:23:01 +00:00
}