From 672fc59fd6f20549aaa4ff7a4af8ccb710111a52 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Wed, 21 Aug 2013 11:40:00 +0200 Subject: [PATCH] OutputParser: Parsers with fatal errors will now cause failure for all steps Remove handling of parsers reporting fatal errors from the qmake based makestep and add it to abstractprocessstep instead. This makes the osparser work with all build systems. Change-Id: I1044d0e6002d2157946e0342fe060991ffe37ffa Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/abstractprocessstep.cpp | 3 +++ src/plugins/qt4projectmanager/makestep.cpp | 9 --------- src/plugins/qt4projectmanager/makestep.h | 1 - 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/plugins/projectexplorer/abstractprocessstep.cpp b/src/plugins/projectexplorer/abstractprocessstep.cpp index 5b0bc84c34b..c611b390cec 100644 --- a/src/plugins/projectexplorer/abstractprocessstep.cpp +++ b/src/plugins/projectexplorer/abstractprocessstep.cpp @@ -298,6 +298,9 @@ void AbstractProcessStep::processStartupFailed() bool AbstractProcessStep::processSucceeded(int exitCode, QProcess::ExitStatus status) { + if (outputParser() && outputParser()->hasFatalErrors()) + return false; + return exitCode == 0 && status == QProcess::NormalExit; } diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp index 55368856621..02a76cdec38 100644 --- a/src/plugins/qt4projectmanager/makestep.cpp +++ b/src/plugins/qt4projectmanager/makestep.cpp @@ -298,15 +298,6 @@ void MakeStep::run(QFutureInterface & fi) AbstractProcessStep::run(fi); } -bool MakeStep::processSucceeded(int exitCode, QProcess::ExitStatus status) -{ - // Symbian does retun 0, even on failed makes! So we check for fatal make errors here. - if (outputParser() && outputParser()->hasFatalErrors()) - return false; - - return AbstractProcessStep::processSucceeded(exitCode, status); -} - bool MakeStep::immutable() const { return false; diff --git a/src/plugins/qt4projectmanager/makestep.h b/src/plugins/qt4projectmanager/makestep.h index b09ceecbe03..d9729cbb3ac 100644 --- a/src/plugins/qt4projectmanager/makestep.h +++ b/src/plugins/qt4projectmanager/makestep.h @@ -85,7 +85,6 @@ public: virtual bool init(); virtual void run(QFutureInterface &); - bool processSucceeded(int exitCode, QProcess::ExitStatus status); virtual ProjectExplorer::BuildStepConfigWidget *createConfigWidget(); virtual bool immutable() const;