Skip to content

Commit c080a0d

Browse files
Use the java_home info exposed by vscode-java to launch debuggee program (#432)
Signed-off-by: Jinbo Wang <[email protected]>
1 parent 447d2df commit c080a0d

File tree

3 files changed

+9
-56
lines changed

3 files changed

+9
-56
lines changed

package-lock.json

Lines changed: 0 additions & 31 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -391,11 +391,8 @@
391391
"vscode": "^1.1.21"
392392
},
393393
"dependencies": {
394-
"expand-home-dir": "0.0.3",
395-
"find-java-home": "^0.2.0",
396394
"lodash": "^4.17.10",
397395
"opn": "^5.3.0",
398-
"path-exists": "^3.0.0",
399396
"vscode-extension-telemetry": "0.0.18",
400397
"vscode-extension-telemetry-wrapper": "^0.3.1"
401398
}

src/utility.ts

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT license.
33

4-
import * as expandHomeDir from "expand-home-dir";
5-
import * as findJavaHome from "find-java-home";
64
import * as opn from "opn";
7-
import * as path from "path";
8-
import * as pathExists from "path-exists";
95
import * as vscode from "vscode";
106
import { logger, Type } from "./logger";
117

@@ -114,24 +110,15 @@ export function formatErrorProperties(ex: any): IProperties {
114110
return properties;
115111
}
116112

117-
export function getJavaHome(): Promise<string> {
118-
const EXE_SUFFIX = process.platform.startsWith("win") ? ".exe" : "";
119-
return new Promise((resolve, reject) => {
120-
let javaHome: string = readJavaConfig() || process.env.JDK_HOME || process.env.JAVA_HOME;
121-
if (javaHome) {
122-
javaHome = expandHomeDir(javaHome);
123-
if (pathExists.sync(javaHome) && pathExists.sync(path.resolve(javaHome, "bin", `javac${EXE_SUFFIX}`))) {
124-
return resolve(javaHome);
125-
}
113+
export async function getJavaHome(): Promise<string> {
114+
const extension = vscode.extensions.getExtension("redhat.java");
115+
try {
116+
const extensionApi = await extension.activate();
117+
if (extensionApi && extensionApi.javaRequirement) {
118+
return extensionApi.javaRequirement.java_home;
126119
}
120+
} catch (ex) {
121+
}
127122

128-
findJavaHome((err, home) => {
129-
resolve(err ? "" : expandHomeDir(home));
130-
});
131-
});
132-
}
133-
134-
function readJavaConfig(): string {
135-
const config = vscode.workspace.getConfiguration();
136-
return config.get<string>("java.home", null);
123+
return "";
137124
}

0 commit comments

Comments
 (0)