async function handleBuildFailure()

in src/build.ts [45:80]


async function handleBuildFailure(operationId: string, err: any, progressReporter: IProgressReporter): Promise<boolean> {
    const configuration = vscode.workspace.getConfiguration(JAVA_DEBUG_CONFIGURATION);
    const onBuildFailureProceed = configuration.get<boolean>(ON_BUILD_FAILURE_PROCEED);

    if (err instanceof utility.JavaExtensionNotEnabledError) {
        utility.guideToInstallJavaExtension();
        return false;
    }

    const error: Error = new utility.UserError({
        message: "Build failed",
    });
    setErrorCode(error, Number(err));
    sendOperationError(operationId, "build", error);
    if (!onBuildFailureProceed && err) {
        if (checkErrorsReportedByJavaExtension()) {
            vscode.commands.executeCommand("workbench.actions.view.problems");
        }

        progressReporter.hide(true);
        const ans = await vscode.window.showErrorMessage("Build failed, do you want to continue?", "Proceed", "Fix...", "Cancel");
        sendInfo(operationId, {
            operationName: "build",
            choiceForBuildError: ans || "esc",
        });
        if (ans === "Proceed") {
            return true;
        } else if (ans === "Fix...") {
            showFixSuggestions(operationId);
        }

        return false;
    }

    return true;
}