Use redhat java extension embedded JDK to laucnh LS
This commit is contained in:
14
vscode-extensions/commons-vscode/package-lock.json
generated
14
vscode-extensions/commons-vscode/package-lock.json
generated
@@ -9,7 +9,7 @@
|
||||
"version": "0.2.4",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@pivotal-tools/jvm-launch-utils": "0.0.17",
|
||||
"@pivotal-tools/jvm-launch-utils": "0.0.18",
|
||||
"deep-equal": "^2.0.5",
|
||||
"portfinder": "^1.0.28"
|
||||
},
|
||||
@@ -25,9 +25,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@pivotal-tools/jvm-launch-utils": {
|
||||
"version": "0.0.17",
|
||||
"resolved": "https://registry.npmjs.org/@pivotal-tools/jvm-launch-utils/-/jvm-launch-utils-0.0.17.tgz",
|
||||
"integrity": "sha512-W7evOmGDaWQSpBNcvMmKXpHw2PZ0jBI2REA84DQSmDds+1X0OGcwiu9uaAnGwKzS2zscueZCsPow8aRN6jucFg=="
|
||||
"version": "0.0.18",
|
||||
"resolved": "https://registry.npmjs.org/@pivotal-tools/jvm-launch-utils/-/jvm-launch-utils-0.0.18.tgz",
|
||||
"integrity": "sha512-gxtow7DYXfFW82rxnSwZmskHS5YkYyFGBaWAnUXw4/oKqcHo2m8Bw86mZjldwrepOyc1nTAx3wrH/+Rb5ZtImA=="
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "16.11.11",
|
||||
@@ -809,9 +809,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@pivotal-tools/jvm-launch-utils": {
|
||||
"version": "0.0.17",
|
||||
"resolved": "https://registry.npmjs.org/@pivotal-tools/jvm-launch-utils/-/jvm-launch-utils-0.0.17.tgz",
|
||||
"integrity": "sha512-W7evOmGDaWQSpBNcvMmKXpHw2PZ0jBI2REA84DQSmDds+1X0OGcwiu9uaAnGwKzS2zscueZCsPow8aRN6jucFg=="
|
||||
"version": "0.0.18",
|
||||
"resolved": "https://registry.npmjs.org/@pivotal-tools/jvm-launch-utils/-/jvm-launch-utils-0.0.18.tgz",
|
||||
"integrity": "sha512-gxtow7DYXfFW82rxnSwZmskHS5YkYyFGBaWAnUXw4/oKqcHo2m8Bw86mZjldwrepOyc1nTAx3wrH/+Rb5ZtImA=="
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "16.11.11",
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"prepack": "tsc -p ./"
|
||||
},
|
||||
"dependencies": {
|
||||
"@pivotal-tools/jvm-launch-utils": "0.0.17",
|
||||
"@pivotal-tools/jvm-launch-utils": "0.0.18",
|
||||
"deep-equal": "^2.0.5",
|
||||
"portfinder": "^1.0.28"
|
||||
},
|
||||
|
||||
@@ -108,6 +108,21 @@ function getJdtUserDefinedJavaHome(log: VSCode.OutputChannel): string {
|
||||
return javaHome;
|
||||
}
|
||||
|
||||
function findJdtEmbeddedJRE(): string | undefined{
|
||||
const javaExtension = VSCode.extensions.getExtension('redhat.java');
|
||||
if (javaExtension) {
|
||||
const jreHome = Path.resolve(javaExtension.extensionPath, 'jre');
|
||||
if (FS.existsSync(jreHome) && FS.statSync(jreHome).isDirectory()) {
|
||||
const candidates = FS.readdirSync(jreHome);
|
||||
for (const candidate of candidates) {
|
||||
if (FS.existsSync(Path.join(jreHome, candidate, "bin"))) {
|
||||
return Path.join(jreHome, candidate);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function activate(options: ActivatorOptions, context: VSCode.ExtensionContext): Thenable<LanguageClient> {
|
||||
if (options.CONNECT_TO_LS) {
|
||||
return VSCode.window.showInformationMessage("Start language server")
|
||||
@@ -123,6 +138,7 @@ export function activate(options: ActivatorOptions, context: VSCode.ExtensionCon
|
||||
let findJRE = options.preferJdk ? findJdk : findJvm;
|
||||
|
||||
return findJRE(getSpringUserDefinedJavaHome(options.workspaceOptions, clientOptions.outputChannel)
|
||||
|| findJdtEmbeddedJRE()
|
||||
|| getJdtUserDefinedJavaHome(clientOptions.outputChannel),
|
||||
msg => clientOptions.outputChannel.appendLine(msg))
|
||||
.catch(error => {
|
||||
|
||||
Reference in New Issue
Block a user