Skip to content

Commit 89c8f93

Browse files
committed
Simplify the implementation of MainProcessExtensionService
1 parent 42cd304 commit 89c8f93

7 files changed

Lines changed: 187 additions & 158 deletions

File tree

src/vs/platform/actions/test/common/menuService.test.ts

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,37 @@ import { MenuService } from 'vs/platform/actions/common/menuService';
1010
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
1111
import { NullCommandService } from 'vs/platform/commands/common/commands';
1212
import { MockContextKeyService } from 'vs/platform/keybinding/test/common/mockKeybindingService';
13-
import { AbstractExtensionService, ActivatedExtension } from 'vs/platform/extensions/common/abstractExtensionService';
1413
import { IExtensionPoint } from "vs/platform/extensions/common/extensionsRegistry";
1514
import { TPromise } from "vs/base/common/winjs.base";
16-
import { ExtensionPointContribution, IExtensionDescription } from "vs/platform/extensions/common/extensions";
15+
import { ExtensionPointContribution, IExtensionDescription, IExtensionsStatus, IExtensionService } from "vs/platform/extensions/common/extensions";
1716

1817
// --- service instances
1918

20-
const extensionService = new class extends AbstractExtensionService<ActivatedExtension> {
21-
protected _showMessage(): void {
22-
console.log(arguments);
23-
}
24-
protected _createFailedExtension() {
25-
return null;
19+
class MockExtensionService implements IExtensionService {
20+
public _serviceBrand: any;
21+
22+
public activateByEvent(activationEvent: string): TPromise<void> {
23+
throw new Error('Not implemented');
2624
}
27-
protected _actualActivateExtension() {
28-
return null;
25+
26+
public onReady(): TPromise<boolean> {
27+
return TPromise.as(true);
2928
}
29+
3030
public getExtensions(): TPromise<IExtensionDescription[]> {
3131
throw new Error('Not implemented');
3232
}
33+
3334
public readExtensionPointContributions<T>(extPoint: IExtensionPoint<T>): TPromise<ExtensionPointContribution<T>[]> {
3435
throw new Error('Not implemented');
3536
}
36-
}(true);
37+
38+
public getExtensionsStatus(): { [id: string]: IExtensionsStatus } {
39+
throw new Error('Not implemented');
40+
}
41+
}
42+
43+
const extensionService = new MockExtensionService();
3744

3845
const contextKeyService = new class extends MockContextKeyService {
3946
contextMatchesRules() {

src/vs/platform/extensions/common/abstractExtensionService.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import * as nls from 'vs/nls';
88
import Severity from 'vs/base/common/severity';
99
import { TPromise } from 'vs/base/common/winjs.base';
10-
import { IExtensionDescription, IExtensionsStatus } from 'vs/platform/extensions/common/extensions';
10+
import { IExtensionDescription } from 'vs/platform/extensions/common/extensions';
1111

1212
const hasOwnProperty = Object.hasOwnProperty;
1313

@@ -252,10 +252,6 @@ export abstract class AbstractExtensionService<T extends ActivatedExtension> {
252252
return this._onReady;
253253
}
254254

255-
public getExtensionsStatus(): { [id: string]: IExtensionsStatus } {
256-
return null;
257-
}
258-
259255
public isActivated(extensionId: string): boolean {
260256
return this._manager.isActivated(extensionId);
261257
}

src/vs/workbench/api/electron-browser/mainThreadExtensionService.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@ export class MainProcessExtensionServiceAPI extends MainProcessExtensionServiceS
2525
this._extensionService._localShowMessage(severity, msg);
2626
}
2727
$onExtensionActivated(extensionId: string): void {
28-
this._extensionService._onExtensionActivated(extensionId);
2928
}
3029
$onExtensionActivationFailed(extensionId: string): void {
31-
this._extensionService._onExtensionActivationFailed(extensionId);
3230
}
3331
}

src/vs/workbench/api/node/extHost.protocol.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -436,7 +436,7 @@ export abstract class ExtHostWorkspaceShape {
436436
}
437437

438438
export abstract class ExtHostExtensionServiceShape {
439-
$activateExtension(extensionDescription: IExtensionDescription): TPromise<void> { throw ni(); }
439+
$activateByEvent(activationEvent: string): TPromise<void> { throw ni(); }
440440
}
441441

442442
export interface FileSystemEvents {

src/vs/workbench/api/node/extHostExtensionService.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -331,10 +331,9 @@ export class ExtHostExtensionService extends AbstractExtensionService<ExtHostExt
331331

332332
// -- called by main thread
333333

334-
public $activateExtension(extensionDescription: IExtensionDescription): TPromise<void> {
335-
return this._manager._activateExtension(extensionDescription);
334+
public $activateByEvent(activationEvent: string): TPromise<void> {
335+
return this._manager.activateByEvent(activationEvent);
336336
}
337-
338337
}
339338

340339
function loadCommonJSModule<T>(modulePath: string): TPromise<T> {

src/vs/workbench/node/extensionPoints.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,13 @@ const nlsConfig: NlsConfiguration = {
3232
pseudo: Platform.locale === 'pseudo'
3333
};
3434

35-
export class MessagesCollector {
35+
export interface IMessagesCollector {
36+
error(source: string, message: string): void;
37+
warn(source: string, message: string): void;
38+
info(source: string, message: string): void;
39+
}
40+
41+
export class MessagesCollector implements IMessagesCollector {
3642

3743
private _messages: IMessage[];
3844

@@ -70,12 +76,12 @@ export class MessagesCollector {
7076
abstract class ExtensionManifestHandler {
7177

7278
protected _ourVersion: string;
73-
protected _collector: MessagesCollector;
79+
protected _collector: IMessagesCollector;
7480
protected _absoluteFolderPath: string;
7581
protected _isBuiltin: boolean;
7682
protected _absoluteManifestPath: string;
7783

78-
constructor(ourVersion: string, collector: MessagesCollector, absoluteFolderPath: string, isBuiltin: boolean) {
84+
constructor(ourVersion: string, collector: IMessagesCollector, absoluteFolderPath: string, isBuiltin: boolean) {
7985
this._ourVersion = ourVersion;
8086
this._collector = collector;
8187
this._absoluteFolderPath = absoluteFolderPath;
@@ -190,7 +196,7 @@ class ExtensionManifestNLSReplacer extends ExtensionManifestHandler {
190196
* This routine makes the following assumptions:
191197
* The root element is an object literal
192198
*/
193-
private static _replaceNLStrings<T>(literal: T, messages: { [key: string]: string; }, originalMessages: { [key: string]: string }, collector: MessagesCollector, messageScope: string): void {
199+
private static _replaceNLStrings<T>(literal: T, messages: { [key: string]: string; }, originalMessages: { [key: string]: string }, collector: IMessagesCollector, messageScope: string): void {
194200
function processEntry(obj: any, key: string | number, command?: boolean) {
195201
let value = obj[key];
196202
if (Types.isString(value)) {
@@ -283,7 +289,7 @@ export class ExtensionScanner {
283289
*/
284290
public static scanExtension(
285291
version: string,
286-
collector: MessagesCollector,
292+
collector: IMessagesCollector,
287293
absoluteFolderPath: string,
288294
isBuiltin: boolean
289295
): TPromise<IExtensionDescription> {
@@ -312,7 +318,7 @@ export class ExtensionScanner {
312318
*/
313319
public static scanExtensions(
314320
version: string,
315-
collector: MessagesCollector,
321+
collector: IMessagesCollector,
316322
absoluteFolderPath: string,
317323
isBuiltin: boolean
318324
): TPromise<IExtensionDescription[]> {
@@ -371,7 +377,7 @@ export class ExtensionScanner {
371377
*/
372378
public static scanOneOrMultipleExtensions(
373379
version: string,
374-
collector: MessagesCollector,
380+
collector: IMessagesCollector,
375381
absoluteFolderPath: string,
376382
isBuiltin: boolean
377383
): TPromise<IExtensionDescription[]> {

0 commit comments

Comments
 (0)