* basic push

* actual push

* JRE detection, and autosetting

* removed a println, retrying CI/CD

* new game version compare; preset java 7 and 8 using our jre

* 1.8 mislabeled

* working JRE changes

* fixed bugs with JRE setup

* fixed bugs with JRE setup

* manual merge

* prettier

* fixes + jre 17

* clippy, prettier

* typo

* forgot to hook up a function

* pr fix + comment fix

* added loader_version

* take 2
This commit is contained in:
Wyatt Verchere
2023-04-07 13:31:06 -07:00
committed by GitHub
parent 4b41ffbd8a
commit 34005dd2e2
21 changed files with 542 additions and 83 deletions

View File

@@ -1,5 +1,5 @@
//! Theseus profile management interface
use crate::prelude::ModLoader;
use crate::{jre, prelude::ModLoader};
pub use crate::{
state::{JavaSettings, Profile},
State,
@@ -145,6 +145,20 @@ pub async fn profile_create(
}
profile.metadata.linked_project_id = linked_project_id;
// Attempts to find optimal JRE for the profile from the JavaGlobals
// Finds optimal key, and see if key has been set in JavaGlobals
let settings = state.settings.read().await;
let optimal_version_key = jre::get_optimal_jre_key(&profile).await?;
if settings.java_globals.get(&optimal_version_key).is_some() {
profile.set_java_settings(Some(JavaSettings {
jre_key: Some(optimal_version_key),
extra_arguments: None,
}))?;
} else {
println!("Could not detect optimal JRE: {optimal_version_key}, falling back to system default.");
}
{
let mut profiles = state.profiles.write().await;
profiles.insert(profile)?;