From 04bb65dcf7d95409f3934bbf8e4e21410f83b4d4 Mon Sep 17 00:00:00 2001 From: Yurong He <43652751+YurongHe@users.noreply.github.com> Date: Wed, 6 Feb 2019 14:09:19 -0800 Subject: [PATCH] Fixe Linux EMFILE: too many open file problem. (#3912) * Fixe Linux EMFILE: too many open file problem. Separated mssql from packageTask like azurecore. * Make mssql depends on azurecore * Minor fixes --- build/gulpfile.vscode.js | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js index 5c9a864438..42854f5de6 100644 --- a/build/gulpfile.vscode.js +++ b/build/gulpfile.vscode.js @@ -78,7 +78,7 @@ const sqlBuiltInExtensions = [ 'import', 'profiler' ]; -var azureExtensions = [ 'azurecore']; +var azureExtensions = [ 'azurecore', 'mssql']; const vscodeEntryPoints = _.flatten([ buildfile.entrypoint('vs/workbench/workbench.main'), @@ -280,13 +280,12 @@ function packageBuiltInExtensions() { }); } -// {{SQL CARBON EDIT}} -function packageAzureCoreTask(platform, arch) { +function packageExtensionTask(extensionName, platform, arch) { var destination = path.join(path.dirname(root), 'azuredatastudio') + (platform ? '-' + platform : '') + (arch ? '-' + arch : ''); if (platform === 'darwin') { - destination = path.join(destination, 'Azure Data Studio.app', 'Contents', 'Resources', 'app', 'extensions', 'azurecore'); + destination = path.join(destination, 'Azure Data Studio.app', 'Contents', 'Resources', 'app', 'extensions', extensionName); } else { - destination = path.join(destination, 'resources', 'app', 'extensions', 'azurecore'); + destination = path.join(destination, 'resources', 'app', 'extensions', extensionName); } platform = platform || process.platform; @@ -299,7 +298,7 @@ function packageAzureCoreTask(platform, arch) { const extensionName = path.basename(extensionPath); return { name: extensionName, path: extensionPath }; }) - .filter(({ name }) => azureExtensions.indexOf(name) > -1); + .filter(({ name }) => extensionName === name); const localExtensions = es.merge(...localExtensionDescriptions.map(extension => { return ext.fromLocal(extension.path); @@ -500,9 +499,13 @@ function packageTask(platform, arch, opts) { const buildRoot = path.dirname(root); // {{SQL CARBON EDIT}} -gulp.task('vscode-win32-x64-azurecore', ['optimize-vscode'], packageAzureCoreTask('win32', 'x64')); -gulp.task('vscode-darwin-azurecore', ['optimize-vscode'], packageAzureCoreTask('darwin')); -gulp.task('vscode-linux-x64-azurecore', ['optimize-vscode'], packageAzureCoreTask('linux', 'x64')); +gulp.task('vscode-win32-x64-azurecore', ['optimize-vscode'], packageExtensionTask('azurecore', 'win32', 'x64')); +gulp.task('vscode-darwin-azurecore', ['optimize-vscode'], packageExtensionTask('azurecore', 'darwin')); +gulp.task('vscode-linux-x64-azurecore', ['optimize-vscode'], packageExtensionTask('azurecore', 'linux', 'x64')); + +gulp.task('vscode-win32-x64-mssql', ['vscode-linux-x64-azurecore', 'optimize-vscode'], packageExtensionTask('mssql', 'win32', 'x64')); +gulp.task('vscode-darwin-mssql', ['vscode-linux-x64-azurecore', 'optimize-vscode'], packageExtensionTask('mssql', 'darwin')); +gulp.task('vscode-linux-x64-mssql', ['vscode-linux-x64-azurecore', 'optimize-vscode'], packageExtensionTask('mssql', 'linux', 'x64')); gulp.task('clean-vscode-win32-ia32', util.rimraf(path.join(buildRoot, 'azuredatastudio-win32-ia32'))); gulp.task('clean-vscode-win32-x64', util.rimraf(path.join(buildRoot, 'azuredatastudio-win32-x64'))); @@ -512,10 +515,10 @@ gulp.task('clean-vscode-linux-x64', util.rimraf(path.join(buildRoot, 'azuredatas gulp.task('clean-vscode-linux-arm', util.rimraf(path.join(buildRoot, 'azuredatastudio-linux-arm'))); gulp.task('vscode-win32-ia32', ['optimize-vscode', 'clean-vscode-win32-ia32'], packageTask('win32', 'ia32')); -gulp.task('vscode-win32-x64', ['vscode-win32-x64-azurecore', 'optimize-vscode', 'clean-vscode-win32-x64'], packageTask('win32', 'x64')); -gulp.task('vscode-darwin', ['vscode-darwin-azurecore', 'optimize-vscode', 'clean-vscode-darwin'], packageTask('darwin')); +gulp.task('vscode-win32-x64', ['vscode-win32-x64-azurecore', 'vscode-win32-x64-mssql', 'optimize-vscode', 'clean-vscode-win32-x64'], packageTask('win32', 'x64')); +gulp.task('vscode-darwin', ['vscode-darwin-azurecore', 'vscode-darwin-mssql', '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', ['vscode-linux-x64-azurecore', 'optimize-vscode', 'clean-vscode-linux-x64'], packageTask('linux', 'x64')); +gulp.task('vscode-linux-x64', ['vscode-linux-x64-azurecore', 'vscode-linux-x64-mssql', '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-ia32-min', ['minify-vscode', 'clean-vscode-win32-ia32'], packageTask('win32', 'ia32', { minified: true }));