Skip to content

Commit a26ed2e

Browse files
committed
Fix cyclic dependency
1 parent 61ebc05 commit a26ed2e

5 files changed

Lines changed: 24 additions & 25 deletions

File tree

src/vs/platform/extensionManagement/common/extensionManagementUtil.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,24 @@ export function areSameExtensions(a: IExtensionIdentifier, b: IExtensionIdentifi
1717
return compareIgnoreCase(a.id, b.id) === 0;
1818
}
1919

20+
export class ExtensionIdentifierWithVersion {
21+
constructor(
22+
readonly identifier: IExtensionIdentifier,
23+
readonly version: string
24+
) { }
25+
26+
key(): string {
27+
return `${this.identifier.id}-${this.version}`;
28+
}
29+
30+
equals(o: any): boolean {
31+
if (!(o instanceof ExtensionIdentifierWithVersion)) {
32+
return false;
33+
}
34+
return areSameExtensions(this.identifier, o.identifier) && this.version === o.version;
35+
}
36+
}
37+
2038
export function adoptToGalleryExtensionId(id: string): string {
2139
return id.toLocaleLowerCase();
2240
}

src/vs/platform/extensionManagement/node/extensionManagementService.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {
2121
INSTALL_ERROR_MALICIOUS,
2222
INSTALL_ERROR_INCOMPATIBLE
2323
} from 'vs/platform/extensionManagement/common/extensionManagement';
24-
import { areSameExtensions, getGalleryExtensionId, groupByExtension, getMaliciousExtensionsSet, getGalleryExtensionTelemetryData, getLocalExtensionTelemetryData } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
24+
import { areSameExtensions, getGalleryExtensionId, groupByExtension, getMaliciousExtensionsSet, getGalleryExtensionTelemetryData, getLocalExtensionTelemetryData, ExtensionIdentifierWithVersion } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
2525
import { localizeManifest } from '../common/extensionNls';
2626
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
2727
import { Limiter, createCancelablePromise, CancelablePromise, Queue } from 'vs/base/common/async';
@@ -44,7 +44,7 @@ import { Schemas } from 'vs/base/common/network';
4444
import { CancellationToken } from 'vs/base/common/cancellation';
4545
import { getPathFromAmdModule } from 'vs/base/common/amd';
4646
import { getManifest } from 'vs/platform/extensionManagement/node/extensionManagementUtil';
47-
import { IExtensionManifest, ExtensionType, ExtensionIdentifierWithVersion } from 'vs/platform/extensions/common/extensions';
47+
import { IExtensionManifest, ExtensionType } from 'vs/platform/extensions/common/extensions';
4848

4949
const ERROR_SCANNING_SYS_EXTENSIONS = 'scanningSystem';
5050
const ERROR_SCANNING_USER_EXTENSIONS = 'scanningUser';

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

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { areSameExtensions } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
76
import * as strings from 'vs/base/common/strings';
87
import { ILocalization } from 'vs/platform/localizations/common/localizations';
98
import { URI } from 'vs/base/common/uri';
@@ -109,24 +108,6 @@ export interface IExtensionContributions {
109108

110109
export type ExtensionKind = 'ui' | 'workspace';
111110

112-
export class ExtensionIdentifierWithVersion {
113-
constructor(
114-
readonly identifier: IExtensionIdentifier,
115-
readonly version: string
116-
) { }
117-
118-
key(): string {
119-
return `${this.identifier.id}-${this.version}`;
120-
}
121-
122-
equals(o: any): boolean {
123-
if (!(o instanceof ExtensionIdentifierWithVersion)) {
124-
return false;
125-
}
126-
return areSameExtensions(this.identifier, o.identifier) && this.version === o.version;
127-
}
128-
}
129-
130111
export function isIExtensionIdentifier(thing: any): thing is IExtensionIdentifier {
131112
return thing
132113
&& typeof thing === 'object'

src/vs/workbench/contrib/extensions/node/extensionsWorkbenchService.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {
1616
IExtensionManagementService, IExtensionGalleryService, ILocalExtension, IGalleryExtension, IQueryOptions,
1717
InstallExtensionEvent, DidInstallExtensionEvent, DidUninstallExtensionEvent, IExtensionEnablementService, IExtensionIdentifier, EnablementState, IExtensionManagementServerService, IExtensionManagementServer
1818
} from 'vs/platform/extensionManagement/common/extensionManagement';
19-
import { getGalleryExtensionTelemetryData, getLocalExtensionTelemetryData, areSameExtensions, getMaliciousExtensionsSet, groupByExtension } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
19+
import { getGalleryExtensionTelemetryData, getLocalExtensionTelemetryData, areSameExtensions, getMaliciousExtensionsSet, groupByExtension, ExtensionIdentifierWithVersion } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
2020
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
2121
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
2222
import { IWindowService } from 'vs/platform/windows/common/windows';
@@ -34,7 +34,7 @@ import * as resources from 'vs/base/common/resources';
3434
import { CancellationToken } from 'vs/base/common/cancellation';
3535
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
3636
import { IFileService } from 'vs/platform/files/common/files';
37-
import { IExtensionManifest, ExtensionType, ExtensionIdentifierWithVersion, IExtension as IPlatformExtension, isLanguagePackExtension } from 'vs/platform/extensions/common/extensions';
37+
import { IExtensionManifest, ExtensionType, IExtension as IPlatformExtension, isLanguagePackExtension } from 'vs/platform/extensions/common/extensions';
3838

3939
interface IExtensionStateProvider<T> {
4040
(extension: Extension): T;

src/vs/workbench/services/extensions/node/extensionPoints.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ import { getParseErrorMessage } from 'vs/base/common/jsonErrorMessages';
1212
import * as types from 'vs/base/common/types';
1313
import { URI } from 'vs/base/common/uri';
1414
import * as pfs from 'vs/base/node/pfs';
15-
import { getGalleryExtensionId, groupByExtension } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
15+
import { getGalleryExtensionId, groupByExtension, ExtensionIdentifierWithVersion } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
1616
import { isValidExtensionVersion } from 'vs/platform/extensions/node/extensionValidator';
17-
import { ExtensionIdentifier, ExtensionIdentifierWithVersion, IExtensionDescription } from 'vs/platform/extensions/common/extensions';
17+
import { ExtensionIdentifier, IExtensionDescription } from 'vs/platform/extensions/common/extensions';
1818
import { Translations, ILog } from 'vs/workbench/services/extensions/common/extensionPoints';
1919

2020
const MANIFEST_FILE = 'package.json';

0 commit comments

Comments
 (0)