From 5d52eed020ea9dd76ec9c819b5e6083e6c1889e3 Mon Sep 17 00:00:00 2001 From: Katarzyna Marek Date: Thu, 29 Feb 2024 20:55:47 +0100 Subject: [PATCH] change regex pattern to find java version --- .../metals-languageclient/src/__tests__/getJavaHome.test.ts | 2 +- packages/metals-languageclient/src/getJavaHome.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/metals-languageclient/src/__tests__/getJavaHome.test.ts b/packages/metals-languageclient/src/__tests__/getJavaHome.test.ts index 6155c474..13373307 100644 --- a/packages/metals-languageclient/src/__tests__/getJavaHome.test.ts +++ b/packages/metals-languageclient/src/__tests__/getJavaHome.test.ts @@ -1,7 +1,7 @@ import { IJavaHomeInfo } from "@viperproject/locate-java-home/js/es5/lib/interfaces"; import path from "path"; -const exampleJavaVersionString = `openjdk 17.0.1 2021-10-19 +const exampleJavaVersionString = `openjdk "17.0.1" 2021-10-19 OpenJDK Runtime Environment (build 17.0.1+12-39) OpenJDK 64-Bit Server VM (build 17.0.1+12-39, mixed mode, sharing)`; diff --git a/packages/metals-languageclient/src/getJavaHome.ts b/packages/metals-languageclient/src/getJavaHome.ts index 7d2fdca0..05e1a52b 100644 --- a/packages/metals-languageclient/src/getJavaHome.ts +++ b/packages/metals-languageclient/src/getJavaHome.ts @@ -34,7 +34,7 @@ export async function getJavaHome( return fromEnvValue ? fromEnvValue : await locate(javaVersion); } -const versionRegex = /\d+\.\d+\.\d+/; +const versionRegex = /\"\d\d/; async function validateJavaVersion( javaHome: string, javaVersion: JavaVersion, @@ -55,7 +55,7 @@ async function validateJavaVersion( const javaInfoStr = (await javaVersionOut).stderr as string; const matches = javaInfoStr.match(versionRegex); if (matches) { - return +matches[0].slice(0, 2) >= +javaVersion; + return +matches[0].slice(1, 3) >= +javaVersion; } } catch (error) { outputChannel.appendLine(`failed while running ${javaBin} -version`);