summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/ioutputparser.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-061-1/+1
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Port from qAsConst() to std::as_const()Marc Mutz2022-10-071-1/+1
| | | | | | | | | | | | | | We've been requiring C++17 since Qt 6.0, and our qAsConst use finally starts to bother us (QTBUG-99313), so time to port away from it now. Since qAsConst has exactly the same semantics as std::as_const (down to rvalue treatment, constexpr'ness and noexcept'ness), there's really nothing more to it than a global search-and-replace. Task-number: QTBUG-99313 Change-Id: I88edd91395849574436299b8badda21bb93bea39 Reviewed-by: hjk <hjk@qt.io>
* Use SPDX license identifiersLucie Gérard2022-08-261-24/+2
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Fix various compiler warningsChristian Kandeler2021-12-021-1/+1
| | | | | | Change-Id: Ib64f04f154b2c44dad3248ef038449c2ac628686 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* ProjectExplorer: Generalize issues -> output pane linkingChristian Kandeler2021-11-251-1/+13
| | | | | | | | This feature was specific to the compile output pane, but we want to have it in other panes too. Change-Id: I110b27af7d0aa23acbc5623d1c0405816250df19 Reviewed-by: hjk <hjk@qt.io>
* Some Qt6 portinghjk2020-07-221-1/+1
| | | | | | | | | - new ambiguous overloads for mapToGlobal - some functions now return qsizetype instead of int Task-number: QTCREATORBUG-24098 Change-Id: I0020e5689e093653e9e0e6f0d6263720bc2e003b Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* GCC parser: Create fewer and better issuesChristian Kandeler2020-05-181-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider the following compiler warning: In file included from qgroundcontrol/libs/mavlink/include/mavlink/v2.0/ ardupilotmega/ardupilotmega.h:946, from qgroundcontrol/libs/mavlink/include/mavlink/v2.0/ ardupilotmega/mavlink.h:32, from qgroundcontrol/src/comm/QGCMAVLink.h:24, from qgroundcontrol/src/comm/LinkInterface.h:21, from qgroundcontrol/src/comm/LinkManager.h:21, from qgroundcontrol/src/QGCApplication.h:27, from qgroundcontrol/src/QtLocationPlugin/ QGCMapUrlEngine.cpp:19: qgroundcontrol/libs/mavlink/include/mavlink/v2.0/ardupilotmega/./ mavlink_msg_vision_position_delta.h: In function ‘uint16_t mavlink_msg_vision_position_delta_encode(uint8_t, uint8_t, mavlink_message_t*, const mavlink_vision_position_delta_t*)’: qgroundcontrol/libs/mavlink/include/mavlink/v2.0/ardupilotmega/./ mavlink_msg_vision_position_delta.h:138:178: warning: taking address of packed member of ‘__mavlink_vision_position_delta_t’ may result in an unaligned pointer value [-Waddress-of-packed-member] 138 | return mavlink_msg_vision_position_delta_pack(system_id, component_id, msg, vision_position_delta->time_usec, vision_position_delta->time_delta_usec, vision_position_delta- >angle_delta, vision_position_delta->position_delta, vision_position_delta->confidence); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ Before this patch, this output resulted in nine entries in the issues pane, which defeats the purpose: The user is supposed to get a quick overview of the build problems, but instead we basically just copied over the contents of the compile window, which is of little help and also slows things down by overloading the task model. We now try harder to identify output lines that belong to the same issue and create just one task for them. File paths are now linkified in the detailed issue view, so that users can still navigate quickly to all involved files. Task-number: QTCREATORBUG-22914 Change-Id: I1aed2ffac7d363c02073ef318cb863754379cf6d Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Give the Task class an explicit summaryChristian Kandeler2020-05-141-0/+15
| | | | | | | | | | | | | We'd like to create more useful tasks from compiler output, that is, try harder to identify consecutive lines that refer to the same issue and create one task for them, rather than one for each line. In such "aggregate" tasks, the first line will not necessarily carry the main information. Therefore, we make it explicit what this main information is by introducing a dedicated summary member. Also streamline the font handling for compile tasks. Change-Id: I933f2643a13c710dab1ab548c56669b129026eb5 Reviewed-by: hjk <hjk@qt.io>
* Merge output formatters and output parsersChristian Kandeler2020-04-231-286/+16
| | | | | | | | | | | | | | | | | | | | | | | Now only one piece of code needs to be written to both linkify output in an output pane and create tasks for it in the issues pane. The calling sites are also simplified. For instance, until now, build steps had to feed their output parsers manually and then push the created tasks up the signal stack in parallel with the actual output, which the build manager relied upon for cross-linking the output pane content. Afterwards, the output would get forwarded to the formatter (and parsed for ANSI escape codes a second time). In contrast, a build step now just forwards the process output, and task parsing as well as output formatting is done centrally further up the stack. Concrete user-visible improvements so far: - File paths in compiler/linker messages are clickable links now. - QtTest applications now create clickable links also when run as part of a build step, not just in the app output pane. Task-number: QTCREATORBUG-22665 Change-Id: Ic9fb95b2d97f2520ab3ec653315e9219466ec08d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Output parsers: Make file look-up self-containedChristian Kandeler2020-04-171-2/+26
| | | | | Change-Id: Iffe104b6b52f0902f1977adeaa0fee3dc1e374a4 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Split up the IOutputParser classChristian Kandeler2020-04-161-105/+117
| | | | | | | | For symmetry with Utils::OutputFormatter. Task-number: QTCREATORBUG-22665 Change-Id: I148fed69dba042ad3ef26e080829c31cd3f357fd Reviewed-by: hjk <hjk@qt.io>
* Output parsers: Replace the chaining approachChristian Kandeler2020-04-091-77/+116
| | | | | | | | | | | Use "flat" aggregation instead. This is another step towards the formatter/parser merger. Along the way, also fix some some subclasses (mostly in BareMetal) that erroneously forwarded handled output to other parsers. Task-number: QTCREATORBUG-22665 Change-Id: I12947349ca663d2e6bbfc99efd069d69e2b54969 Reviewed-by: hjk <hjk@qt.io>
* IOutputParser: Replace std{Out,Err} with a single parameterized functionChristian Kandeler2020-04-081-35/+20
| | | | | | | | Another step towards parser/formatter unification. Task-number: QTCREATORBUG-22665 Change-Id: I6de86b3aee2c54585cdd4b06d21b0ea67300aeac Reviewed-by: hjk <hjk@qt.io>
* Output parsers: Generalize the search directory conceptChristian Kandeler2020-04-071-16/+46
| | | | | | | | | | All parsers can now have search directories, not just the GnuMakeParser. This allows us to get rid of the "task mangling", removing another instance where the order of parsers in the chain mattered. Task-number: QTCREATORBUG-22665 Change-Id: Id0d55522ae6800afd9f50ff36546224b0d8bb382 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Dissolve the AnsiFilterParser classChristian Kandeler2020-04-071-7/+24
| | | | | | | | | | | | | | This class was different from all the other output parsers in that its only responsibility was to pre-process the output before it was passed to the real parsers. We now make this explicit by introducing the concept of a filter function and turning the AnsiFilterParser class into one of those. This also gets rid of a case where the order of output parsers in the chain matters, which we want to move away from. Task-number: QTCREATORBUG-22665 Change-Id: Ica135e54ab43cf2ca8186073dc2487c906d4b38d Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Let IOutputParser handle newlinesChristian Kandeler2020-04-071-37/+94
| | | | | | | | | | This makes IOutputParser structurally more similar to Utils::OutputFormatter, which makes it simpler to explore possibilities of somehow uniting these two related classes. Task-number: QTCREATORBUG-22665 Change-Id: Ibb12ab6c8c785d863b9a921102a929864d0a5251 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Clean up IOutputParser interfaceChristian Kandeler2020-04-031-31/+6
| | | | | | | | | | | | - Remove unneeded/unused functions. - De-virtualize where possible. In particular, after untangling a number of self-referential redirections, it became apparent that the outputAdded() infrastructure was entirely unused. Change-Id: I51e1beed008df2727b42494b087efa476342397e Reviewed-by: hjk <hjk@qt.io>
* Utils: Rename FileName to FilePathhjk2019-05-281-1/+1
| | | | | | | | More in line with QFileInfo terminonlogy which appears to be best-of-breed within Qt. Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Use Utils::FileName in ProcessParametershjk2019-05-151-0/+5
| | | | | | | For the command and the working directory. Change-Id: Ia69dc7100aeb57bb6e1b35f4dd4f3cf3763d8cda Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: ModernizeAlessandro Portale2018-07-161-1/+1
| | | | | | | | | | | | | | modernize-use-auto modernize-use-nullptr modernize-use-override modernize-use-using modernize-use-default-member-init modernize-use-equals-default modernize-use-transparent-functors Change-Id: Iebed22caa2e733d292f334e956e3d16b844e14e3 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Projectexplorer: Modernize codebaseTobias Hunger2016-04-151-1/+1
| | | | | | Change-Id: I4793b58aa77bcd46af99f8b843c0f7439cdc9269 Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com> Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
* IOutputParser::setChildParser(): Do not connect to 0.Friedemann Kleint2016-02-021-4/+6
| | | | | | | | | | | Fixes warnings: WARN : ProjectExplorer::ProjectExplorerPlugin::testMsvcOutputParsers(Multiline error) QObject::connect: invalid null parameter when running: qtcreator -test ProjectExplorer,testMsvcOutputParsers Change-Id: I07285b43873d76d67fcb0a67a9955d95ec1ac267 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* ProjectExplorer: Use Qt5-style connectsOrgad Shaneh2016-02-011-4/+8
| | | | | | | The heavy lifting was done by clazy. Change-Id: I619db09a79760186b72e7662490ed1205155c1a7 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* IOutputParser: Cleanup and fixTobias Hunger2016-01-251-12/+6
| | | | | Change-Id: I6ab47e44056c9af7def4e5eb301b1e64f6766c32 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Update License according to agreement with Free Qt FoundationTobias Hunger2016-01-191-17/+12
| | | | | | | * Update files in src/plugins Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Tasks: Make the linking of compile output to Tasks more robustDaniel Teske2015-04-211-6/+6
| | | | | | | | | | | | | | | | | | | | Clicking on error messages is supposed to jump to the editor. And "Show Output" on the task is supposed to select the error in the output. The old code just registered the task for the last line of output. This broke for every parser that allowed for error messages that spanned multiple lines. And was obviously also incorrect for tasks that weren't generated due to compile output. Fix both of those issues by giving the IOutputParsers more control on which lines are linked to a task. Task-number: QTCREATORBUG-14136 Change-Id: I095922c9875620dabfb7d406f6b152c8a9b25b62 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com> Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* Update LicenseEike Ziller2015-01-161-6/+6
| | | | | Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* Merge "Merge remote-tracking branch 'origin/3.2'"Eike Ziller2014-10-141-7/+8
|\
| * License updateEike Ziller2014-10-091-7/+8
| | | | | | | | | | Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* | ProjectExplorer: Remove redundant namespace qualificationsOrgad Shaneh2014-10-141-2/+2
|/ | | | | Change-Id: Id9034e31f3f61c38894111951534dd0d59b746dc Reviewed-by: hjk <hjk121@nokiamail.com>
* Incremented year in copyright infoRobert Loehning2014-01-081-1/+1
| | | | | | Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Rename "[Mm]ethod(s)" to "[Ff]unction(s)"Nikolai Kosjar2013-10-101-3/+3
| | | | | | | | | | | Only methods as programming functions are affected. Besides renaming some actions like "Switch Between Function Declaration/Definition" this mostly touches (api) code comments. This is a follow-up patch to commit 872bfb7. Change-Id: Icb65e8d73b59a022f8885b14df497169543a3b92 Reviewed-by: hjk <hjk121@nokiamail.com>
* Merge remote-tracking branch 'origin/2.8'Eike Ziller2013-09-271-15/+20
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/libs/extensionsystem/pluginmanager.cpp src/libs/extensionsystem/pluginspec.cpp src/plugins/coreplugin/basefilewizard.cpp src/plugins/coreplugin/coreplugin.pro src/plugins/coreplugin/coreplugin.qbs src/plugins/coreplugin/editormanager/ieditor.cpp src/plugins/coreplugin/externaltool.cpp src/plugins/coreplugin/icore.cpp src/plugins/cpptools/cppmodelmanager.cpp src/plugins/fakevim/fakevimhandler.cpp src/plugins/find/ifindfilter.cpp src/plugins/projectexplorer/buildstep.cpp src/plugins/projectexplorer/devicesupport/idevice.cpp src/plugins/projectexplorer/runconfiguration.cpp src/plugins/vcsbase/vcsbaseeditor.cpp tests/system/suite_debugger/tst_simple_analyze/test.py Change-Id: I11dc9e60bfc14bad4f8af747d041fc7678a07c17
| * Doc: edit projectexplorer API docsLeena Miettinen2013-09-111-15/+20
| | | | | | | | | | | | | | | | | | | | Fix grammar, punctuation, and style issues. Use standard wording for QDoc commands. Remove \brief commands from function descriptions. Move some function descriptions directly above the functions, so that the \fn command can be removed. Change-Id: Iedf4f0041af24541a982241f99bd4906e86af916 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* | OutputParser: Simplify detection of fatal errors a bit.Tobias Hunger2013-08-211-1/+1
|/ | | | | Change-Id: I46f6942a8bee8a1c9711dc97db6424893dd3f276 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Doc: use standard wording in \brief commandsLeena Miettinen2013-06-201-1/+2
| | | | | | | | | QDoc does some magic with the \class and \namespaces and \brief commands, so the following wording must be used: "The xxx class yyy ..." Change-Id: Id231f30e8464898b776888d5423523de404aae34 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* OutputParser: Allow to flush pending tasks.Tobias Hunger2013-05-061-0/+21
| | | | | | | | | | | | | | | Add a way to flush out tasks from the outputparsers. This is necessary to make parsers that keep state more robust. Flush parsers (once) before adding any new task. This keeps the sequence intact. Flush all parsers once the parsing is done to make sure there is no task queued somewhere. Task-number: QTCREATORBUG-9195 Change-Id: Icd37df1f470cb73123ad286d6900ad1047a1d512 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* IOutputParser: Make sure to not cut too much outputTobias Hunger2013-04-031-0/+10
| | | | | | | | | | Introduce a method to cut away whitespaces from the end of a string and use it consistently. This avoids a chain of parsers to repeatedly cut away the last character, assuming that will be the line-break. Task-number: QTCREATORBUG-9032 Change-Id: I68261c10873535faf94c885c914cd00510ed75d8 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Clean headers in ProjectExplorer.Friedemann Kleint2013-03-261-2/+0
| | | | | | Change-Id: If61a8a91d2a39c5c97974a5bfcef91892b68d3f1 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com>
* Kit: Simplify code a bitTobias Hunger2013-02-151-1/+2
| | | | | Change-Id: I5b092dacd6ebcbd3bf914829f2810c4b1d38c351 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
* Incremented year in copyright infov2.6.2Robert Loehning2013-01-291-1/+1
| | | | | Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205 Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Adjust license headershjk2012-10-051-21/+20
| | | | | Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
* Contact -> qt-project.orgEike Ziller2012-07-191-3/+1
| | | | | Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Long live the king!hjk2012-01-261-1/+1
| | | | | Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* all: s/info@qt.nokia.com/qt-info@nokia.com/hjk2011-11-031-2/+2
| | | | | Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* "Build Issues" was renamed to "Issues"Robert Loehning2011-10-251-1/+1
| | | | | Change-Id: If514e2497a52456bfd16aaebf2a7c83def4621f7 Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* Fix/add copyright headersTobias Hunger2011-05-061-1/+1
| | | | Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
* Documentation: Add ProjectExplorer plugin..Friedemann Kleint2011-04-141-0/+78
| | | | Reformat existing documentation to qdoc.
* Update license.hjk2011-04-131-14/+13
|
* It's 2011 now.con2011-01-121-1/+1
| | | | Reviewed-by: hjk