diff options
Diffstat (limited to 'src/tools/buildoutputparser/outputprocessor.cpp')
-rw-r--r-- | src/tools/buildoutputparser/outputprocessor.cpp | 28 |
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'; } |