2022-09-25 08:54:41 -04:00
|
|
|
diff --git a/.vscode/settings.json b/.vscode/settings.json
|
2022-11-01 13:56:12 -04:00
|
|
|
index 3907bc7..1772769 100644
|
2022-09-25 08:54:41 -04:00
|
|
|
--- a/.vscode/settings.json
|
|
|
|
+++ b/.vscode/settings.json
|
2022-11-01 13:56:12 -04:00
|
|
|
@@ -88,3 +88,3 @@
|
2022-09-25 08:54:41 -04:00
|
|
|
"editor.defaultFormatter": "vscode.typescript-language-features",
|
|
|
|
- "editor.formatOnSave": true
|
|
|
|
+ // "editor.formatOnSave": true
|
|
|
|
},
|
2022-08-16 10:11:08 -04:00
|
|
|
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
2022-09-25 08:54:41 -04:00
|
|
|
index 980f647..959fb88 100644
|
2022-08-16 10:11:08 -04:00
|
|
|
--- a/build/gulpfile.reh.js
|
|
|
|
+++ b/build/gulpfile.reh.js
|
2022-09-25 08:54:41 -04:00
|
|
|
@@ -245,4 +245,5 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
|
2022-08-16 13:00:11 -04:00
|
|
|
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 }));
|
|
|
|
|
2022-09-25 08:54:41 -04:00
|
|
|
@@ -251,3 +252,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
|
|
|
|
const productJsonStream = gulp.src(['product.json'], { base: '.' })
|
|
|
|
- .pipe(json({ commit, date, version }));
|
|
|
|
+ .pipe(json({ commit, date, version, release }));
|
|
|
|
|
2022-08-16 10:11:08 -04:00
|
|
|
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
2022-09-25 08:54:41 -04:00
|
|
|
index 6947d1e..80f358e 100644
|
2022-08-16 10:11:08 -04:00
|
|
|
--- a/build/gulpfile.vscode.js
|
|
|
|
+++ b/build/gulpfile.vscode.js
|
2022-09-25 08:54:41 -04:00
|
|
|
@@ -224,3 +224,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
2022-08-16 10:11:08 -04:00
|
|
|
|
|
|
|
- let version = packageJson.version;
|
2022-08-16 13:00:11 -04:00
|
|
|
+ let version = packageJson.version
|
2022-08-16 10:11:08 -04:00
|
|
|
const quality = product.quality;
|
2022-09-25 08:54:41 -04:00
|
|
|
@@ -232,3 +232,4 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
2022-08-16 13:00:11 -04:00
|
|
|
const name = product.nameShort;
|
|
|
|
- const packageJsonUpdates = { name, version };
|
|
|
|
+ const release = packageJson.release;
|
|
|
|
+ const packageJsonUpdates = { name, version, release };
|
|
|
|
|
2022-09-25 08:54:41 -04:00
|
|
|
@@ -243,3 +244,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
|
|
|
const date = new Date().toISOString();
|
|
|
|
- const productJsonUpdate = { commit, date, checksums, version };
|
|
|
|
+ const productJsonUpdate = { commit, date, checksums, version, release };
|
|
|
|
|
2022-08-16 07:51:45 -04:00
|
|
|
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
|
2022-08-17 01:36:15 -04:00
|
|
|
index 4a25ca5..ca33d2e 100644
|
2022-08-16 07:51:45 -04:00
|
|
|
--- a/build/gulpfile.vscode.linux.js
|
|
|
|
+++ b/build/gulpfile.vscode.linux.js
|
2022-08-17 01:36:15 -04:00
|
|
|
@@ -24,4 +24,2 @@ const commit = util.getVersion(root);
|
|
|
|
|
|
|
|
-const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
|
|
|
|
-
|
|
|
|
/**
|
|
|
|
@@ -87,3 +85,3 @@ function prepareDebPackage(arch) {
|
2022-08-16 07:51:45 -04:00
|
|
|
.pipe(replace('@@NAME@@', product.applicationName))
|
|
|
|
- .pipe(replace('@@VERSION@@', packageJson.version + '-' + linuxPackageRevision))
|
2022-08-16 13:00:11 -04:00
|
|
|
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
|
2022-08-16 07:51:45 -04:00
|
|
|
.pipe(replace('@@ARCHITECTURE@@', debArch))
|
2022-08-17 01:36:15 -04:00
|
|
|
@@ -192,4 +190,3 @@ function prepareRpmPackage(arch) {
|
2022-08-16 07:51:45 -04:00
|
|
|
.pipe(replace('@@ICON@@', product.linuxIconName))
|
|
|
|
- .pipe(replace('@@VERSION@@', packageJson.version))
|
|
|
|
- .pipe(replace('@@RELEASE@@', linuxPackageRevision))
|
2022-08-16 13:00:11 -04:00
|
|
|
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
|
2022-08-16 07:51:45 -04:00
|
|
|
.pipe(replace('@@ARCHITECTURE@@', rpmArch))
|
2022-08-17 01:36:15 -04:00
|
|
|
@@ -266,3 +263,3 @@ function prepareSnapPackage(arch) {
|
2022-08-16 07:51:45 -04:00
|
|
|
.pipe(replace('@@NAME@@', product.applicationName))
|
|
|
|
- .pipe(replace('@@VERSION@@', commit.substr(0, 8)))
|
2022-08-16 13:00:11 -04:00
|
|
|
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
|
2022-08-16 07:51:45 -04:00
|
|
|
// Possible run-on values https://snapcraft.io/docs/architectures
|
|
|
|
diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js
|
2022-08-16 13:00:11 -04:00
|
|
|
index 81ba509..43f5377 100644
|
2022-08-16 07:51:45 -04:00
|
|
|
--- a/build/gulpfile.vscode.win32.js
|
|
|
|
+++ b/build/gulpfile.vscode.win32.js
|
2022-08-17 01:36:15 -04:00
|
|
|
@@ -93,4 +93,4 @@ function buildWin32Setup(arch, target) {
|
2022-08-16 07:51:45 -04:00
|
|
|
DirName: product.win32DirName,
|
|
|
|
- Version: pkg.version,
|
|
|
|
- RawVersion: pkg.version.replace(/-\w+$/, ''),
|
2022-08-16 13:00:11 -04:00
|
|
|
+ Version: `${pkg.version}.${pkg.release}`,
|
|
|
|
+ RawVersion: `${pkg.version.replace(/-\w+$/, '')}.${pkg.release}`,
|
2022-08-16 07:51:45 -04:00
|
|
|
NameVersion: product.win32NameVersion + (target === 'user' ? ' (User)' : ''),
|
|
|
|
diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template
|
2022-08-17 01:36:15 -04:00
|
|
|
index 61659d2..5cafa06 100644
|
2022-08-16 07:51:45 -04:00
|
|
|
--- a/resources/linux/rpm/code.spec.template
|
|
|
|
+++ b/resources/linux/rpm/code.spec.template
|
2022-08-17 01:36:15 -04:00
|
|
|
@@ -2,3 +2,3 @@ Name: @@NAME@@
|
2022-08-16 07:51:45 -04:00
|
|
|
Version: @@VERSION@@
|
|
|
|
-Release: @@RELEASE@@.el7
|
|
|
|
+Release: el7
|
|
|
|
Summary: Code editing. Redefined.
|
2022-08-16 13:00:11 -04:00
|
|
|
diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
|
2022-09-25 08:54:41 -04:00
|
|
|
index e07695c..55ccc32 100644
|
2022-08-16 13:00:11 -04:00
|
|
|
--- a/src/vs/base/common/product.ts
|
|
|
|
+++ b/src/vs/base/common/product.ts
|
2022-08-17 01:36:15 -04:00
|
|
|
@@ -34,2 +34,3 @@ export interface IProductConfiguration {
|
2022-08-16 13:00:11 -04:00
|
|
|
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
|
2022-09-25 08:54:41 -04:00
|
|
|
index 66e35c8..087c055 100644
|
2022-08-16 13:00:11 -04:00
|
|
|
--- a/src/vs/platform/diagnostics/node/diagnosticsService.ts
|
|
|
|
+++ b/src/vs/platform/diagnostics/node/diagnosticsService.ts
|
2022-09-25 08:54:41 -04:00
|
|
|
@@ -238,3 +238,3 @@ export class DiagnosticsService implements IDiagnosticsService {
|
2022-08-16 13:00:11 -04:00
|
|
|
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()}`);
|
2022-08-16 07:51:45 -04:00
|
|
|
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
|
2022-09-25 08:54:41 -04:00
|
|
|
index bceda01..4fe44e2 100644
|
2022-08-16 07:51:45 -04:00
|
|
|
--- a/src/vs/platform/product/common/product.ts
|
|
|
|
+++ b/src/vs/platform/product/common/product.ts
|
2022-09-25 08:54:41 -04:00
|
|
|
@@ -49,6 +49,7 @@ else if (typeof require?.__$__nodeRequire === 'function') {
|
|
|
|
if (!product.version) {
|
|
|
|
- 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 };
|
2022-08-16 13:00:11 -04:00
|
|
|
|
2022-09-25 08:54:41 -04:00
|
|
|
Object.assign(product, {
|
|
|
|
- version: pkg.version
|
|
|
|
+ version: pkg.version,
|
|
|
|
+ release: pkg.release
|
|
|
|
});
|
2022-08-16 13:00:11 -04:00
|
|
|
diff --git a/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts b/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
|
2022-11-01 13:56:12 -04:00
|
|
|
index ec4ff95..2ed2c03 100644
|
2022-08-16 13:00:11 -04:00
|
|
|
--- a/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
|
|
|
|
+++ b/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
|
2022-11-01 13:56:12 -04:00
|
|
|
@@ -22,2 +22,3 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
|
|
|
|
import { MarkdownRenderer } from 'vs/editor/contrib/markdownRenderer/browser/markdownRenderer';
|
|
|
|
+import { getReleaseString } from 'vs/workbench/common/release';
|
|
|
|
|
|
|
|
@@ -145,2 +146,4 @@ export class BrowserDialogHandler implements IDialogHandler {
|
|
|
|
const detailString = (useAgo: boolean): string => {
|
|
|
|
+ const releaseString = getReleaseString();
|
|
|
|
+
|
2022-08-16 13:00:11 -04:00
|
|
|
return localize('aboutDetail',
|
2022-11-01 13:56:12 -04:00
|
|
|
@@ -151,3 +154,3 @@ export class BrowserDialogHandler implements IDialogHandler {
|
|
|
|
navigator.userAgent
|
|
|
|
- );
|
|
|
|
+ ).replace('\n', `\n${releaseString} ${this.productService.release || 'Unknown'}\n`);
|
|
|
|
};
|
|
|
|
diff --git a/src/vs/workbench/common/release.ts b/src/vs/workbench/common/release.ts
|
|
|
|
new file mode 100644
|
|
|
|
index 0000000..2a8ea57
|
|
|
|
--- /dev/null
|
|
|
|
+++ b/src/vs/workbench/common/release.ts
|
|
|
|
@@ -0,0 +1,14 @@
|
|
|
|
+import { language } from 'vs/base/common/platform';
|
|
|
|
+
|
|
|
|
+const DEFAULT_LABEL = 'Release:';
|
|
|
|
+const LABELS: { [key: string]: string } = {
|
|
|
|
+ 'en': DEFAULT_LABEL,
|
|
|
|
+ 'fr': 'Révision :',
|
|
|
|
+ 'ru': 'Релиз:',
|
|
|
|
+ 'zh-hans': '发布版本:',
|
|
|
|
+ 'zh-hant': '發布版本:',
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+export function getReleaseString(): string {
|
|
|
|
+ return LABELS[language] ?? DEFAULT_LABEL;
|
|
|
|
+}
|
2022-08-16 13:00:11 -04:00
|
|
|
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
|
2022-08-17 01:36:15 -04:00
|
|
|
@@ -67,2 +67,3 @@ export class WebIssueService implements IWorkbenchIssueService {
|
2022-08-16 13:00:11 -04:00
|
|
|
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
|
2022-11-01 13:56:12 -04:00
|
|
|
index f63b75f..2b77c1b 100644
|
2022-08-16 13:00:11 -04:00
|
|
|
--- a/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts
|
|
|
|
+++ b/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts
|
2022-11-01 13:56:12 -04:00
|
|
|
@@ -17,2 +17,3 @@ import { IProductService } from 'vs/platform/product/common/productService';
|
|
|
|
import { process } from 'vs/base/parts/sandbox/electron-sandbox/globals';
|
|
|
|
+import { getReleaseString } from 'vs/workbench/common/release';
|
|
|
|
|
|
|
|
@@ -166,2 +167,3 @@ export class NativeDialogHandler implements IDialogHandler {
|
|
|
|
const osProps = await this.nativeHostService.getOSProperties();
|
|
|
|
+ const releaseString = getReleaseString();
|
|
|
|
|
|
|
|
@@ -179,3 +181,3 @@ export class NativeDialogHandler implements IDialogHandler {
|
|
|
|
process.sandboxed ? 'Yes' : 'No' // TODO@bpasero remove me once sandbox is final
|
|
|
|
- );
|
|
|
|
+ ).replace('\n', `\n${releaseString} ${this.productService.release || 'Unknown'}\n`);
|
|
|
|
};
|