#15756 set metadata always and fix hadPreReleaseVersion
This commit is contained in:
parent
19a83b8c47
commit
f26a89c2c3
|
@ -288,7 +288,7 @@ class InstallGalleryExtensionTask extends AbstractInstallExtensionTask {
|
|||
installableExtension.metadata.isMachineScoped = this.options.isMachineScoped || existingExtension?.isMachineScoped;
|
||||
installableExtension.metadata.isBuiltin = this.options.isBuiltin || existingExtension?.isBuiltin;
|
||||
installableExtension.metadata.isPreReleaseVersion = this.gallery.properties.isPreReleaseVersion;
|
||||
installableExtension.metadata.hadPreReleaseVersion = this.gallery.properties.isPreReleaseVersion || existingExtension?.hadPreReleaseVersion;
|
||||
installableExtension.metadata.hadPreReleaseVersion = this.gallery.hasPreReleaseVersion ? this.gallery.properties.isPreReleaseVersion : existingExtension?.hadPreReleaseVersion;
|
||||
|
||||
try {
|
||||
const local = await this.installExtension(installableExtension, token);
|
||||
|
|
|
@ -299,9 +299,7 @@ export class ExtensionsScanner extends Disposable {
|
|||
const changelogUrl = stat.children.find(({ name }) => /^changelog(\.txt|\.md|)$/i.test(name))?.resource;
|
||||
const identifier = { id: getGalleryExtensionId(manifest.publisher, manifest.name) };
|
||||
const local = <ILocalExtension>{ type, identifier, manifest, location: extensionLocation, readmeUrl, changelogUrl, publisherDisplayName: null, publisherId: null, isMachineScoped: false, isBuiltin: type === ExtensionType.System };
|
||||
if (metadata) {
|
||||
this.setMetadata(local, metadata);
|
||||
}
|
||||
this.setMetadata(local, metadata);
|
||||
return local;
|
||||
}
|
||||
} catch (e) {
|
||||
|
@ -329,15 +327,15 @@ export class ExtensionsScanner extends Disposable {
|
|||
}
|
||||
}
|
||||
|
||||
private setMetadata(local: IRelaxedLocalExtension, metadata: Metadata): void {
|
||||
local.publisherDisplayName = metadata.publisherDisplayName || null;
|
||||
local.publisherId = metadata.publisherId || null;
|
||||
local.identifier.uuid = metadata.id;
|
||||
local.isMachineScoped = !!metadata.isMachineScoped;
|
||||
local.isPreReleaseVersion = !!metadata.isPreReleaseVersion;
|
||||
local.hadPreReleaseVersion = !!metadata.hadPreReleaseVersion;
|
||||
local.isBuiltin = local.type === ExtensionType.System || !!metadata.isBuiltin;
|
||||
local.installedTimestamp = metadata.installedTimestamp;
|
||||
private setMetadata(local: IRelaxedLocalExtension, metadata: Metadata | null): void {
|
||||
local.publisherDisplayName = metadata?.publisherDisplayName || null;
|
||||
local.publisherId = metadata?.publisherId || null;
|
||||
local.identifier.uuid = metadata?.id;
|
||||
local.isMachineScoped = !!metadata?.isMachineScoped;
|
||||
local.isPreReleaseVersion = !!metadata?.isPreReleaseVersion;
|
||||
local.hadPreReleaseVersion = !!metadata?.hadPreReleaseVersion;
|
||||
local.isBuiltin = local.type === ExtensionType.System || !!metadata?.isBuiltin;
|
||||
local.installedTimestamp = metadata?.installedTimestamp;
|
||||
}
|
||||
|
||||
private async removeUninstalledExtensions(): Promise<void> {
|
||||
|
|
|
@ -152,7 +152,7 @@ class InstallExtensionTask extends AbstractExtensionTask<ILocalExtension> implem
|
|||
metadata.publisherId = this.extension.publisherId;
|
||||
metadata.installedTimestamp = Date.now();
|
||||
metadata.isPreReleaseVersion = this.extension.properties.isPreReleaseVersion;
|
||||
metadata.hadPreReleaseVersion = this.extension.properties.isPreReleaseVersion || metadata.hadPreReleaseVersion;
|
||||
metadata.hadPreReleaseVersion = this.extension.hasPreReleaseVersion ? this.extension.properties.isPreReleaseVersion : metadata.hadPreReleaseVersion;
|
||||
}
|
||||
|
||||
const scannedExtension = URI.isUri(this.extension) ? await this.webExtensionsScannerService.addExtension(this.extension, metadata)
|
||||
|
|
Loading…
Reference in a new issue