Electron Update 1.x (#11157)

* use electron 1.3.4

* ATOM_SHELL_INTERNAL_RUN_AS_NODE => ELECTRON_RUN_AS_NODE

* OSS input

* update electron.d.ts

* workaround for #8708

* bump oniguruma and chokidar with custom fsevents

* build with appveyor config from master

* oops, still use ELECTRON_RUN_AS_NODE

* use electron 1.3.5

* optional fsevents

* add cat.exe to workaround output issues

* use cat for tests

* remove some now obsolete ELECTRON_NO_ATTACH_CONSOLE

* also pipe output to cat for code.sh on windows

* unset ELECTRON_RUN_AS_NODE for appveyor

* fix tfs builds?

* fix build

* fix build?

* use cat only when running tests locally
This commit is contained in:
Benjamin Pasero 2016-09-14 07:29:20 +02:00 committed by GitHub
parent 5a5a9f7a40
commit 6fa85223ef
27 changed files with 623 additions and 172 deletions

View file

@ -38,7 +38,7 @@
},
{
"name": "chromium",
"version": "49.0.2623.75",
"version": "52.0.2743.82",
"repositoryURL": "http://www.chromium.org/Home",
"licenseDetail": [
"BSD License",
@ -74,20 +74,20 @@
},
{
"name": "libchromiumcontent",
"version": "49.0.2623.75",
"version": "52.0.2743.82",
"license": "MIT",
"repositoryURL": "https://github.com/electron/libchromiumcontent",
"isProd": true
},
{
"name": "nodejs",
"version": "5.10.0",
"version": "6.3.0",
"repositoryURL": "https://github.com/nodejs/node",
"isProd": true
},
{
"name": "electron",
"version": "0.37.6",
"version": "1.3.5",
"license": "MIT",
"repositoryURL": "https://github.com/electron/electron",
"isProd": true

View file

@ -1,5 +1,5 @@
environment:
ATOM_SHELL_INTERNAL_RUN_AS_NODE: 1
ELECTRON_RUN_AS_NODE: 1
VSCODE_BUILD_VERBOSE: true
install:

View file

@ -230,6 +230,7 @@ function packageTask(platform, arch, opts) {
if (platform === 'win32') {
result = es.merge(result, gulp.src('resources/win32/bin/code.js', { base: 'resources/win32' }));
result = es.merge(result, gulp.src('resources/win32/bin/cat.exe', { base: 'resources/win32' }));
result = es.merge(result, gulp.src('resources/win32/bin/code.cmd', { base: 'resources/win32' })
.pipe(replace('@@NAME@@', product.nameShort))

View file

@ -48,7 +48,7 @@ function generatePatchedEnv(env:any, stdInPipeName:string, stdOutPipeName:string
newEnv['STDIN_PIPE_NAME'] = stdInPipeName;
newEnv['STDOUT_PIPE_NAME'] = stdOutPipeName;
newEnv['STDERR_PIPE_NAME'] = stdErrPipeName;
newEnv['ATOM_SHELL_INTERNAL_RUN_AS_NODE'] = '1';
newEnv['ELECTRON_RUN_AS_NODE'] = '1';
return newEnv;
}

View file

@ -31,7 +31,7 @@ var stdErrPipeName = process.env['STDERR_PIPE_NAME'];
log('STDIN_PIPE_NAME: ' + stdInPipeName);
log('STDOUT_PIPE_NAME: ' + stdOutPipeName);
log('STDERR_PIPE_NAME: ' + stdErrPipeName);
log('ATOM_SHELL_INTERNAL_RUN_AS_NODE: ' + process.env['ATOM_SHELL_INTERNAL_RUN_AS_NODE']);
log('ELECTRON_RUN_AS_NODE: ' + process.env['ELECTRON_RUN_AS_NODE']);
// stdout redirection to named pipe
(function() {
@ -147,7 +147,7 @@ log('ATOM_SHELL_INTERNAL_RUN_AS_NODE: ' + process.env['ATOM_SHELL_INTERNAL_RUN_A
delete process.env['STDIN_PIPE_NAME'];
delete process.env['STDOUT_PIPE_NAME'];
delete process.env['STDERR_PIPE_NAME'];
delete process.env['ATOM_SHELL_INTERNAL_RUN_AS_NODE'];
delete process.env['ELECTRON_RUN_AS_NODE'];
require(program);

2
npm-shrinkwrap.json generated
View file

@ -414,7 +414,7 @@
"from": "vscode-textmate@2.1.1",
"resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-2.1.1.tgz"
},
"windows-mutex": {
"windows-mutex": {
"version": "0.2.0",
"from": "windows-mutex@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/windows-mutex/-/windows-mutex-0.2.0.tgz"

View file

@ -1,7 +1,7 @@
{
"name": "code-oss-dev",
"version": "1.6.0",
"electronVersion": "0.37.6",
"electronVersion": "1.3.5",
"distro": "3d44b35db8d394d6d7b2bc224675735a0a8f2704",
"author": {
"name": "Microsoft Corporation"

View file

@ -7,5 +7,5 @@ function realpath() { /usr/bin/python -c "import os,sys; print os.path.realpath(
CONTENTS="$(dirname "$(dirname "$(dirname "$(dirname "$(realpath "$0")")")")")"
ELECTRON="$CONTENTS/MacOS/Electron"
CLI="$CONTENTS/Resources/app/out/cli.js"
ATOM_SHELL_INTERNAL_RUN_AS_NODE=1 "$ELECTRON" "$CLI" "$@"
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" "$@"
exit $?

View file

@ -33,5 +33,5 @@ fi
ELECTRON="$VSCODE_PATH/@@NAME@@"
CLI="$VSCODE_PATH/resources/app/out/cli.js"
ATOM_SHELL_INTERNAL_RUN_AS_NODE=1 "$ELECTRON" "$CLI" "$@"
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" "$@"
exit $?

BIN
resources/win32/bin/cat.exe Normal file

Binary file not shown.

View file

@ -1,6 +1,6 @@
@echo off
setlocal
set VSCODE_DEV=
set ATOM_SHELL_INTERNAL_RUN_AS_NODE=1
call "%~dp0..\@@NAME@@.exe" "%~dp0..\resources\\app\\out\\cli.js" %*
set ELECTRON_RUN_AS_NODE=1
call "%~dp0..\@@NAME@@.exe" "%~dp0..\resources\\app\\out\\cli.js" %* | cat
endlocal

View file

@ -11,5 +11,5 @@ if [ "$(expr substr $(uname -s) 1 9)" == "CYGWIN_NT" ]; then
else
CLI="$VSCODE_PATH/resources/app/out/cli.js"
fi
ELECTRON_NO_ATTACH_CONSOLE=1 ATOM_SHELL_INTERNAL_RUN_AS_NODE=1 "$ELECTRON" "$CLI" "$@"
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" "$@" | cat
exit $?

View file

@ -30,7 +30,7 @@ function code() {
CLI="$ROOT/out/cli.js"
ATOM_SHELL_INTERNAL_RUN_AS_NODE=1 \
ELECTRON_RUN_AS_NODE=1 \
NODE_ENV=development \
VSCODE_DEV=1 \
ELECTRON_ENABLE_LOGGING=1 \

View file

@ -1,10 +1,8 @@
@echo off
setlocal
rem APPVEYOR Builds
if not "%APPVEYOR%" == "" (
set ELECTRON_NO_ATTACH_CONSOLE=1
set ATOM_SHELL_INTERNAL_RUN_AS_NODE=
set ELECTRON_RUN_AS_NODE=
)
:: Integration Tests

View file

@ -1,17 +1,7 @@
@echo off
setlocal
set ATOM_SHELL_INTERNAL_RUN_AS_NODE=1
rem TFS Builds
if not "%BUILD_BUILDID%" == "" (
set ELECTRON_NO_ATTACH_CONSOLE=1
)
rem APPVEYOR Builds
if not "%APPVEYOR%" == "" (
set ELECTRON_NO_ATTACH_CONSOLE=1
)
set ELECTRON_RUN_AS_NODE=1
pushd %~dp0\..
@ -20,7 +10,15 @@ set NAMESHORT=%NAMESHORT: "=%
set NAMESHORT=%NAMESHORT:"=%.exe
set CODE=".build\electron\%NAMESHORT%"
%CODE% .\node_modules\mocha\bin\_mocha %*
rem TFS Builds
if not "%BUILD_BUILDID%" == "" (
%CODE% .\node_modules\mocha\bin\_mocha %*
)
rem Otherwise
if "%BUILD_BUILDID%" == "" (
%CODE% .\node_modules\mocha\bin\_mocha %* | .\resources\win32\bin\cat
)
popd
endlocal

View file

@ -30,11 +30,11 @@ test -d out || ./node_modules/.bin/gulp compile
# Unit Tests
export VSCODE_DEV=1
if [[ "$OSTYPE" == "darwin"* ]]; then
cd $ROOT ; ulimit -n 4096 ; ATOM_SHELL_INTERNAL_RUN_AS_NODE=1 \
cd $ROOT ; ulimit -n 4096 ; ELECTRON_RUN_AS_NODE=1 \
"$CODE" \
node_modules/mocha/bin/_mocha "$@"
else
cd $ROOT ; ATOM_SHELL_INTERNAL_RUN_AS_NODE=1 \
cd $ROOT ; ELECTRON_RUN_AS_NODE=1 \
"$CODE" \
node_modules/mocha/bin/_mocha "$@"
fi

File diff suppressed because it is too large Load diff

View file

@ -49,7 +49,7 @@ function generatePatchedEnv(env:any, stdInPipeName:string, stdOutPipeName:string
newEnv['STDIN_PIPE_NAME'] = stdInPipeName;
newEnv['STDOUT_PIPE_NAME'] = stdOutPipeName;
newEnv['STDERR_PIPE_NAME'] = stdErrPipeName;
newEnv['ATOM_SHELL_INTERNAL_RUN_AS_NODE'] = '1';
newEnv['ELECTRON_RUN_AS_NODE'] = '1';
return newEnv;
}

View file

@ -33,7 +33,7 @@ var stdErrPipeName = process.env['STDERR_PIPE_NAME'];
log('STDIN_PIPE_NAME: ' + stdInPipeName);
log('STDOUT_PIPE_NAME: ' + stdOutPipeName);
log('STDERR_PIPE_NAME: ' + stdErrPipeName);
log('ATOM_SHELL_INTERNAL_RUN_AS_NODE: ' + process.env['ATOM_SHELL_INTERNAL_RUN_AS_NODE']);
log('ELECTRON_RUN_AS_NODE: ' + process.env['ELECTRON_RUN_AS_NODE']);
// stdout redirection to named pipe
(function() {
@ -149,7 +149,7 @@ log('ATOM_SHELL_INTERNAL_RUN_AS_NODE: ' + process.env['ATOM_SHELL_INTERNAL_RUN_A
delete process.env['STDIN_PIPE_NAME'];
delete process.env['STDOUT_PIPE_NAME'];
delete process.env['STDERR_PIPE_NAME'];
delete process.env['ATOM_SHELL_INTERNAL_RUN_AS_NODE'];
delete process.env['ELECTRON_RUN_AS_NODE'];
require(program);

View file

@ -273,13 +273,13 @@ interface IEnv {
function getUnixShellEnvironment(): TPromise<IEnv> {
const promise = new TPromise((c, e) => {
const runAsNode = process.env['ATOM_SHELL_INTERNAL_RUN_AS_NODE'];
const runAsNode = process.env['ELECTRON_RUN_AS_NODE'];
const noAttach = process.env['ELECTRON_NO_ATTACH_CONSOLE'];
const mark = generateUuid().replace(/-/g, '').substr(0, 12);
const regex = new RegExp(mark + '(.*)' + mark);
const env = assign({}, process.env, {
ATOM_SHELL_INTERNAL_RUN_AS_NODE: '1',
ELECTRON_RUN_AS_NODE: '1',
ELECTRON_NO_ATTACH_CONSOLE: '1'
});
@ -307,9 +307,9 @@ function getUnixShellEnvironment(): TPromise<IEnv> {
const env = JSON.parse(rawStripped);
if (runAsNode) {
env['ATOM_SHELL_INTERNAL_RUN_AS_NODE'] = runAsNode;
env['ELECTRON_RUN_AS_NODE'] = runAsNode;
} else {
delete env['ATOM_SHELL_INTERNAL_RUN_AS_NODE'];
delete env['ELECTRON_RUN_AS_NODE'];
}
if (noAttach) {

View file

@ -568,7 +568,7 @@ export class VSCodeWindow {
return null;
}
public getBounds(): Electron.Bounds {
public getBounds(): Electron.Rectangle {
const pos = this.win.getPosition();
const dimension = this.win.getSize();

View file

@ -41,7 +41,7 @@ export function main(argv: string[]): TPromise<void> {
'VSCODE_CLI': '1',
'ELECTRON_NO_ATTACH_CONSOLE': '1'
});
delete env['ATOM_SHELL_INTERNAL_RUN_AS_NODE'];
delete env['ELECTRON_RUN_AS_NODE'];
let options = {
detached: true,

View file

@ -12,7 +12,8 @@
cursor: default;
}
.monaco-workbench .monaco-editor .margin-view-overlays .line-numbers {
/* disable until https://github.com/Microsoft/vscode/issues/8708 is fixed */
/*.monaco-workbench .monaco-editor .margin-view-overlays .line-numbers {
cursor: -webkit-image-set(
url('flipped-cursor.svg') 1x,
url('flipped-cursor-2x.svg') 2x
@ -24,7 +25,7 @@
url('flipped-cursor-mac.svg') 1x,
url('flipped-cursor-mac-2x.svg') 2x
) 24 3, default;
}
}*/
.monaco-editor .margin-view-overlays .line-numbers.lh-odd {
margin-top: 1px;

View file

@ -607,7 +607,7 @@ export class DebugService implements debug.IDebugService {
timeout: 1000 * 60 * 5,
args: [`${ publisher }.${ type }`, JSON.stringify(data), aiKey],
env: {
ATOM_SHELL_INTERNAL_RUN_AS_NODE: 1,
ELECTRON_RUN_AS_NODE: 1,
PIPE_LOGGING: 'true',
AMD_ENTRYPOINT: 'vs/workbench/parts/debug/node/telemetryApp'
}

View file

@ -158,7 +158,7 @@ function createRemoteRawGitService(gitPath: string, execPath: string, workspaceR
timeout: 1000 * 60,
args: [path, workspaceRoot, encoding, execPath, version],
env: {
ATOM_SHELL_INTERNAL_RUN_AS_NODE: 1,
ELECTRON_RUN_AS_NODE: 1,
PIPE_LOGGING: 'true',
AMD_ENTRYPOINT: 'vs/workbench/parts/git/node/gitApp',
VERBOSE_LOGGING: String(verbose)

View file

@ -65,7 +65,7 @@ function getArgs() {
function cleanEnv() {
var keys = [
'ATOM_SHELL_INTERNAL_RUN_AS_NODE',
'ELECTRON_RUN_AS_NODE',
'PTYCWD',
'PTYPID',
'PTYSHELL'

View file

@ -54,7 +54,7 @@ export class ContextMenuService implements IContextMenuService {
x *= zoom;
y *= zoom;
menu.popup(remote.getCurrentWindow(), Math.floor(x), Math.floor(y), -1 /* no item selected by default */);
menu.popup(remote.getCurrentWindow(), Math.floor(x), Math.floor(y));
if (delegate.onHide) {
delegate.onHide(undefined);
}