Skip to content

Commit c45cd9b

Browse files
testforstephenfbricon
authored andcommitted
Return the java requirments info as the return value of extension activate function
Signed-off-by: Jinbo Wang <jinbwan@microsoft.com>
1 parent 93742d4 commit c45cd9b

2 files changed

Lines changed: 17 additions & 4 deletions

File tree

src/extension.api.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { RequirementsData } from './requirements';
2+
3+
export interface ExtensionAPI {
4+
readonly apiVersion: string;
5+
readonly javaRequirement: RequirementsData;
6+
}

src/extension.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ import { prepareExecutable, awaitServerConnection } from './javaServerStarter';
1010
import * as requirements from './requirements';
1111
import { Commands } from './commands';
1212
import { StatusNotification, ClassFileContentsRequest, ProjectConfigurationUpdateRequest, MessageType, ActionableNotification, FeatureStatus, ActionableMessage, CompileWorkspaceRequest, CompileWorkspaceStatus, ProgressReportNotification, ExecuteClientCommandRequest, SendNotificationRequest } from './protocol';
13+
import { ExtensionAPI } from './extension.api';
1314

1415
let oldConfig;
1516
let lastStatus;
1617
let languageClient : LanguageClient;
1718

18-
export function activate(context: ExtensionContext) {
19+
export function activate(context: ExtensionContext): Promise<ExtensionAPI> {
1920

2021
enableJavadocSymbols();
2122

@@ -29,7 +30,7 @@ export function activate(context: ExtensionContext) {
2930
// rethrow to disrupt the chain.
3031
throw error;
3132
}).then(requirements => {
32-
return window.withProgress({ location: ProgressLocation.Window }, p => {
33+
return window.withProgress<ExtensionAPI>({ location: ProgressLocation.Window }, p => {
3334
return new Promise((resolve, reject) => {
3435
let storagePath = context.storagePath;
3536
if (!storagePath) {
@@ -95,15 +96,21 @@ export function activate(context: ExtensionContext) {
9596
item.text = '$(thumbsup)';
9697
p.report({ message: 'Finished' });
9798
lastStatus = item.text;
98-
resolve();
99+
resolve({
100+
apiVersion: '0.1',
101+
javaRequirement: requirements,
102+
});
99103
break;
100104
case 'Error':
101105
item.text = '$(thumbsdown)';
102106
lastStatus = item.text;
103107
p.report({ message: 'Finished with Error' });
104108
item.tooltip = report.message;
105109
toggleItem(window.activeTextEditor, item);
106-
resolve();
110+
resolve({
111+
apiVersion: '0.1',
112+
javaRequirement: requirements,
113+
});
107114
break;
108115
case 'Starting':
109116
p.report({ message: report.message });

0 commit comments

Comments
 (0)