in vscode/qodana/src/core/jdk/jbrDownloader.ts [113:135]
export async function downloadAndUnpackJbr(dir: string): Promise<string | undefined> {
let release = await getMatchingReleaseUrl();
if (!release) {
return undefined;
}
let fetchedRelease = await fetchJbr(release!.fileUrl, `${dir}/jbr.tar.gz`);
if (!fetchedRelease) {
return undefined;
}
let pathToExtract = `${dir}/jbr`;
await fs.promises.mkdir(pathToExtract);
let extractedPath = await extractJbr(fetchedRelease, release.fileName, pathToExtract);
await fs.promises.unlink(fetchedRelease);
if (extractedPath) {
try {
await fs.promises.access(extractedPath);
return extractedPath;
} catch (e) {
vscode.window.showErrorMessage(failedToDownloadJbr(extractedPath) + `: ${e}`);
telemetry.errorReceived('#downloadAndUnpack exception');
}
}
}