From 1081ef16c6aebc5666cfa410f6c0b07322f7720e Mon Sep 17 00:00:00 2001 From: Joao Moreno Date: Thu, 18 May 2017 11:32:59 +0200 Subject: [PATCH] clean crash reporter --- build/gulpfile.mixin.js | 38 ++-------------------- package.json | 2 +- src/vs/platform/node/product.ts | 11 ++++++- src/vs/workbench/electron-browser/shell.ts | 22 +++++++++++-- 4 files changed, 33 insertions(+), 40 deletions(-) diff --git a/build/gulpfile.mixin.js b/build/gulpfile.mixin.js index 71c45d4bcf9..abf3ce4a90c 100644 --- a/build/gulpfile.mixin.js +++ b/build/gulpfile.mixin.js @@ -49,46 +49,12 @@ gulp.task('mixin', function () { if (quality) { const productJsonFilter = filter('product.json', { restore: true }); - const arch = process.env.VSCODE_ELECTRON_PLATFORM || process.arch; - - const vsdaFilter = (function () { - const filter = []; - if (process.platform !== 'win32') { filter.push('!**/vsda_win32.node'); } - if (process.platform !== 'darwin') { filter.push('!**/vsda_darwin.node'); } - if (process.platform !== 'linux' || arch !== 'x64') { filter.push('!**/vsda_linux64.node'); } - if (process.platform !== 'linux' || arch === 'x64') { filter.push('!**/vsda_linux32.node'); } - - return filter; - })(); - const mixin = all - .pipe(filter(['quality/' + quality + '/**'].concat(vsdaFilter))) + .pipe(filter(['quality/' + quality + '/**'])) .pipe(util.rebase(2)) .pipe(productJsonFilter) .pipe(buffer()) - .pipe(json(function (patch) { - const original = require('../product.json'); - const result = assign(original, patch); - - // HockeyApp Support - if (patch.crashReporterHockeyAppSubmitURL && result.crashReporter) { - - // Receive submitURL for the platform we are building for - result.crashReporter.submitURL = (function () { - if (process.platform === 'win32') { return patch.crashReporterHockeyAppSubmitURL.win32; } - if (process.platform === 'darwin') { return patch.crashReporterHockeyAppSubmitURL.darwin; } - if (process.platform === 'linux' && arch === 'x64') { return patch.crashReporterHockeyAppSubmitURL.linux64; } - if (process.platform === 'linux' && arch !== 'x64') { return patch.crashReporterHockeyAppSubmitURL.linux32; } - - return void 0; - })(); - - // No longer need crashReporterHockeyAppSubmitURL after this - result.crashReporterHockeyAppSubmitURL = void 0; - } - - return result; - })) + .pipe(json(o => assign({}, require('../product.json'), o))) .pipe(productJsonFilter.restore); all = es.merge(mixin); diff --git a/package.json b/package.json index d7036074be8..f94b92357ae 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "code-oss-dev", "version": "1.13.0", "electronVersion": "1.6.6", - "distro": "75907509ec4038a8ebcce47fa85eab15bfe33aac", + "distro": "1dc6b8ea29727a80a9cf0a8832e6d1c16623fe40", "author": { "name": "Microsoft Corporation" }, diff --git a/src/vs/platform/node/product.ts b/src/vs/platform/node/product.ts index 4937ade6d77..f92b896b62d 100644 --- a/src/vs/platform/node/product.ts +++ b/src/vs/platform/node/product.ts @@ -28,7 +28,10 @@ export interface IProductConfiguration { extensionImportantTips: { [id: string]: { name: string; pattern: string; }; }; extensionKeywords: { [extension: string]: string[]; }; keymapExtensionTips: string[]; - crashReporter: Electron.CrashReporterStartOptions; + crashReporter: { + companyName: string; + productName: string; + }; welcomePage: string; enableTelemetry: boolean; aiConfig: { @@ -52,6 +55,12 @@ export interface IProductConfiguration { npsSurveyUrl: string; checksums: { [path: string]: string; }; checksumFailMoreInfoUrl: string; + hockeyApp: { + 'win32': string; + 'linux-ia32': string; + 'linux-x64': string; + 'darwin': string; + }; } const rootPath = path.dirname(uri.parse(require.toUrl('')).fsPath); diff --git a/src/vs/workbench/electron-browser/shell.ts b/src/vs/workbench/electron-browser/shell.ts index f5e39ca7bd4..ef12343f326 100644 --- a/src/vs/workbench/electron-browser/shell.ts +++ b/src/vs/workbench/electron-browser/shell.ts @@ -172,8 +172,26 @@ export class WorkbenchShell { const [instantiationService, serviceCollection] = this.initServiceCollection(parent.getHTMLElement()); //crash reporting - if (!!product.crashReporter) { - instantiationService.createInstance(CrashReporter, product.crashReporter); + if (product.crashReporter && product.hockeyApp) { + let submitURL: string; + + if (platform.isWindows) { + submitURL = product.hockeyApp.win32; + } else if (platform.isMacintosh) { + submitURL = product.hockeyApp.darwin; + } else if (platform.isLinux) { + submitURL = product.hockeyApp[`linux-${process.arch}`]; + } + + if (submitURL) { + const opts: Electron.CrashReporterStartOptions = { + companyName: product.crashReporter.companyName, + productName: product.crashReporter.productName, + submitURL + }; + + instantiationService.createInstance(CrashReporter, opts); + } } // Workbench -- GitLab