From 088cb54317c5f181ebb9d4d754a8c3d73d351902 Mon Sep 17 00:00:00 2001 From: Josiah Glosson Date: Mon, 7 Jul 2025 14:11:36 -0500 Subject: [PATCH] Fix failure when "Test"ing a Java installation (#3935) * Fix failure when "Test"ing a Java installation * Fix lint --- apps/app-frontend/src/components/ui/JavaSelector.vue | 1 - apps/app-frontend/src/helpers/jre.js | 4 ++-- packages/app-lib/src/api/jre.rs | 12 ++++++++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/apps/app-frontend/src/components/ui/JavaSelector.vue b/apps/app-frontend/src/components/ui/JavaSelector.vue index 9beea538..ebbeed89 100644 --- a/apps/app-frontend/src/components/ui/JavaSelector.vue +++ b/apps/app-frontend/src/components/ui/JavaSelector.vue @@ -108,7 +108,6 @@ async function testJava() { testingJava.value = true testingJavaSuccess.value = await test_jre( props.modelValue ? props.modelValue.path : '', - 1, props.version, ) testingJava.value = false diff --git a/apps/app-frontend/src/helpers/jre.js b/apps/app-frontend/src/helpers/jre.js index 0814e9b0..207c0258 100644 --- a/apps/app-frontend/src/helpers/jre.js +++ b/apps/app-frontend/src/helpers/jre.js @@ -36,8 +36,8 @@ export async function get_jre(path) { // Tests JRE version by running 'java -version' on it. // Returns true if the version is valid, and matches given (after extraction) -export async function test_jre(path, majorVersion, minorVersion) { - return await invoke('plugin:jre|jre_test_jre', { path, majorVersion, minorVersion }) +export async function test_jre(path, majorVersion) { + return await invoke('plugin:jre|jre_test_jre', { path, majorVersion }) } // Automatically installs specified java version diff --git a/packages/app-lib/src/api/jre.rs b/packages/app-lib/src/api/jre.rs index 93a63674..412d4472 100644 --- a/packages/app-lib/src/api/jre.rs +++ b/packages/app-lib/src/api/jre.rs @@ -166,10 +166,18 @@ pub async fn test_jre( path: PathBuf, major_version: u32, ) -> crate::Result { - let Ok(jre) = jre::check_java_at_filepath(&path).await else { - return Ok(false); + let jre = match jre::check_java_at_filepath(&path).await { + Ok(jre) => jre, + Err(e) => { + tracing::warn!("Invalid Java at {}: {e}", path.display()); + return Ok(false); + } }; let version = extract_java_version(&jre.version)?; + tracing::info!( + "Expected Java version {major_version}, and found {version} at {}", + path.display() + ); Ok(version == major_version) }