From 206ff50e6d0a42acc5115ea522b9b1a2a9944223 Mon Sep 17 00:00:00 2001 From: Jiaaming <2455951489@qq.com> Date: Thu, 1 Aug 2024 14:31:12 +0800 Subject: [PATCH 1/4] Fix: Task server jdk search sequence --- extension/src/server/serverUtil.ts | 8 ++++++-- extension/src/util/config.ts | 13 ++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/extension/src/server/serverUtil.ts b/extension/src/server/serverUtil.ts index fe786dd6b..9e7f3ddc0 100644 --- a/extension/src/server/serverUtil.ts +++ b/extension/src/server/serverUtil.ts @@ -1,8 +1,9 @@ import { checkEnvJavaExecutable, findValidJavaHome, - getConfigJavaImportGradleJavaHome, + getNeededConfigJavaImportGradleJavaHome, getRedHatJavaEmbeddedJRE, + REQUIRED_JDK_VERSION, } from "../util/config"; import { GRADLE_SERVER_BASE_JVM_OPTS } from "../constant"; @@ -26,7 +27,10 @@ export function quoteArg(arg: string): string { } export async function getGradleServerEnv(): Promise { - const javaHome = getConfigJavaImportGradleJavaHome() || getRedHatJavaEmbeddedJRE() || (await findValidJavaHome()); + const javaHome = + (await getNeededConfigJavaImportGradleJavaHome(REQUIRED_JDK_VERSION)) || + getRedHatJavaEmbeddedJRE() || + (await findValidJavaHome()); const env = { ...process.env }; if (javaHome) { Object.assign(env, { diff --git a/extension/src/util/config.ts b/extension/src/util/config.ts index 0e039d8a9..614a4553c 100644 --- a/extension/src/util/config.ts +++ b/extension/src/util/config.ts @@ -7,7 +7,7 @@ import * as fse from "fs-extra"; import * as path from "path"; import { findDefaultRuntimeFromSettings, getMajorVersion, listJdks } from "./jdkUtils"; type AutoDetect = "on" | "off"; -const REQUIRED_JDK_VERSION = 17; +export const REQUIRED_JDK_VERSION = 17; export function getConfigIsAutoDetectionEnabled(rootProject: RootProject): boolean { return ( @@ -29,6 +29,17 @@ export function getConfigJavaImportGradleJavaHome(): string | null { return vscode.workspace.getConfiguration("java").get("import.gradle.java.home", null); } +export async function getNeededConfigJavaImportGradleJavaHome(required_jdk_version: number): Promise { + const javaHome = vscode.workspace.getConfiguration("java").get("import.gradle.java.home", null); + if (javaHome) { + const javaVersion = await getMajorVersion(javaHome); + if (javaVersion >= required_jdk_version) { + return javaHome; + } + } + return null; +} + export function getJavaExecutablePathFromJavaHome(javaHome: string): string { return path.join(javaHome, "bin", JAVA_FILENAME); } From ca366740f118a61d689fb8a3bb343be6acc114d5 Mon Sep 17 00:00:00 2001 From: Jiaaming <2455951489@qq.com> Date: Thu, 1 Aug 2024 14:32:45 +0800 Subject: [PATCH 2/4] Fix: typo --- extension/src/util/config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extension/src/util/config.ts b/extension/src/util/config.ts index 614a4553c..f57586d4f 100644 --- a/extension/src/util/config.ts +++ b/extension/src/util/config.ts @@ -29,11 +29,11 @@ export function getConfigJavaImportGradleJavaHome(): string | null { return vscode.workspace.getConfiguration("java").get("import.gradle.java.home", null); } -export async function getNeededConfigJavaImportGradleJavaHome(required_jdk_version: number): Promise { +export async function getNeededConfigJavaImportGradleJavaHome(requiredJdkVersion: number): Promise { const javaHome = vscode.workspace.getConfiguration("java").get("import.gradle.java.home", null); if (javaHome) { const javaVersion = await getMajorVersion(javaHome); - if (javaVersion >= required_jdk_version) { + if (javaVersion >= requiredJdkVersion) { return javaHome; } } From 33112b26720a3847622d34e75466178fc5bc9e27 Mon Sep 17 00:00:00 2001 From: Jiaaming <2455951489@qq.com> Date: Thu, 1 Aug 2024 15:57:28 +0800 Subject: [PATCH 3/4] rename & add change log --- CHANGELOG.md | 3 ++- extension/src/server/serverUtil.ts | 4 ++-- extension/src/util/config.ts | 4 +++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bc0099aa..854a3013a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## 3.16.1 ## What's Changed * enhancement - Support debug test delegation by @jdneo in https://github.com/microsoft/vscode-gradle/pull/1536 -* fix - Gradle build server cannot be started when path has spaces @Jiaaming in https://github.com/microsoft/vscode-gradle/pull/1542 +* fix - Gradle build server cannot be started when path has spaces by @Jiaaming in https://github.com/microsoft/vscode-gradle/pull/1542 +* fix - Fail to start if import.gradle.java.home jdk version lower than 17 #1547 by @Jiaaming in https://github.com/microsoft/vscode-gradle/pull/1547 ## 3.16.0 ## What's Changed diff --git a/extension/src/server/serverUtil.ts b/extension/src/server/serverUtil.ts index 9e7f3ddc0..192795d02 100644 --- a/extension/src/server/serverUtil.ts +++ b/extension/src/server/serverUtil.ts @@ -1,7 +1,7 @@ import { checkEnvJavaExecutable, findValidJavaHome, - getNeededConfigJavaImportGradleJavaHome, + getConfigJavaImportGradleJavaHomeIfHigherThan, getRedHatJavaEmbeddedJRE, REQUIRED_JDK_VERSION, } from "../util/config"; @@ -28,7 +28,7 @@ export function quoteArg(arg: string): string { export async function getGradleServerEnv(): Promise { const javaHome = - (await getNeededConfigJavaImportGradleJavaHome(REQUIRED_JDK_VERSION)) || + (await getConfigJavaImportGradleJavaHomeIfHigherThan(REQUIRED_JDK_VERSION)) || getRedHatJavaEmbeddedJRE() || (await findValidJavaHome()); const env = { ...process.env }; diff --git a/extension/src/util/config.ts b/extension/src/util/config.ts index f57586d4f..c3469acb1 100644 --- a/extension/src/util/config.ts +++ b/extension/src/util/config.ts @@ -29,7 +29,9 @@ export function getConfigJavaImportGradleJavaHome(): string | null { return vscode.workspace.getConfiguration("java").get("import.gradle.java.home", null); } -export async function getNeededConfigJavaImportGradleJavaHome(requiredJdkVersion: number): Promise { +export async function getConfigJavaImportGradleJavaHomeIfHigherThan( + requiredJdkVersion: number +): Promise { const javaHome = vscode.workspace.getConfiguration("java").get("import.gradle.java.home", null); if (javaHome) { const javaVersion = await getMajorVersion(javaHome); From 62d2613fcc32313129a53867264f7588f7a65e4c Mon Sep 17 00:00:00 2001 From: Jiaaming <2455951489@qq.com> Date: Thu, 1 Aug 2024 15:58:22 +0800 Subject: [PATCH 4/4] rename & add change log --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 854a3013a..9040c3a78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## What's Changed * enhancement - Support debug test delegation by @jdneo in https://github.com/microsoft/vscode-gradle/pull/1536 * fix - Gradle build server cannot be started when path has spaces by @Jiaaming in https://github.com/microsoft/vscode-gradle/pull/1542 -* fix - Fail to start if import.gradle.java.home jdk version lower than 17 #1547 by @Jiaaming in https://github.com/microsoft/vscode-gradle/pull/1547 +* fix - Fail to start if import.gradle.java.home jdk version lower than 17 by @Jiaaming in https://github.com/microsoft/vscode-gradle/pull/1547 ## 3.16.0 ## What's Changed