aboutsummaryrefslogtreecommitdiffstats
path: root/src/tools/buildoutputparser/outputprocessor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/buildoutputparser/outputprocessor.cpp')
-rw-r--r--src/tools/buildoutputparser/outputprocessor.cpp28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/tools/buildoutputparser/outputprocessor.cpp b/src/tools/buildoutputparser/outputprocessor.cpp
index 083f4de89e..11bcdfe77c 100644
--- a/src/tools/buildoutputparser/outputprocessor.cpp
+++ b/src/tools/buildoutputparser/outputprocessor.cpp
@@ -30,10 +30,11 @@
#include <projectexplorer/gnumakeparser.h>
#include <projectexplorer/msvcparser.h>
#include <projectexplorer/osparser.h>
+#include <projectexplorer/taskhub.h>
#include <qmakeprojectmanager/qmakeparser.h>
#include <qtsupport/qtparser.h>
#include <utils/fileutils.h>
-
+#include <utils/outputformatter.h>
#include <QIODevice>
#include <QTextStream>
@@ -54,26 +55,29 @@ CompilerOutputProcessor::~CompilerOutputProcessor()
void CompilerOutputProcessor::start()
{
- ProjectExplorer::OsParser parser;
- parser.appendOutputParser(new QmakeProjectManager::QMakeParser);
- parser.appendOutputParser(new ProjectExplorer::GnuMakeParser);
- parser.appendOutputParser(new QtSupport::QtParser);
+ Utils::OutputFormatter parser;
+ parser.addLineParser(new ProjectExplorer::OsParser);
+ parser.addLineParser(new QmakeProjectManager::QMakeParser);
+ parser.addLineParser(new ProjectExplorer::GnuMakeParser);
+ parser.addLineParser(new QtSupport::QtParser);
switch (m_compilerType) {
case CompilerTypeGcc:
- parser.appendOutputParser(new ProjectExplorer::GccParser);
+ parser.addLineParsers(ProjectExplorer::GccParser::gccParserSuite());
break;
case CompilerTypeClang:
- parser.appendOutputParser(new ProjectExplorer::ClangParser);
+ parser.addLineParsers(ProjectExplorer::ClangParser::clangParserSuite());
break;
case CompilerTypeMsvc:
- parser.appendOutputParser(new ProjectExplorer::MsvcParser);
+ parser.addLineParser(new ProjectExplorer::MsvcParser);
break;
}
- connect(&parser, &ProjectExplorer::IOutputParser::addTask,
+ connect(ProjectExplorer::TaskHub::instance(), &ProjectExplorer::TaskHub::taskAdded,
this, &CompilerOutputProcessor::handleTask);
- while (!m_source.atEnd())
- parser.stdError(QString::fromLocal8Bit(m_source.readLine().trimmed()));
+ while (!m_source.atEnd()) {
+ parser.appendMessage(QString::fromLocal8Bit(m_source.readLine().trimmed()),
+ Utils::StdErrFormat);
+ }
QCoreApplication::quit();
}
@@ -86,5 +90,5 @@ void CompilerOutputProcessor::handleTask(const ProjectExplorer::Task &task)
*m_ostream << ':' << task.line;
*m_ostream << ": ";
}
- *m_ostream << task.description << '\n';
+ *m_ostream << task.description() << '\n';
}