diff options
author | Tobias Hunger <tobias.hunger@nokia.com> | 2009-12-09 13:54:46 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@nokia.com> | 2009-12-09 18:39:03 +0100 |
commit | ec025c6dbf1b3c9b6ff4ac7859d61f03b35c21f4 (patch) | |
tree | 5e3d5b2a0fcbd4928826466e59394a43c8b1b0d0 /src/plugins/qt4projectmanager/qmakeparser.cpp | |
parent | a0abde6306571fb7f12fe1d176cec1c8dba4d358 (diff) | |
download | qt-creator-ec025c6dbf1b3c9b6ff4ac7859d61f03b35c21f4.tar.gz |
Rework Build Parser handling
* Rework IBuildParser:
* Remove name() method.
* Remove enterDirectory and leaveDirectory signals.
* Allow chaining of parsers.
* Rename IBuildParser to IOutputParser.
* Implement GnuMakeParser.
* Remove entering/leaving directory related code from all other parsers
* Move filename fixup heuristic based on entering/leaving directory
massages from gnumake here from AbstractMakeStep.
* Add outputParser method to ToolChain: This removes the need to map
toolchains to BuildParser names in the BuildSteps.
* Enhance AbstractProcessStep to accept a IOutputParser to parse its output.
* Remove AbstractMakeStep.
* Set the appropriate Parsers in all classes deriving from AbstractProcessStep
and append the ToolChain's parser to the parser chain.
* Remove BuildParserFactories: There is no more need for them.
* Remove constants used to identify the BuildParsers.
* Clean up some names:
* Replace stdOut with stdOutput.
* Replace addToTaskWindow with addTask and addToOutputWindow with
addOutput. Do this wherever it is not yet clear that this will end up
in the Task/Output window.
Reviewed-by: dt
Diffstat (limited to 'src/plugins/qt4projectmanager/qmakeparser.cpp')
-rw-r--r-- | src/plugins/qt4projectmanager/qmakeparser.cpp | 45 |
1 files changed, 11 insertions, 34 deletions
diff --git a/src/plugins/qt4projectmanager/qmakeparser.cpp b/src/plugins/qt4projectmanager/qmakeparser.cpp index 767b86921a..804a567291 100644 --- a/src/plugins/qt4projectmanager/qmakeparser.cpp +++ b/src/plugins/qt4projectmanager/qmakeparser.cpp @@ -29,53 +29,30 @@ #include "qmakeparser.h" #include "qt4projectmanagerconstants.h" + #include <projectexplorer/taskwindow.h> #include <projectexplorer/projectexplorerconstants.h> +#include <utils/qtcassert.h> using namespace Qt4ProjectManager; using namespace Qt4ProjectManager::Internal; using ProjectExplorer::TaskWindow; -QMakeParserFactory::~QMakeParserFactory() -{ -} - -bool QMakeParserFactory::canCreate(const QString & name) const -{ - return (name == Constants::BUILD_PARSER_QMAKE); -} - -ProjectExplorer::IBuildParser * QMakeParserFactory::create(const QString & name) const -{ - Q_UNUSED(name) - return new QMakeParser(); -} - QMakeParser::QMakeParser() { } -QString QMakeParser::name() const -{ - return QLatin1String(Qt4ProjectManager::Constants::BUILD_PARSER_QMAKE); -} - -void QMakeParser::stdOutput(const QString & line) -{ - Q_UNUSED(line) -} - -void QMakeParser::stdError(const QString & line) +void QMakeParser::stdError(const QString &line) { QString lne(line.trimmed()); - if (lne.startsWith("Project ERROR:")) - { - lne = lne.mid(15); - emit addToTaskWindow(TaskWindow::Task(TaskWindow::Error, - lne /* description */, - QString() /* filename */, - -1 /* linenumber */, - ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)); + if (lne.startsWith("Project ERROR:")) { + const QString description = lne.mid(15); + emit addTask(TaskWindow::Task(TaskWindow::Error, + description, + QString() /* filename */, + -1 /* linenumber */, + ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)); return; } + IOutputParser::stdError(line); } |