From db2b0850103e44bb6ce51312a71a7ab181d03780 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 1 Dec 2020 14:57:54 +0100 Subject: [PATCH] Meson: Use new message manager API Avoid bringing general messages pane to front. Flash when starting a process, write output silently afterwards. Put an error into issues pane if parsing fails Also don't log debug messages by default. Task-number: QTCREATORBUG-24430 Change-Id: If4cbc1f48b0749b44410e2ac14d6796d63e4610e Reviewed-by: Alexis Jeandet Reviewed-by: Christian Kandeler --- .../mesonprojectmanager/project/mesonbuildsystem.cpp | 6 +++++- .../mesonprojectmanager/project/mesonprocess.cpp | 10 +++++----- .../mesonprojectmanager/project/mesonprojectparser.cpp | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/plugins/mesonprojectmanager/project/mesonbuildsystem.cpp b/src/plugins/mesonprojectmanager/project/mesonbuildsystem.cpp index d977c124535..b56d96aa870 100644 --- a/src/plugins/mesonprojectmanager/project/mesonbuildsystem.cpp +++ b/src/plugins/mesonprojectmanager/project/mesonbuildsystem.cpp @@ -32,6 +32,7 @@ #include "settings/tools/kitaspect/mesontoolkitaspect.h" #include +#include #include #include @@ -56,9 +57,11 @@ m_parseGuard = {}; \ }; +using namespace ProjectExplorer; + namespace MesonProjectManager { namespace Internal { -static Q_LOGGING_CATEGORY(mesonBuildSystemLog, "qtc.meson.buildsystem", QtDebugMsg); +static Q_LOGGING_CATEGORY(mesonBuildSystemLog, "qtc.meson.buildsystem", QtWarningMsg); MesonBuildSystem::MesonBuildSystem(MesonBuildConfiguration *bc) : ProjectExplorer::BuildSystem{bc} @@ -101,6 +104,7 @@ void MesonBuildSystem::parsingCompleted(bool success) UNLOCK(true); emitBuildSystemUpdated(); } else { + TaskHub::addTask(BuildSystemTask(Task::Error, tr("Meson build: Parsing failed"))); UNLOCK(false); emitBuildSystemUpdated(); } diff --git a/src/plugins/mesonprojectmanager/project/mesonprocess.cpp b/src/plugins/mesonprojectmanager/project/mesonprocess.cpp index 6b47fd75e4c..7fe551bb6bc 100644 --- a/src/plugins/mesonprojectmanager/project/mesonprocess.cpp +++ b/src/plugins/mesonprojectmanager/project/mesonprocess.cpp @@ -40,7 +40,7 @@ namespace MesonProjectManager { namespace Internal { -static Q_LOGGING_CATEGORY(mesonProcessLog, "qtc.meson.buildsystem", QtDebugMsg); +static Q_LOGGING_CATEGORY(mesonProcessLog, "qtc.meson.buildsystem", QtWarningMsg); MesonProcess::MesonProcess() { @@ -107,7 +107,7 @@ void MesonProcess::handleProcessFinished(int code, QProcess::ExitStatus status) m_future.reportFinished(); } const QString elapsedTime = Utils::formatElapsedTime(m_elapsed.elapsed()); - Core::MessageManager::write(elapsedTime); + Core::MessageManager::writeSilently(elapsedTime); emit finished(code, status); } @@ -183,7 +183,7 @@ void MesonProcess::setupProcess(const Command &command, m_process->setWorkingDirectory(command.workDir().toString()); m_process->setEnvironment(env); - Core::MessageManager::write( + Core::MessageManager::writeFlashing( tr("Running %1 in %2.").arg(command.toUserOutput()).arg(command.workDir().toUserOutput())); m_process->setCommand(command.cmdLine()); } @@ -213,7 +213,7 @@ void MesonProcess::processStandardOutput() { QTC_ASSERT(m_process, return ); auto data = m_process->readAllStandardOutput(); - Core::MessageManager::write(QString::fromLocal8Bit(data)); + Core::MessageManager::writeSilently(QString::fromLocal8Bit(data)); emit readyReadStandardOutput(data); } @@ -221,7 +221,7 @@ void MesonProcess::processStandardError() { QTC_ASSERT(m_process, return ); - Core::MessageManager::write(QString::fromLocal8Bit(m_process->readAllStandardError())); + Core::MessageManager::writeSilently(QString::fromLocal8Bit(m_process->readAllStandardError())); } } // namespace Internal } // namespace MesonProjectManager diff --git a/src/plugins/mesonprojectmanager/project/mesonprojectparser.cpp b/src/plugins/mesonprojectmanager/project/mesonprojectparser.cpp index 42ad911def6..fccbaf5f4bb 100644 --- a/src/plugins/mesonprojectmanager/project/mesonprojectparser.cpp +++ b/src/plugins/mesonprojectmanager/project/mesonprojectparser.cpp @@ -305,7 +305,7 @@ void MesonProjectParser::processFinished(int exitCode, QProcess::ExitStatus exit } else { if (m_introType == IntroDataType::stdo) { auto data = m_process.stdErr(); - Core::MessageManager::write(QString::fromLocal8Bit(data)); + Core::MessageManager::writeSilently(QString::fromLocal8Bit(data)); m_outputParser.readStdo(data); } emit parsingCompleted(false);