From 74b7018bf3e9316688ecd17501134966a8ece027 Mon Sep 17 00:00:00 2001 From: worksofliam Date: Tue, 26 Aug 2025 11:19:08 -0400 Subject: [PATCH 1/3] Ability to set the Java version in the VS Code settings Signed-off-by: worksofliam --- package.json | 15 +++++++++++++++ src/connection/serverComponent.ts | 6 +++++- src/contributes.json | 15 +++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 6acf73f2..2708161a 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,21 @@ "description": "Saved configs for", "default": {}, "additionalProperties": true + }, + "vscode-db2i.jobJava": { + "type": "string", + "description": "Java version for Server Component", + "default": "/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/bin/java", + "enum": [ + "/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/bin/java", + "/QOpenSys/QIBM/ProdData/JavaVM/jdk17/64bit/bin/java", + "/QOpenSys/QIBM/ProdData/JavaVM/jdk21/64bit/bin/java" + ], + "enumDescriptions": [ + "Java 8 (system default)", + "Java 17", + "Java 21" + ] } } }, diff --git a/src/connection/serverComponent.ts b/src/connection/serverComponent.ts index a55fd42a..4ce9605d 100644 --- a/src/connection/serverComponent.ts +++ b/src/connection/serverComponent.ts @@ -10,8 +10,10 @@ import { SERVER_VERSION_FILE } from "./SCVersion"; import IBMi from "@halcyontech/vscode-ibmi-types/api/IBMi"; import * as Crypto from 'crypto'; import { readFileSync } from "fs"; +import Configuration from "../configuration"; const ExecutablePathDir = `$HOME/.vscode/`; +const DEFAULT_JAVA_EIGHT = `/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/bin/java`; export enum UpdateStatus { FAILED, @@ -50,8 +52,10 @@ export class ServerComponent { static getInitCommand(): string | undefined { const path = this.getComponentPath(); + const jvmVersion = Configuration.get(`jobJava`) || DEFAULT_JAVA_EIGHT; + if (path) { - return `/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/bin/java -Dos400.stdio.convert=N -jar ${path} --single` + return `${jvmVersion} -Dos400.stdio.convert=N -jar ${path} --single` } } diff --git a/src/contributes.json b/src/contributes.json index 7368a32f..1c32955d 100644 --- a/src/contributes.json +++ b/src/contributes.json @@ -21,6 +21,21 @@ "description": "Saved configs for", "default": {}, "additionalProperties": true + }, + "vscode-db2i.jobJava": { + "type": "string", + "description": "Java version for Server Component", + "default": "/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/bin/java", + "enum": [ + "/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/bin/java", + "/QOpenSys/QIBM/ProdData/JavaVM/jdk17/64bit/bin/java", + "/QOpenSys/QIBM/ProdData/JavaVM/jdk21/64bit/bin/java" + ], + "enumDescriptions": [ + "Java 8 (system default)", + "Java 17", + "Java 21" + ] } } }, From bac0b907a189f7859be2538382aa7b549d1ab9aa Mon Sep 17 00:00:00 2001 From: worksofliam Date: Tue, 26 Aug 2025 15:56:58 -0400 Subject: [PATCH 2/3] Add Java 11 as an option Signed-off-by: worksofliam --- src/contributes.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/contributes.json b/src/contributes.json index 1c32955d..c6a60d94 100644 --- a/src/contributes.json +++ b/src/contributes.json @@ -28,11 +28,13 @@ "default": "/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/bin/java", "enum": [ "/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/bin/java", + "/QOpenSys/QIBM/ProdData/JavaVM/jdk11/64bit/bin/java", "/QOpenSys/QIBM/ProdData/JavaVM/jdk17/64bit/bin/java", "/QOpenSys/QIBM/ProdData/JavaVM/jdk21/64bit/bin/java" ], "enumDescriptions": [ "Java 8 (system default)", + "Java 11", "Java 17", "Java 21" ] From 27fc6e0de4f336082926a47dc5a31a92f79f0405 Mon Sep 17 00:00:00 2001 From: worksofliam Date: Wed, 27 Aug 2025 08:52:36 -0400 Subject: [PATCH 3/3] Update package JSON from build Signed-off-by: worksofliam --- package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package.json b/package.json index 2708161a..4c6bbced 100644 --- a/package.json +++ b/package.json @@ -69,11 +69,13 @@ "default": "/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/bin/java", "enum": [ "/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/bin/java", + "/QOpenSys/QIBM/ProdData/JavaVM/jdk11/64bit/bin/java", "/QOpenSys/QIBM/ProdData/JavaVM/jdk17/64bit/bin/java", "/QOpenSys/QIBM/ProdData/JavaVM/jdk21/64bit/bin/java" ], "enumDescriptions": [ "Java 8 (system default)", + "Java 11", "Java 17", "Java 21" ]