diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js index a07c552..e5546e0 100644 --- a/build/gulpfile.reh.js +++ b/build/gulpfile.reh.js @@ -250,4 +250,5 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa const name = product.nameShort; + const release = packageJson.release; const packageJsonStream = gulp.src(['remote/package.json'], { base: 'remote' }) - .pipe(json({ name, version, dependencies: undefined, optionalDependencies: undefined })); + .pipe(json({ name, version, release, dependencies: undefined, optionalDependencies: undefined })); diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js index 2c075a3..ff98402 100644 --- a/build/gulpfile.vscode.js +++ b/build/gulpfile.vscode.js @@ -191,3 +191,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op - let version = packageJson.version; + let version = packageJson.version const quality = product.quality; @@ -199,3 +199,4 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op const name = product.nameShort; - const packageJsonUpdates = { name, version }; + const release = packageJson.release; + const packageJsonUpdates = { name, version, release }; diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js index 4a25ca5..ca33d2e 100644 --- a/build/gulpfile.vscode.linux.js +++ b/build/gulpfile.vscode.linux.js @@ -24,4 +24,2 @@ const commit = util.getVersion(root); -const linuxPackageRevision = Math.floor(new Date().getTime() / 1000); - /** @@ -87,3 +85,3 @@ function prepareDebPackage(arch) { .pipe(replace('@@NAME@@', product.applicationName)) - .pipe(replace('@@VERSION@@', packageJson.version + '-' + linuxPackageRevision)) + .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`)) .pipe(replace('@@ARCHITECTURE@@', debArch)) @@ -192,4 +190,3 @@ function prepareRpmPackage(arch) { .pipe(replace('@@ICON@@', product.linuxIconName)) - .pipe(replace('@@VERSION@@', packageJson.version)) - .pipe(replace('@@RELEASE@@', linuxPackageRevision)) + .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`)) .pipe(replace('@@ARCHITECTURE@@', rpmArch)) @@ -266,3 +263,3 @@ function prepareSnapPackage(arch) { .pipe(replace('@@NAME@@', product.applicationName)) - .pipe(replace('@@VERSION@@', commit.substr(0, 8))) + .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`)) // Possible run-on values https://snapcraft.io/docs/architectures diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js index 81ba509..43f5377 100644 --- a/build/gulpfile.vscode.win32.js +++ b/build/gulpfile.vscode.win32.js @@ -93,4 +93,4 @@ function buildWin32Setup(arch, target) { DirName: product.win32DirName, - Version: pkg.version, - RawVersion: pkg.version.replace(/-\w+$/, ''), + Version: `${pkg.version}.${pkg.release}`, + RawVersion: `${pkg.version.replace(/-\w+$/, '')}.${pkg.release}`, NameVersion: product.win32NameVersion + (target === 'user' ? ' (User)' : ''), diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template index 61659d2..5cafa06 100644 --- a/resources/linux/rpm/code.spec.template +++ b/resources/linux/rpm/code.spec.template @@ -2,3 +2,3 @@ Name: @@NAME@@ Version: @@VERSION@@ -Release: @@RELEASE@@.el7 +Release: el7 Summary: Code editing. Redefined. diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts index 1ae8079..0dad6ac 100644 --- a/src/vs/base/common/product.ts +++ b/src/vs/base/common/product.ts @@ -34,2 +34,3 @@ export interface IProductConfiguration { readonly version: string; + readonly release: string; readonly date?: string; diff --git a/src/vs/platform/diagnostics/node/diagnosticsService.ts b/src/vs/platform/diagnostics/node/diagnosticsService.ts index e1c60a3..a12d52c 100644 --- a/src/vs/platform/diagnostics/node/diagnosticsService.ts +++ b/src/vs/platform/diagnostics/node/diagnosticsService.ts @@ -239,3 +239,3 @@ export class DiagnosticsService implements IDiagnosticsService { const output: string[] = []; - output.push(`Version: ${this.productService.nameShort} ${this.productService.version} (${this.productService.commit || 'Commit unknown'}, ${this.productService.date || 'Date unknown'})`); + output.push(`Version: ${this.productService.nameShort} ${this.productService.version} ${this.productService.release || 'Release unknown'} (${this.productService.commit || 'Commit unknown'}, ${this.productService.date || 'Date unknown'})`); output.push(`OS Version: ${osLib.type()} ${osLib.arch()} ${osLib.release()}`); diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts index 7e63a16..74d1f26 100644 --- a/src/vs/platform/product/common/product.ts +++ b/src/vs/platform/product/common/product.ts @@ -34,3 +34,3 @@ else if (typeof require?.__$__nodeRequire === 'function') { product = require.__$__nodeRequire(joinPath(rootPath, 'product.json').fsPath); - const pkg = require.__$__nodeRequire(joinPath(rootPath, 'package.json').fsPath) as { version: string }; + const pkg = require.__$__nodeRequire(joinPath(rootPath, 'package.json').fsPath) as { version: string, release: string }; @@ -47,3 +47,4 @@ else if (typeof require?.__$__nodeRequire === 'function') { Object.assign(product, { - version: pkg.version + version: pkg.version, + release: pkg.release }); diff --git a/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts b/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts index ec4ff95..36e882f 100644 --- a/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts +++ b/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts @@ -146,4 +146,5 @@ export class BrowserDialogHandler implements IDialogHandler { return localize('aboutDetail', - "Version: {0}\nCommit: {1}\nDate: {2}\nBrowser: {3}", + "Version: {0}\nRelease: {1}\nCommit: {2}\nDate: {3}\nBrowser: {4}", this.productService.version || 'Unknown', + this.productService.release || 'Unknown', this.productService.commit || 'Unknown', diff --git a/src/vs/workbench/contrib/issue/browser/issueService.ts b/src/vs/workbench/contrib/issue/browser/issueService.ts index dc7430b..23def01 100644 --- a/src/vs/workbench/contrib/issue/browser/issueService.ts +++ b/src/vs/workbench/contrib/issue/browser/issueService.ts @@ -67,2 +67,3 @@ export class WebIssueService implements IWorkbenchIssueService { Version: ${this.productService.version} +Release: ${this.productService.release ?? 'unknown'} Commit: ${this.productService.commit ?? 'unknown'} diff --git a/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts b/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts index f63b75f..8e24c02 100644 --- a/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts +++ b/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts @@ -169,4 +169,5 @@ export class NativeDialogHandler implements IDialogHandler { return localize({ key: 'aboutDetail', comment: ['Electron, Chromium, Node.js and V8 are product names that need no translation'] }, - "Version: {0}\nCommit: {1}\nDate: {2}\nElectron: {3}\nChromium: {4}\nNode.js: {5}\nV8: {6}\nOS: {7}\nSandboxed: {8}", + "Version: {0}\nRelease: {1}\nCommit: {2}\nDate: {3}\nElectron: {4}\nChromium: {5}\nNode.js: {6}\nV8: {7}\nOS: {8}\nSandboxed: {9}", version, + this.productService.release || 'Unknown', this.productService.commit || 'Unknown',