From 9a89a329e1c944016dd625dab5e3f32deb6cdd71 Mon Sep 17 00:00:00 2001 From: isidor Date: Wed, 17 Feb 2016 17:28:34 +0100 Subject: [PATCH] tasks: surface exitCode --- src/vs/base/node/processes.ts | 2 +- src/vs/workbench/parts/tasks/common/taskSystem.ts | 4 ++++ src/vs/workbench/parts/tasks/node/processRunnerSystem.ts | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/vs/base/node/processes.ts b/src/vs/base/node/processes.ts index ac6cb80fd2f..4f6e4c6813b 100644 --- a/src/vs/base/node/processes.ts +++ b/src/vs/base/node/processes.ts @@ -200,7 +200,7 @@ export abstract class AbstractProcess { let result: SuccessData = { terminated: this.terminateRequested }; - if (this.shell && Platform.isWindows && Types.isNumber(data)) { + if (Types.isNumber(data)) { result.cmdCode = data; } cc(result); diff --git a/src/vs/workbench/parts/tasks/common/taskSystem.ts b/src/vs/workbench/parts/tasks/common/taskSystem.ts index fb77dbfb838..07e38db1a1b 100644 --- a/src/vs/workbench/parts/tasks/common/taskSystem.ts +++ b/src/vs/workbench/parts/tasks/common/taskSystem.ts @@ -171,6 +171,10 @@ export interface TaskRunnerConfiguration extends BaseTaskRunnerConfiguration { } export interface ITaskSummary { + /** + * Exit code of the process. + */ + exitCode?: number; } export interface ITaskRunResult { diff --git a/src/vs/workbench/parts/tasks/node/processRunnerSystem.ts b/src/vs/workbench/parts/tasks/node/processRunnerSystem.ts index f598b0d7935..7ecaf80082d 100644 --- a/src/vs/workbench/parts/tasks/node/processRunnerSystem.ts +++ b/src/vs/workbench/parts/tasks/node/processRunnerSystem.ts @@ -252,6 +252,7 @@ export class ProcessRunnerSystem extends EventEmitter implements ITaskSystem { if (success.cmdCode && success.cmdCode === 1 && watchingProblemMatcher.numberOfMatches === 0 && task.showOutput !== ShowOutput.Never) { this.showOutput(); } + taskSummary.exitCode = success.cmdCode; return taskSummary; }, (error: ErrorData) => { this.childProcessEnded(); @@ -293,6 +294,7 @@ export class ProcessRunnerSystem extends EventEmitter implements ITaskSystem { if (success.cmdCode && success.cmdCode === 1 && startStopProblemMatcher.numberOfMatches === 0 && task.showOutput !== ShowOutput.Never) { this.showOutput(); } + taskSummary.exitCode = success.cmdCode; return taskSummary; }, (error: ErrorData) => { this.childProcessEnded(); -- GitLab