diff --git a/.github/workflows/pr-verify.yml b/.github/workflows/pr-verify.yml index 9240c9a1b..ea385042b 100644 --- a/.github/workflows/pr-verify.yml +++ b/.github/workflows/pr-verify.yml @@ -18,7 +18,7 @@ jobs: - name: Set Up Java uses: actions/setup-java@v4 with: - java-version: '21' + java-version: '25' distribution: 'temurin' - run: npm install -g typescript "@vscode/vsce" - run: wget http://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eafd7f074..790b0c37b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,7 +81,7 @@ jobs: - name: Set Up Java uses: actions/setup-java@v5 with: - java-version: '21' + java-version: '25' distribution: 'temurin' - name: Build JDT-LS if: "${{ inputs.JDT_LS_VERSION == '' }}" @@ -140,7 +140,7 @@ jobs: # Package for each platform (only downloads JDK and creates VSIX, no recompilation) platforms=("win32-x64" "win32-arm64" "linux-x64" "linux-arm64" "darwin-x64" "darwin-arm64") for platform in ${platforms[@]}; do - npm run download-jre -- --target ${platform} --javaVersion 21 + npm run download-jre -- --target ${platform} --javaVersion 25 SKIP_WEBPACK=true vsce package ${{ env.publishPreReleaseFlag }} --target ${platform} -o java-${platform}-${{ env.EXT_VERSION }}-${GITHUB_RUN_NUMBER}.vsix done diff --git a/.sdkmanrc b/.sdkmanrc index d2635abfa..5e93e027e 100644 --- a/.sdkmanrc +++ b/.sdkmanrc @@ -1,3 +1,3 @@ # Enable auto-env through the sdkman_auto_env config # Add key=value pairs of SDKs to use below -java=21.0.5-tem +java=25.0.2-tem diff --git a/README.md b/README.md index 8c6df9cc0..646f5a3fc 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Quick Start ============ 1. Install the Extension 2. On the following platforms, the extension should activate without any setup : `win32-x64`, `win32-arm64`, `darwin-x64`, `darwin-arm64`, `linux-x64`, `linux-arm64`.\ -If on another platform, or using the "universal" version, you can [set](#setting-the-jdk) a _Java_ Development Kit. It must be Java 21 or above. +If on another platform, or using the "universal" version, you can [set](#setting-the-jdk) a _Java_ Development Kit. It must be Java 25 or above. 3. Optionally, download and install a Java Development Kit for your project (Java 1.8 or above is supported). See [Project JDKs](#project-jdks) for more details 4. Extension is activated when you first access a Java file * Recognizes projects with *Maven* or *Gradle* build files in the directory hierarchy. @@ -61,7 +61,7 @@ Now that Java extension will publish platform specific versions, it will embed a The following part is only kept for the universal version without embedded JRE. ->The tooling JDK will be used to launch the Language Server for Java. And by default, will also be used to compile your projects. Java 21 is the minimum required version.\ +>The tooling JDK will be used to launch the Language Server for Java. And by default, will also be used to compile your projects. Java 25 is the minimum required version.\ \ The path to the Java Development Kit can be specified by the `java.jdt.ls.java.home` setting in VS Code settings (workspace/user settings). If not specified, it is searched in the following order until a JDK meets current minimum requirement. >- the `JDK_HOME` environment variable diff --git a/package.json b/package.json index bcba943a7..a7f33f92e 100644 --- a/package.json +++ b/package.json @@ -316,7 +316,7 @@ "null" ], "default": null, - "description": "Specifies the folder path to the JDK (21 or more recent) used to launch the Java Language Server.\nOn Windows, backslashes must be escaped, i.e.\n\"java.home\":\"C:\\\\Program Files\\\\Java\\\\jdk-21.0_5\"", + "description": "Specifies the folder path to the JDK (25 or more recent) used to launch the Java Language Server.\nOn Windows, backslashes must be escaped, i.e.\n\"java.home\":\"C:\\\\Program Files\\\\Java\\\\jdk-25.0.2\"", "scope": "machine-overridable", "deprecationMessage": "This setting is deprecated, please use 'java.jdt.ls.java.home' instead.", "order": 0 @@ -327,7 +327,7 @@ "null" ], "default": null, - "description": "Specifies the folder path to the JDK (21 or more recent) used to launch the Java Language Server. This setting will replace the Java extension's embedded JRE to start the Java Language Server. \n\nOn Windows, backslashes must be escaped, i.e.\n\"java.jdt.ls.java.home\":\"C:\\\\Program Files\\\\Java\\\\jdk-21.0_5\"", + "description": "Specifies the folder path to the JDK (25 or more recent) used to launch the Java Language Server. This setting will replace the Java extension's embedded JRE to start the Java Language Server. \n\nOn Windows, backslashes must be escaped, i.e.\n\"java.jdt.ls.java.home\":\"C:\\\\Program Files\\\\Java\\\\jdk-25.0.2\"", "scope": "machine-overridable", "order": 10 }, diff --git a/scripts/index.mjs b/scripts/index.mjs index ceb5f9c86..e4c16616a 100644 --- a/scripts/index.mjs +++ b/scripts/index.mjs @@ -113,7 +113,7 @@ Commands: repo-fix Fix package-lock.json registry references Examples: - node scripts/index.js download-jre --target darwin-x64 --javaVersion 21 + node scripts/index.js download-jre --target darwin-x64 --javaVersion 25 node scripts/index.js build-or-download node scripts/index.js watch-server `); diff --git a/scripts/jre.mjs b/scripts/jre.mjs index f66f8062f..186e6594c 100644 --- a/scripts/jre.mjs +++ b/scripts/jre.mjs @@ -7,7 +7,7 @@ import { downloadFile, getScriptDir, extractTarGz, handleError, setupMainExecuti const dirname = getScriptDir(); -const LATEST_JRE = 21; +const LATEST_JRE = 25; const platformMapping = { "linux-arm64": "linux-aarch64", diff --git a/src/requirements.ts b/src/requirements.ts index 11c6015f7..164fd3c2a 100644 --- a/src/requirements.ts +++ b/src/requirements.ts @@ -9,7 +9,6 @@ import { Commands } from './commands'; import { logger } from './log'; import { checkJavaPreferences } from './settings'; import { listJdks, sortJdksBySource, sortJdksByVersion } from './jdkUtils'; -import { getJavaConfiguration } from './utils'; /* eslint-disable @typescript-eslint/naming-convention */ export interface RequirementsData { @@ -41,7 +40,7 @@ export async function resolveRequirements(context: ExtensionContext): Promise