Skip to content

Commit b676636

Browse files
committed
support universal target platform
1 parent 2b695ad commit b676636

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

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

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ import { canceled, getErrorMessage, isPromiseCanceledError } from 'vs/base/commo
99
import { getOrDefault } from 'vs/base/common/objects';
1010
import { IPager } from 'vs/base/common/paging';
1111
import { isWeb } from 'vs/base/common/platform';
12+
import { equalsIgnoreCase } from 'vs/base/common/strings';
1213
import { URI } from 'vs/base/common/uri';
1314
import { IHeaders, IRequestContext, IRequestOptions } from 'vs/base/parts/request/common/request';
1415
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
15-
import { arePlatformsValid, CURRENT_TARGET_PLATFORM, DefaultIconPath, IExtensionGalleryService, IExtensionIdentifier, IExtensionIdentifierWithVersion, IGalleryExtension, IGalleryExtensionAsset, IGalleryExtensionAssets, IGalleryExtensionVersion, InstallOperation, IQueryOptions, IReportedExtension, isIExtensionIdentifier, ITranslation, SortBy, SortOrder, StatisticType, TargetPlatform, WEB_EXTENSION_TAG } from 'vs/platform/extensionManagement/common/extensionManagement';
16+
import { arePlatformsValid, CURRENT_TARGET_PLATFORM, DefaultIconPath, IExtensionGalleryService, IExtensionIdentifier, IExtensionIdentifierWithVersion, IGalleryExtension, IGalleryExtensionAsset, IGalleryExtensionAssets, IGalleryExtensionVersion, InstallOperation, IQueryOptions, IReportedExtension, isIExtensionIdentifier, ITranslation, SortBy, SortOrder, StatisticType, TargetPlatform, toTargetPlatform, WEB_EXTENSION_TAG } from 'vs/platform/extensionManagement/common/extensionManagement';
1617
import { adoptToGalleryExtensionId, areSameExtensions, getGalleryExtensionId, getGalleryExtensionTelemetryData } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
1718
import { IExtensionManifest } from 'vs/platform/extensions/common/extensions';
1819
import { isEngineValid } from 'vs/platform/extensions/common/extensionValidator';
@@ -42,7 +43,7 @@ interface IRawGalleryExtensionVersion {
4243
readonly fallbackAssetUri: string;
4344
readonly files: IRawGalleryExtensionFile[];
4445
readonly properties?: IRawGalleryExtensionProperty[];
45-
readonly targetPlatform?: TargetPlatform;
46+
readonly targetPlatform?: string;
4647
}
4748

4849
interface IRawGalleryExtensionStatistics {
@@ -324,7 +325,7 @@ function getIsPreview(flags: string): boolean {
324325
}
325326

326327
function getTargetPlatforms(version: IRawGalleryExtensionVersion): TargetPlatform[] {
327-
return version.targetPlatform ? [version.targetPlatform] : [...ANY_TARGET_PLATFORMS];
328+
return version.targetPlatform && !equalsIgnoreCase(version.targetPlatform, 'universal') ? [toTargetPlatform(version.targetPlatform)] : [...ANY_TARGET_PLATFORMS];
328329
}
329330

330331
function toExtension(galleryExtension: IRawGalleryExtension, version: IRawGalleryExtensionVersion, index: number, query: Query, querySource?: string): IGalleryExtension {

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

+16
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,22 @@ export const enum TargetPlatform {
3131
DARWIN_ARM64 = 'darwin-arm64',
3232

3333
WEB = 'web',
34+
UNKNOWN = 'unknown',
35+
}
36+
37+
export function toTargetPlatform(targetPlatform: string): TargetPlatform {
38+
switch (targetPlatform) {
39+
case TargetPlatform.WIN32_X64: return TargetPlatform.WIN32_X64;
40+
case TargetPlatform.WIN32_IA32: return TargetPlatform.WIN32_IA32;
41+
case TargetPlatform.WIN32_ARM64: return TargetPlatform.WIN32_ARM64;
42+
case TargetPlatform.LINUX_X64: return TargetPlatform.LINUX_X64;
43+
case TargetPlatform.LINUX_ARM64: return TargetPlatform.LINUX_ARM64;
44+
case TargetPlatform.LINUX_ARMHF: return TargetPlatform.LINUX_ARMHF;
45+
case TargetPlatform.DARWIN_X64: return TargetPlatform.DARWIN_X64;
46+
case TargetPlatform.DARWIN_ARM64: return TargetPlatform.DARWIN_ARM64;
47+
case TargetPlatform.WEB: return TargetPlatform.WEB;
48+
}
49+
return TargetPlatform.UNKNOWN;
3450
}
3551

3652
export function getTargetPlatformFromOS(os: OperatingSystem, arch: string): TargetPlatform {

0 commit comments

Comments
 (0)