From 99f9b13c4e85672cc3cb79a98a8d9ff017cb6af8 Mon Sep 17 00:00:00 2001 From: Joao Moreno Date: Thu, 18 May 2017 12:07:48 +0200 Subject: [PATCH] win32-ia32 --- build/gulpfile.vscode.js | 46 ++++++++++++++++++++-------------- build/gulpfile.vscode.win32.js | 12 ++++----- build/tfs/linux/build.sh | 3 +++ build/tfs/win32/1_build.ps1 | 6 ++++- build/tfs/win32/2_package.ps1 | 2 +- build/tfs/win32/3_upload.ps1 | 10 ++++---- build/win32/code.iss | 2 +- 7 files changed, 48 insertions(+), 33 deletions(-) diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js index 042e45d4cd4..309c64326ba 100644 --- a/build/gulpfile.vscode.js +++ b/build/gulpfile.vscode.js @@ -136,20 +136,27 @@ const config = { repo: product.electronRepository || void 0 }; -gulp.task('clean-electron', util.rimraf('.build/electron')); +function getElectron(arch = process.arch) { + return () => { + const electronOpts = _.extend({}, config, { + platform: process.platform, + arch, + ffmpegChromium: true, + keepDefaultApp: true + }); + + return gulp.src('package.json') + .pipe(json({ name: product.nameShort })) + .pipe(electron(electronOpts)) + .pipe(filter(['**', '!**/app/package.json'])) + .pipe(vfs.dest('.build/electron')); + }; +} -gulp.task('electron', ['clean-electron'], () => { - const platform = process.platform; - const arch = process.env.VSCODE_ELECTRON_PLATFORM || (platform === 'win32' ? 'ia32' : process.arch); - const opts = _.extend({}, config, { platform, arch, ffmpegChromium: true, keepDefaultApp: true }); - const name = product.nameShort; - - return gulp.src('package.json') - .pipe(json({ name })) - .pipe(electron(opts)) - .pipe(filter(['**', '!**/app/package.json'])) - .pipe(vfs.dest('.build/electron')); -}); +gulp.task('clean-electron', util.rimraf('.build/electron')); +gulp.task('electron', ['clean-electron'], getElectron()); +gulp.task('electron-ia32', ['clean-electron'], getElectron('ia32')); +gulp.task('electron-x64', ['clean-electron'], getElectron('x64')); const languages = ['chs', 'cht', 'jpn', 'kor', 'deu', 'fra', 'esn', 'rus', 'ita']; @@ -187,9 +194,7 @@ function computeChecksum(filename) { return hash; } -function packageTask(platform, arch, opts) { - opts = opts || {}; - +function packageTask(platform, arch, opts = {}) { const destination = path.join(path.dirname(root), 'VSCode') + (platform ? '-' + platform : '') + (arch ? '-' + arch : ''); platform = platform || process.platform; arch = platform === 'win32' ? 'ia32' : arch; @@ -326,19 +331,22 @@ function packageTask(platform, arch, opts) { const buildRoot = path.dirname(root); -gulp.task('clean-vscode-win32', util.rimraf(path.join(buildRoot, 'VSCode-win32'))); +gulp.task('clean-vscode-win32-ia32', util.rimraf(path.join(buildRoot, 'VSCode-win32-ia32'))); +gulp.task('clean-vscode-win32-x64', util.rimraf(path.join(buildRoot, 'VSCode-win32-x64'))); gulp.task('clean-vscode-darwin', util.rimraf(path.join(buildRoot, 'VSCode-darwin'))); gulp.task('clean-vscode-linux-ia32', util.rimraf(path.join(buildRoot, 'VSCode-linux-ia32'))); gulp.task('clean-vscode-linux-x64', util.rimraf(path.join(buildRoot, 'VSCode-linux-x64'))); gulp.task('clean-vscode-linux-arm', util.rimraf(path.join(buildRoot, 'VSCode-linux-arm'))); -gulp.task('vscode-win32', ['optimize-vscode', 'clean-vscode-win32'], packageTask('win32')); +gulp.task('vscode-win32-ia32', ['optimize-vscode', 'clean-vscode-win32-ia32'], packageTask('win32', 'ia32')); +gulp.task('vscode-win32-x64', ['optimize-vscode', 'clean-vscode-win32-x64'], packageTask('win32', 'x64')); gulp.task('vscode-darwin', ['optimize-vscode', 'clean-vscode-darwin'], packageTask('darwin')); gulp.task('vscode-linux-ia32', ['optimize-vscode', 'clean-vscode-linux-ia32'], packageTask('linux', 'ia32')); gulp.task('vscode-linux-x64', ['optimize-vscode', 'clean-vscode-linux-x64'], packageTask('linux', 'x64')); gulp.task('vscode-linux-arm', ['optimize-vscode', 'clean-vscode-linux-arm'], packageTask('linux', 'arm')); -gulp.task('vscode-win32-min', ['minify-vscode', 'clean-vscode-win32'], packageTask('win32', null, { minified: true })); +gulp.task('vscode-win32-ia32-min', ['minify-vscode', 'clean-vscode-win32-ia32'], packageTask('win32', 'ia32', { minified: true })); +gulp.task('vscode-win32-x64-min', ['minify-vscode', 'clean-vscode-win32-x64'], packageTask('win32', 'x64', { minified: true })); gulp.task('vscode-darwin-min', ['minify-vscode', 'clean-vscode-darwin'], packageTask('darwin', null, { minified: true })); gulp.task('vscode-linux-ia32-min', ['minify-vscode', 'clean-vscode-linux-ia32'], packageTask('linux', 'ia32', { minified: true })); gulp.task('vscode-linux-x64-min', ['minify-vscode', 'clean-vscode-linux-x64'], packageTask('linux', 'x64', { minified: true })); diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js index a398076db3d..42f7e3363a6 100644 --- a/build/gulpfile.vscode.win32.js +++ b/build/gulpfile.vscode.win32.js @@ -15,8 +15,8 @@ const pkg = require('../package.json'); const product = require('../product.json'); const repoPath = path.dirname(__dirname); -const buildPath = path.join(path.dirname(repoPath), 'VSCode-win32'); -const zipPath = path.join(repoPath, '.build', 'win32', 'archive', 'VSCode-win32.zip'); +const buildPath = path.join(path.dirname(repoPath), 'VSCode-win32-ia32'); +const zipPath = path.join(repoPath, '.build', 'win32-ia32', 'archive', 'VSCode-win32-ia32.zip'); const issPath = path.join(__dirname, 'win32', 'code.iss'); const innoSetupPath = path.join(path.dirname(path.dirname(require.resolve('innosetup-compiler'))), 'bin', 'ISCC.exe'); @@ -57,8 +57,8 @@ function buildWin32Setup(cb) { packageInnoSetup(issPath, { definitions }, cb); } -gulp.task('clean-vscode-win32-setup', util.rimraf('.build/win32/setup')); -gulp.task('vscode-win32-setup', ['clean-vscode-win32-setup'], buildWin32Setup); +gulp.task('clean-vscode-win32-ia32-setup', util.rimraf('.build/win32-ia32/setup')); +gulp.task('vscode-win32-ia32-setup', ['clean-vscode-win32-ia32-setup'], buildWin32Setup); function archiveWin32Setup(cb) { const args = ['a', '-tzip', zipPath, buildPath, '-r']; @@ -68,5 +68,5 @@ function archiveWin32Setup(cb) { .on('exit', () => cb(null)); } -gulp.task('clean-vscode-win32-archive', util.rimraf('.build/win32/archive')); -gulp.task('vscode-win32-archive', ['clean-vscode-win32-archive'], archiveWin32Setup); +gulp.task('clean-vscode-win32-ia32-archive', util.rimraf('.build/win32-ia32/archive')); +gulp.task('vscode-win32-ia32-archive', ['clean-vscode-win32-ia32-archive'], archiveWin32Setup); diff --git a/build/tfs/linux/build.sh b/build/tfs/linux/build.sh index 52edf7ba62d..2b876b693c5 100755 --- a/build/tfs/linux/build.sh +++ b/build/tfs/linux/build.sh @@ -20,6 +20,9 @@ step "Install dependencies" \ step "Mix in repository from vscode-distro" \ npm run gulp -- mixin +step "Get Electron" \ + npm run gulp -- "electron-$ARCH" + step "Install distro dependencies" \ node build/tfs/common/installDistro.js --arch=$ARCH diff --git a/build/tfs/win32/1_build.ps1 b/build/tfs/win32/1_build.ps1 index a177c4b82e0..27ff376a851 100644 --- a/build/tfs/win32/1_build.ps1 +++ b/build/tfs/win32/1_build.ps1 @@ -20,12 +20,16 @@ step "Mix in repository from vscode-distro" { exec { & npm run gulp -- mixin } } +step "Get Electron" { + exec { & npm run gulp -- electron-ia32 } +} + step "Install distro dependencies" { exec { & node build\tfs\common\installDistro.js } } step "Build minified" { - exec { & npm run gulp -- --max_old_space_size=4096 vscode-win32-min } + exec { & npm run gulp -- --max_old_space_size=4096 vscode-win32-ia32-min } } step "Run unit tests" { diff --git a/build/tfs/win32/2_package.ps1 b/build/tfs/win32/2_package.ps1 index 7d29cca6c3a..bec7ba9b167 100644 --- a/build/tfs/win32/2_package.ps1 +++ b/build/tfs/win32/2_package.ps1 @@ -1,7 +1,7 @@ . .\build\tfs\win32\lib.ps1 step "Create archive and setup package" { - exec { & npm run gulp -- --max_old_space_size=4096 vscode-win32-archive vscode-win32-setup } + exec { & npm run gulp -- --max_old_space_size=4096 vscode-win32-ia32-archive vscode-win32-ia32-setup } } done \ No newline at end of file diff --git a/build/tfs/win32/3_upload.ps1 b/build/tfs/win32/3_upload.ps1 index 5b7e4a0f482..13581050618 100644 --- a/build/tfs/win32/3_upload.ps1 +++ b/build/tfs/win32/3_upload.ps1 @@ -8,9 +8,9 @@ Param( $Repo = "$(pwd)" $Root = "$Repo\.." -$Exe = "$Repo\.build\win32\setup\VSCodeSetup.exe" -$Zip = "$Repo\.build\win32\archive\VSCode-win32.zip" -$Build = "$Root\VSCode-win32" +$Exe = "$Repo\.build\win32-ia32\setup\VSCodeSetup.exe" +$Zip = "$Repo\.build\win32-ia32\archive\VSCode-win32-ia32.zip" +$Build = "$Root\VSCode-win32-ia32" # get version $PackageJson = Get-Content -Raw -Path "$Build\resources\app\package.json" | ConvertFrom-Json @@ -21,11 +21,11 @@ $env:MOONCAKE_STORAGE_ACCESS_KEY = $mooncakeStorageKey $env:AZURE_DOCUMENTDB_MASTERKEY = $documentDbKey step "Publish archive" { - exec { & node build/tfs/common/publish.js $Quality win32-archive archive "VSCode-win32-$Version.zip" $Version true $Zip } + exec { & node build/tfs/common/publish.js $Quality win32-archive archive "VSCode-win32-ia32-$Version.zip" $Version true $Zip } } step "Publish setup package" { - exec { & node build/tfs/common/publish.js $Quality win32 setup "VSCodeSetup-$Version.exe" $Version true $Exe } + exec { & node build/tfs/common/publish.js $Quality win32 setup "VSCodeSetup-ia32-$Version.exe" $Version true $Exe } } done \ No newline at end of file diff --git a/build/win32/code.iss b/build/win32/code.iss index 2fcc70db554..ce61c44b8cf 100644 --- a/build/win32/code.iss +++ b/build/win32/code.iss @@ -14,7 +14,7 @@ AppUpdatesURL=https://code.visualstudio.com/ DefaultDirName={pf}\{#DirName} DefaultGroupName={#NameLong} AllowNoIcons=yes -OutputDir={#RepoDir}\.build\win32\setup +OutputDir={#RepoDir}\.build\win32-ia32\setup OutputBaseFilename=VSCodeSetup Compression=lzma SolidCompression=yes -- GitLab