diff --git a/.gitignore b/.gitignore index 2d43a5335..2029f254d 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,6 @@ build # build plugin jar files gradle-server/src/main/resources/*.jar + +# Ignore user-specified .tool-versions file (asdf-vm configuration) +.tool-versions diff --git a/README.md b/README.md index 8c6e5de4f..e62566b9b 100644 --- a/README.md +++ b/README.md @@ -211,7 +211,7 @@ We will continue improving the auto completion feature to support more cases in -## VS Code Settings +## Extension Settings This extension contributes the following settings: @@ -241,15 +241,18 @@ Use an environment manager like [direnv](https://direnv.net/) to set project spe ## Compatibility with the [Java language support](https://github.com/redhat-developer/vscode-java) extension -### VS Code Settings +### Java-Specific Settings This extension supports the following settings which are contributed by the [Java language support](https://github.com/redhat-developer/vscode-java) extension: -- `java.home`: Absolute path to JDK home folder used to launch the Gradle daemons +- `java.home`: (**deprecated** Please use `java.jdt.ls.java.home` as given below) Absolute path to JDK home folder used to launch the Gradle daemons +- `java.jdt.ls.java.home`: Absolute path to JDK home folder as per the latest VS code, used to launch the Gradle daemons - `java.import.gradle.java.home`: Absolute path to JDK home folder used to launch the Gradle daemons (if set, this value takes precedence over `java.home`) - `java.import.gradle.user.home`: Setting for `GRADLE_USER_HOME` - `java.import.gradle.jvmArguments`: JVM arguments to pass to Gradle -> Note: There should be a space ` ` between two arguments + + >Note: There should be a `space` between two arguments + - `java.import.gradle.wrapper.enabled`: Enable/disable the Gradle wrapper - `java.import.gradle.version`: Gradle version, used if the Gradle wrapper is missing or disabled - `java.import.gradle.home`: Use Gradle from the specified local installation directory or GRADLE_HOME if the Gradle wrapper is missing or disabled and no 'java.import.gradle.version' is specified. diff --git a/extension/src/Extension.ts b/extension/src/Extension.ts index 87f39f4e5..4fbde9ac8 100644 --- a/extension/src/Extension.ts +++ b/extension/src/Extension.ts @@ -313,6 +313,7 @@ export class Extension { vscode.workspace.onDidChangeConfiguration(async (event: vscode.ConfigurationChangeEvent) => { if ( event.affectsConfiguration("java.home") || + event.affectsConfiguration("java.jdt.ls.java.home") || event.affectsConfiguration("java.import.gradle.java.home") ) { await this.restartServer(); diff --git a/extension/src/languageServer/languageServer.ts b/extension/src/languageServer/languageServer.ts index 7d1236196..c6c90ac76 100644 --- a/extension/src/languageServer/languageServer.ts +++ b/extension/src/languageServer/languageServer.ts @@ -56,12 +56,15 @@ export async function startLanguageServer( if (!javaHome) { void vscode.window .showErrorMessage( - 'There is no valid JAVA_HOME setting to launch Gradle Language Server. Please check your "java.home" setting.', + 'There is no valid JAVA_HOME setting to launch Gradle Language Server. Please check your "java.jdt.ls.java.home" setting.', "Open Settings" ) .then((answer) => { if (answer === "Open Settings") { - void vscode.commands.executeCommand("workbench.action.openSettings", "java.home"); + void vscode.commands.executeCommand( + "workbench.action.openSettings", + "java.jdt.ls.java.home" + ); } }); return; diff --git a/extension/src/util/config.ts b/extension/src/util/config.ts index c9b5fd923..5031cb796 100644 --- a/extension/src/util/config.ts +++ b/extension/src/util/config.ts @@ -16,12 +16,16 @@ export function getConfigJavaHome(): string | null { return vscode.workspace.getConfiguration("java").get("home", null); } +export function getJdtlsConfigJavaHome(): string | null { + return vscode.workspace.getConfiguration("java").get("jdt.ls.java.home", null); +} + export function getConfigJavaImportGradleJavaHome(): string | null { return vscode.workspace.getConfiguration("java").get("import.gradle.java.home", null); } export function getConfigGradleJavaHome(): string | null { - return getConfigJavaImportGradleJavaHome() || getConfigJavaHome(); + return getConfigJavaImportGradleJavaHome() || getJdtlsConfigJavaHome() || getConfigJavaHome(); } export function getConfigJavaImportGradleUserHome(): string | null { diff --git a/gradle-server/build.gradle b/gradle-server/build.gradle index 6ed207c15..cf1e09361 100644 --- a/gradle-server/build.gradle +++ b/gradle-server/build.gradle @@ -86,7 +86,7 @@ jar { } application { - mainClassName = 'com.github.badsyntax.gradle.GradleServer' + mainClass = 'com.github.badsyntax.gradle.GradleServer' } startScripts.enabled = false @@ -108,7 +108,7 @@ task serverStartScripts(type: CreateStartScripts) { dependsOn jar dependsOn 'copyRuntimeLibs' outputDir = file(libsDir) - mainClassName = 'com.github.badsyntax.gradle.GradleServer' + mainClass = 'com.github.badsyntax.gradle.GradleServer' applicationName = project.name classpath = jar.outputs.files defaultJvmOpts = ["-Dfile.encoding=UTF-8"]