提交 99f9b13c 编写于 作者: J Joao Moreno

win32-ia32

上级 c33d2824
......@@ -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 }));
......
......@@ -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);
......@@ -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
......
......@@ -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" {
......
. .\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
......@@ -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
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册