diff options
author | CoprDistGit <infra@openeuler.org> | 2024-08-07 07:31:59 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2024-08-07 07:31:59 +0000 |
commit | b89039c5688ab75fffa3d806119eb053cc326660 (patch) | |
tree | 4f81cc86bdbf24a6bf6ea840db44c2ca4b21cf23 /use-local-vsix.patch | |
parent | fa9c0e08315a612470ef72ca5ac658663634f408 (diff) |
automatic import of vscodium
Diffstat (limited to 'use-local-vsix.patch')
-rw-r--r-- | use-local-vsix.patch | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/use-local-vsix.patch b/use-local-vsix.patch new file mode 100644 index 0000000..0719d4a --- /dev/null +++ b/use-local-vsix.patch @@ -0,0 +1,94 @@ +--- patches/ext-from-gh.patch ++++ patches/ext-from-gh.patch +@@ -7,7 +7,7 @@ index 1b0adc4..b595123 100644 + - const galleryServiceUrl = productjson.extensionsGallery?.serviceUrl; + - return (galleryServiceUrl ? ext.fromMarketplace(galleryServiceUrl, extension) : ext.fromGithub(extension)) + - .pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`)); +-+ return ext.fromGithub(extension).pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`)); +++ return ext.fromLocalVsix(extension).pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`)); + } + diff --git a/build/lib/builtInExtensions.ts b/build/lib/builtInExtensions.ts + index fefed43..4ae553e 100644 +@@ -18,5 +18,5 @@ index fefed43..4ae553e 100644 + - const galleryServiceUrl = productjson.extensionsGallery?.serviceUrl; + - return (galleryServiceUrl ? ext.fromMarketplace(galleryServiceUrl, extension) : ext.fromGithub(extension)) + - .pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`)); +-+ return ext.fromGithub(extension).pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`)); +++ return ext.fromLocalVsix(extension).pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`)); + } + +--- vscode/build/lib/extensions.js ++++ vscode/build/lib/extensions.js +@@ -4,6 +4,7 @@ + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + Object.defineProperty(exports, "__esModule", { value: true }); ++exports.fromLocalVsix = fromLocalVsix; + exports.fromMarketplace = fromMarketplace; + exports.fromGithub = fromGithub; + exports.packageLocalExtensionsStream = packageLocalExtensionsStream; +@@ -21,6 +22,7 @@ const path = require("path"); + const File = require("vinyl"); + const stats_1 = require("./stats"); + const util2 = require("./util"); ++const vinylFs = require("vinyl-fs"); + const vzip = require('gulp-vinyl-zip'); + const filter = require("gulp-filter"); + const rename = require("gulp-rename"); +@@ -193,6 +195,20 @@ function fromLocalNormal(extensionPath) { + .catch(err => result.emit('error', err)); + return result.pipe((0, stats_1.createStatsStream)(path.basename(extensionPath))); + } ++function fromLocalVsix({ name, version, metadata }) { ++ const json = require('gulp-json-editor'); ++ fancyLog('Processing extension from local directory:', ansiColors.yellow(`${name}@${version}`), '...'); ++ const packageJsonFilter = filter('package.json', { restore: true }); ++ return vinylFs.src(`${root}/../${name}.${version}.vsix`) ++ .pipe(buffer()) ++ .pipe(vzip.src()) ++ .pipe(filter('extension/**')) ++ .pipe(rename(p => p.dirname = p.dirname.replace(/^extension\/?/, ''))) ++ .pipe(packageJsonFilter) ++ .pipe(buffer()) ++ .pipe(json({ __metadata: metadata })) ++ .pipe(packageJsonFilter.restore); ++} + const userAgent = 'VSCode Build'; + const baseHeaders = { + 'X-Market-Client-Id': 'VSCode Build', + +--- vscode/build/lib/extensions.ts.orig ++++ vscode/build/lib/extensions.ts +@@ -13,6 +13,7 @@ import { Stream } from 'stream'; + import * as File from 'vinyl'; + import { createStatsStream } from './stats'; + import * as util2 from './util'; ++import * as vinylFs from 'vinyl-fs'; + const vzip = require('gulp-vinyl-zip'); + import filter = require('gulp-filter'); + import rename = require('gulp-rename'); +@@ -214,6 +215,24 @@ function fromLocalNormal(extensionPath: string): Stream { + return result.pipe(createStatsStream(path.basename(extensionPath))); + } + ++export function fromLocalVsix({ name, version, metadata }: IExtensionDefinition): Stream { ++ const json = require('gulp-json-editor') as typeof import('gulp-json-editor'); ++ ++ fancyLog('Processing extension from local directory:', ansiColors.yellow(`${name}@${version}`), '...'); ++ ++ const packageJsonFilter = filter('package.json', { restore: true }); ++ ++ return vinylFs.src(`${root}/../${name}.${version}.vsix`) ++ .pipe(buffer()) ++ .pipe(vzip.src()) ++ .pipe(filter('extension/**')) ++ .pipe(rename(p => p.dirname = p.dirname!.replace(/^extension\/?/, ''))) ++ .pipe(packageJsonFilter) ++ .pipe(buffer()) ++ .pipe(json({ __metadata: metadata })) ++ .pipe(packageJsonFilter.restore); ++} ++ + const userAgent = 'VSCode Build'; + const baseHeaders = { + 'X-Market-Client-Id': 'VSCode Build', |