private async _getMainClass()

in src/Controller.ts [168:176]


    private async _getMainClass(app: BootApp): Promise<MainClassData | null> {
        // Note: Command `vscode.java.resolveMainClass` is implemented in extension `vscode.java.resolveMainClass`
        const mainClassList = await vscode.commands.executeCommand('java.execute.workspaceCommand', 'vscode.java.resolveMainClass', app.path);
        if (mainClassList && mainClassList instanceof Array && mainClassList.length > 0) {
            return mainClassList.length === 1 ? mainClassList[0] :
                await vscode.window.showQuickPick(mainClassList.map(x => Object.assign({ label: x.mainClass }, x)), { placeHolder: `Specify the main class for ${app.name}` });
        }
        return Promise.resolve(null);
    }