diff options
author | Tobias Hunger <tobias.hunger@digia.com> | 2013-12-11 17:50:17 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@digia.com> | 2013-12-11 17:51:25 +0100 |
commit | 1e71d63caddfacdd12d7e847f3daa167b856ec9f (patch) | |
tree | 17638381a37f26832367ca933ffddcdd9e671b94 /src/plugins/qtsupport | |
parent | 96a0e5eea3ab0651a939e150eaeda403ad6a17b1 (diff) | |
download | qt-creator-1e71d63caddfacdd12d7e847f3daa167b856ec9f.tar.gz |
Qt: Recognize issues with translations as build issues
Change-Id: I6ef0750d78ab2c935a34a047ffd49bc72c746dc2
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'src/plugins/qtsupport')
-rw-r--r-- | src/plugins/qtsupport/qtparser.cpp | 24 | ||||
-rw-r--r-- | src/plugins/qtsupport/qtparser.h | 1 |
2 files changed, 24 insertions, 1 deletions
diff --git a/src/plugins/qtsupport/qtparser.cpp b/src/plugins/qtsupport/qtparser.cpp index 42bab6995f..a4ad361e4d 100644 --- a/src/plugins/qtsupport/qtparser.cpp +++ b/src/plugins/qtsupport/qtparser.cpp @@ -39,10 +39,12 @@ using ProjectExplorer::Task; #define FILE_PATTERN "^(([A-Za-z]:)?[^:]+\\.[^:]+)" QtParser::QtParser() : - m_mocRegExp(QLatin1String(FILE_PATTERN"[:\\(](\\d+)\\)?:\\s([Ww]arning|[Ee]rror):\\s(.+)$")) + m_mocRegExp(QLatin1String(FILE_PATTERN"[:\\(](\\d+)\\)?:\\s([Ww]arning|[Ee]rror):\\s(.+)$")), + m_translationRegExp(QLatin1String("^([Ww]arning|[Ee]rror):\\s+(.*) in '(.*)'$")) { setObjectName(QLatin1String("QtParser")); m_mocRegExp.setMinimal(true); + m_translationRegExp.setMinimal(true); } void QtParser::stdError(const QString &line) @@ -63,6 +65,17 @@ void QtParser::stdError(const QString &line) emit addTask(task); return; } + if (m_translationRegExp.indexIn(lne) > -1) { + Task::TaskType type = Task::Warning; + if (m_translationRegExp.cap(1) == QLatin1String("Error")) + type = Task::Error; + Task task(type, m_translationRegExp.cap(2), + Utils::FileName::fromUserInput(m_translationRegExp.cap(3)) /* filename */, + -1, + ProjectExplorer::Constants::TASK_CATEGORY_COMPILE); + emit addTask(task); + return; + } IOutputParser::stdError(line); } @@ -150,6 +163,15 @@ void QtSupportPlugin::testQtOutputParser_data() Utils::FileName::fromUserInput(QLatin1String("E:/sandbox/creator/loaden/src/libs/utils/iwelcomepage.h")), 54, ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)) << QString(); + QTest::newRow("translation") + << QString::fromLatin1("Warning: dropping duplicate messages in '/some/place/qtcreator_fr.qm'") + << OutputParserTester::STDERR + << QString() << QString() + << (QList<ProjectExplorer::Task>() << Task(Task::Warning, + QLatin1String("dropping duplicate messages"), + Utils::FileName::fromUserInput(QLatin1String("/some/place/qtcreator_fr.qm")), -1, + ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)) + << QString(); } void QtSupportPlugin::testQtOutputParser() diff --git a/src/plugins/qtsupport/qtparser.h b/src/plugins/qtsupport/qtparser.h index a91b67e17b..a0c3738aa5 100644 --- a/src/plugins/qtsupport/qtparser.h +++ b/src/plugins/qtsupport/qtparser.h @@ -47,6 +47,7 @@ public: private: QRegExp m_mocRegExp; + QRegExp m_translationRegExp; }; } // namespace ProjectExplorer |