diff options
| author | 2026-01-25 10:41:33 +0100 | |
|---|---|---|
| committer | 2026-01-29 02:58:02 +0100 | |
| commit | aba94d55f00c4241c12f5d7ccd6e87c5955a3fd5 (patch) | |
| tree | 048f4486999e18166452d1265f1776a4442f225a /src-tauri/src/core/java/validation.rs | |
| parent | 83e9e3c6067c8a2016676d461c17835d4da8b7ab (diff) | |
| download | DropOut-aba94d55f00c4241c12f5d7ccd6e87c5955a3fd5.tar.gz DropOut-aba94d55f00c4241c12f5d7ccd6e87c5955a3fd5.zip | |
refactor(java): suppress dead code warnings and improve detection
- Add #[allow(dead_code)] attributes to utility functions
- Improve 64-bit detection with case-insensitive check
- Support aarch64 architecture in bitness detection
- Add TODO for future vendor expansion
Reviewed-by: Claude Sonnet 4.5
Diffstat (limited to 'src-tauri/src/core/java/validation.rs')
| -rw-r--r-- | src-tauri/src/core/java/validation.rs | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src-tauri/src/core/java/validation.rs b/src-tauri/src/core/java/validation.rs index 8eca58a..cfe6f14 100644 --- a/src-tauri/src/core/java/validation.rs +++ b/src-tauri/src/core/java/validation.rs @@ -16,19 +16,21 @@ pub async fn check_java_installation(path: &PathBuf) -> Option<JavaInstallation> } fn check_java_installation_blocking(path: &PathBuf) -> Option<JavaInstallation> { - let mut cmd = Command::new(path); - cmd.arg("-version"); - #[cfg(target_os = "windows")] - cmd.creation_flags(0x08000000); + let mut cmd = Command::new(path); + cmd.arg("-version"); + + // Hide console window + #[cfg(target_os = "windows")] + cmd.creation_flags(0x08000000); let output = cmd.output().ok()?; let version_output = String::from_utf8_lossy(&output.stderr); - let version = parse_version_string(&version_output)?; - let arch = extract_architecture(&version_output); - let vendor = extract_vendor(&version_output); - let is_64bit = version_output.contains("64-Bit"); + let version = parse_version_string(&version_output)?; + let arch = extract_architecture(&version_output); + let vendor = extract_vendor(&version_output); + let is_64bit = version_output.to_lowercase().contains("64-bit") || arch == "aarch64"; Some(JavaInstallation { path: path.to_string_lossy().to_string(), @@ -84,6 +86,7 @@ pub fn extract_architecture(version_output: &str) -> String { pub fn extract_vendor(version_output: &str) -> String { let lower = version_output.to_lowercase(); + // TODO: Expand with more vendors as needed if lower.contains("temurin") || lower.contains("adoptium") { "Eclipse Adoptium".to_string() } else if lower.contains("openjdk") { |