diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js index da045d97a7..ecd92aed76 100644 --- a/build/gulpfile.vscode.js +++ b/build/gulpfile.vscode.js @@ -265,12 +265,24 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op ); if (platform === 'win32') { + if (quality !== 'stable') { + // {{SQL CARBON EDIT}} use separate icons for non-stable + gulp.src([ + 'resources/win32/code_70x70-insiders.png', + 'resources/win32/code_150x150-insiders.png' + ]).pipe(rename(function (f) { f.basename = f.basename.replace('-insiders', ''); })) + .pipe(gulp.dest('resources/win32')); + } all = es.merge(all, gulp.src([ // {{SQL CARBON EDIT}} remove unused icons 'resources/win32/code_70x70.png', 'resources/win32/code_150x150.png' ], { base: '.' })); } else if (platform === 'linux') { + // {{SQL CARBON EDIT}} use separate icons for non-stable + if (quality !== 'stable') { + gulp.src('resources/linux/code-insiders.png').pipe(rename('resources/linux/code.png')); + } all = es.merge(all, gulp.src('resources/linux/code.png', { base: '.' })); } else if (platform === 'darwin') { const shortcut = gulp.src('resources/darwin/bin/code.sh') @@ -442,7 +454,7 @@ gulp.task('vscode-translations-pull', function () { gulp.task('vscode-translations-import', function () { // {{SQL CARBON EDIT}} - Replace function body with our own - return new Promise(function(resolve) { + return new Promise(function (resolve) { [...i18n.defaultLanguages, ...i18n.extraLanguages].forEach(language => { let languageId = language.translationId ? language.translationId : language.id; gulp.src(`resources/xlf/${languageId}/**/*.xlf`) diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js index 76fb8bc354..7c11a7a524 100644 --- a/build/gulpfile.vscode.linux.js +++ b/build/gulpfile.vscode.linux.js @@ -53,7 +53,7 @@ function prepareDebPackage(arch) { .pipe(replace('@@LICENSE@@', product.licenseName)) .pipe(rename('usr/share/appdata/' + product.applicationName + '.appdata.xml')); - const icon = gulp.src('resources/linux/code.png', { base: '.' }) + const icon = gulp.src(product.quality === 'stable' ? 'resources/linux/code.png' : 'resources/linux/code-insiders.png', { base: '.' }) // {{SQL CARBON EDIT}} Use separate icons for non-stable .pipe(rename('usr/share/pixmaps/' + product.linuxIconName + '.png')); const bash_completion = gulp.src('resources/completions/bash/code') @@ -147,7 +147,7 @@ function prepareRpmPackage(arch) { .pipe(replace('@@LICENSE@@', product.licenseName)) .pipe(rename('usr/share/appdata/' + product.applicationName + '.appdata.xml')); - const icon = gulp.src('resources/linux/code.png', { base: '.' }) + const icon = gulp.src(product.quality === 'stable' ? 'resources/linux/code.png' : 'resources/linux/code-insiders.png', { base: '.' }) // {{SQL CARBON EDIT}} Use separate icons for non-stable .pipe(rename('BUILD/usr/share/pixmaps/' + product.linuxIconName + '.png')); const bash_completion = gulp.src('resources/completions/bash/code') @@ -225,7 +225,7 @@ function prepareSnapPackage(arch) { .pipe(replace('@@URLPROTOCOL@@', product.urlProtocol)); // An icon that is placed in snap/gui will be placed into meta/gui verbatim. - const icon = gulp.src('resources/linux/code.png', { base: '.' }) + const icon = gulp.src(product.quality === 'stable' ? 'resources/linux/code.png' : 'resources/linux/code-insiders.png', { base: '.' }) // {{SQL CARBON EDIT}} Use separate icons for non-stable .pipe(rename(`snap/gui/${product.linuxIconName}.png`)); const code = gulp.src(binaryDir + '/**/*', { base: binaryDir }) diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js index e5e21e3058..ca9406a654 100644 --- a/build/gulpfile.vscode.win32.js +++ b/build/gulpfile.vscode.win32.js @@ -6,6 +6,7 @@ 'use strict'; const gulp = require('gulp'); +const rename = require('gulp-rename'); // {{SQL CARBON EDIT}} const path = require('path'); const fs = require('fs'); const assert = require('assert'); @@ -42,6 +43,11 @@ function packageInnoSetup(iss, options, cb) { definitions['Sign'] = 'true'; } + // {{SQL CARBON EDIT}} Switch file icon for non-stable builds + if (product.quality !== 'stable') { + gulp.src('resources/win32/code_file-insiders.ico').pipe(rename('resources/win32/code_file.ico')).pipe(gulp.dest('resources/win32')); + } + const keys = Object.keys(definitions); keys.forEach(key => assert(typeof definitions[key] === 'string', `Missing value for '${key}' in Inno Setup package step`)); @@ -77,6 +83,15 @@ function buildWin32Setup(arch, target) { productJson['target'] = target; fs.writeFileSync(productJsonPath, JSON.stringify(productJson, undefined, '\t')); + // // {{SQL CARBON EDIT}} Modify installer file based on quality + if(product.quality !== 'stable') { + fs.writeFileSync(issPath, + fs.readFileSync(issPath).toString() + .replace(/inno-(small|big)-([\d]*)/g, 'inno-$1-$2-insiders') + .replace(/code.ico/g, 'code-insiders.ico')); + } + + const definitions = { NameLong: product.nameLong, NameShort: product.nameShort, @@ -138,7 +153,7 @@ function copyInnoUpdater(arch) { function updateIcon(executablePath) { return cb => { - const icon = path.join(repoPath, 'resources', 'win32', 'code.ico'); + const icon = product.quality === 'stable' ? path.join(repoPath, 'resources', 'win32', 'code-insiders.ico') : path.join(repoPath, 'resources', 'win32', 'code.ico'); // {{SQL CARBON EDIT}} Use separate icons for non-stable rcedit(executablePath, { icon }, cb); }; } diff --git a/build/lib/electron.js b/build/lib/electron.js index 58dc53a64d..b2e8a4a55b 100644 --- a/build/lib/electron.js +++ b/build/lib/electron.js @@ -36,13 +36,13 @@ exports.config = { productAppName: product.nameLong, companyName: 'Microsoft Corporation', copyright: 'Copyright (C) 2019 Microsoft. All rights reserved', - darwinIcon: 'resources/darwin/code.icns', + darwinIcon: product.quality === 'stable' ? 'resources/darwin/code.icns' : 'resources/darwin/code-insiders.icns', darwinBundleIdentifier: product.darwinBundleIdentifier, darwinApplicationCategoryType: 'public.app-category.developer-tools', darwinHelpBookFolder: 'VS Code HelpBook', darwinHelpBookName: 'VS Code HelpBook', darwinBundleDocumentTypes: [ - darwinBundleDocumentType(["csv", "json", "sqlplan", "sql", "xml"], 'resources/darwin/code_file.icns'), + darwinBundleDocumentType(["csv", "json", "sqlplan", "sql", "xml"], product.quality === 'stable' ? 'resources/darwin/code_file.icns' : 'resources/darwin/code_file-insiders.icns'), ], darwinBundleURLTypes: [{ role: 'Viewer', @@ -52,7 +52,7 @@ exports.config = { darwinForceDarkModeSupport: true, darwinCredits: darwinCreditsTemplate ? Buffer.from(darwinCreditsTemplate({ commit: commit, date: new Date().toISOString() })) : undefined, linuxExecutableName: product.applicationName, - winIcon: 'resources/win32/code.ico', + winIcon: product.quality === 'stable' ? 'resources/win32/code.ico' : 'resources/win32/code-insiders.ico', token: process.env['VSCODE_MIXIN_PASSWORD'] || process.env['GITHUB_TOKEN'] || undefined, repo: product.electronRepository || undefined }; diff --git a/build/lib/electron.ts b/build/lib/electron.ts index 2e078558b2..c995ad84f8 100644 --- a/build/lib/electron.ts +++ b/build/lib/electron.ts @@ -42,13 +42,13 @@ export const config = { productAppName: product.nameLong, companyName: 'Microsoft Corporation', copyright: 'Copyright (C) 2019 Microsoft. All rights reserved', - darwinIcon: 'resources/darwin/code.icns', + darwinIcon: product.quality === 'stable' ? 'resources/darwin/code.icns' : 'resources/darwin/code-insiders.icns', // {{SQL CARBON EDIT}} Use separate icons for non-stable darwinBundleIdentifier: product.darwinBundleIdentifier, darwinApplicationCategoryType: 'public.app-category.developer-tools', darwinHelpBookFolder: 'VS Code HelpBook', darwinHelpBookName: 'VS Code HelpBook', darwinBundleDocumentTypes: [ - darwinBundleDocumentType(["csv", "json", "sqlplan", "sql", "xml"], 'resources/darwin/code_file.icns'), + darwinBundleDocumentType(["csv", "json", "sqlplan", "sql", "xml"], product.quality === 'stable' ? 'resources/darwin/code_file.icns' : 'resources/darwin/code_file-insiders.icns'), // {{SQL CARBON EDIT}} - Remove most document types and replace with ours. Also use separate icon for non-stable ], darwinBundleURLTypes: [{ role: 'Viewer', @@ -58,7 +58,7 @@ export const config = { darwinForceDarkModeSupport: true, darwinCredits: darwinCreditsTemplate ? Buffer.from(darwinCreditsTemplate({ commit: commit, date: new Date().toISOString() })) : undefined, linuxExecutableName: product.applicationName, - winIcon: 'resources/win32/code.ico', + winIcon: product.quality === 'stable' ? 'resources/win32/code.ico' : 'resources/win32/code-insiders.ico', // {{SQL CARBON EDIT}} Use separate icons for non-stable token: process.env['VSCODE_MIXIN_PASSWORD'] || process.env['GITHUB_TOKEN'] || undefined, repo: product.electronRepository || undefined }; diff --git a/resources/darwin/code-insiders.icns b/resources/darwin/code-insiders.icns new file mode 100644 index 0000000000..f59c10980b Binary files /dev/null and b/resources/darwin/code-insiders.icns differ diff --git a/resources/darwin/code_file-insiders.icns b/resources/darwin/code_file-insiders.icns new file mode 100644 index 0000000000..afb15c449d Binary files /dev/null and b/resources/darwin/code_file-insiders.icns differ diff --git a/resources/linux/code-insiders.png b/resources/linux/code-insiders.png new file mode 100644 index 0000000000..eeea029e95 Binary files /dev/null and b/resources/linux/code-insiders.png differ diff --git a/resources/win32/code-insiders.ico b/resources/win32/code-insiders.ico new file mode 100644 index 0000000000..f1206c6e99 Binary files /dev/null and b/resources/win32/code-insiders.ico differ diff --git a/resources/win32/code_150x150-insiders.png b/resources/win32/code_150x150-insiders.png new file mode 100644 index 0000000000..08040f8799 Binary files /dev/null and b/resources/win32/code_150x150-insiders.png differ diff --git a/resources/win32/code_70x70-insiders.png b/resources/win32/code_70x70-insiders.png new file mode 100644 index 0000000000..ccea6683cc Binary files /dev/null and b/resources/win32/code_70x70-insiders.png differ diff --git a/resources/win32/code_file-insiders.ico b/resources/win32/code_file-insiders.ico new file mode 100644 index 0000000000..14e923dad3 Binary files /dev/null and b/resources/win32/code_file-insiders.ico differ diff --git a/resources/win32/inno-big-100-insiders.bmp b/resources/win32/inno-big-100-insiders.bmp new file mode 100644 index 0000000000..4897ba77d0 Binary files /dev/null and b/resources/win32/inno-big-100-insiders.bmp differ diff --git a/resources/win32/inno-big-125-insiders.bmp b/resources/win32/inno-big-125-insiders.bmp new file mode 100644 index 0000000000..ca4bb30ced Binary files /dev/null and b/resources/win32/inno-big-125-insiders.bmp differ diff --git a/resources/win32/inno-big-150-insiders.bmp b/resources/win32/inno-big-150-insiders.bmp new file mode 100644 index 0000000000..b7753ac510 Binary files /dev/null and b/resources/win32/inno-big-150-insiders.bmp differ diff --git a/resources/win32/inno-big-175-insiders.bmp b/resources/win32/inno-big-175-insiders.bmp new file mode 100644 index 0000000000..80839c6db4 Binary files /dev/null and b/resources/win32/inno-big-175-insiders.bmp differ diff --git a/resources/win32/inno-big-200-insiders.bmp b/resources/win32/inno-big-200-insiders.bmp new file mode 100644 index 0000000000..f6c3ed5ca4 Binary files /dev/null and b/resources/win32/inno-big-200-insiders.bmp differ diff --git a/resources/win32/inno-big-225-insiders.bmp b/resources/win32/inno-big-225-insiders.bmp new file mode 100644 index 0000000000..a0b48e081a Binary files /dev/null and b/resources/win32/inno-big-225-insiders.bmp differ diff --git a/resources/win32/inno-big-250-insiders.bmp b/resources/win32/inno-big-250-insiders.bmp new file mode 100644 index 0000000000..84865b01a2 Binary files /dev/null and b/resources/win32/inno-big-250-insiders.bmp differ diff --git a/resources/win32/inno-small-100-insiders.bmp b/resources/win32/inno-small-100-insiders.bmp new file mode 100644 index 0000000000..6751775d99 Binary files /dev/null and b/resources/win32/inno-small-100-insiders.bmp differ diff --git a/resources/win32/inno-small-125-insiders.bmp b/resources/win32/inno-small-125-insiders.bmp new file mode 100644 index 0000000000..7488f842e8 Binary files /dev/null and b/resources/win32/inno-small-125-insiders.bmp differ diff --git a/resources/win32/inno-small-150-insiders.bmp b/resources/win32/inno-small-150-insiders.bmp new file mode 100644 index 0000000000..4335e9944d Binary files /dev/null and b/resources/win32/inno-small-150-insiders.bmp differ diff --git a/resources/win32/inno-small-175-insiders.bmp b/resources/win32/inno-small-175-insiders.bmp new file mode 100644 index 0000000000..41b25ae364 Binary files /dev/null and b/resources/win32/inno-small-175-insiders.bmp differ diff --git a/resources/win32/inno-small-200-insiders.bmp b/resources/win32/inno-small-200-insiders.bmp new file mode 100644 index 0000000000..65a8bb950f Binary files /dev/null and b/resources/win32/inno-small-200-insiders.bmp differ diff --git a/resources/win32/inno-small-225-insiders.bmp b/resources/win32/inno-small-225-insiders.bmp new file mode 100644 index 0000000000..6df27c42c1 Binary files /dev/null and b/resources/win32/inno-small-225-insiders.bmp differ diff --git a/resources/win32/inno-small-250-insiders.bmp b/resources/win32/inno-small-250-insiders.bmp new file mode 100644 index 0000000000..7f4023873f Binary files /dev/null and b/resources/win32/inno-small-250-insiders.bmp differ