in src/java-runtime/index.ts [250:275]
async function getProjectRuntimesFromPM(): Promise<ProjectRuntimeEntry[]> {
const ret: ProjectRuntimeEntry[] = [];
const projectManagerExt = vscode.extensions.getExtension("vscjava.vscode-java-dependency");
if (vscode.workspace.workspaceFolders && projectManagerExt && projectManagerExt.isActive) {
let projects: any[] = [];
for (const wf of vscode.workspace.workspaceFolders) {
try {
projects = await vscode.commands.executeCommand("java.execute.workspaceCommand", "java.project.list", wf.uri.toString()) || [];
} catch (error) {
console.error(error);
}
for (const project of projects) {
const runtimeSpec = await getRuntimeSpec(project.uri);
const projectType: ProjectType = await getProjectType(vscode.Uri.parse(project.uri).fsPath);
ret.push({
name: project.displayName || project.name,
rootPath: project.uri,
projectType,
...runtimeSpec
});
}
}
}
return ret;
}