This reduces the time the main thread is blocked for reading the diagnostics
from the result file.
Change-Id: If6cc5671c709cb519b651c2b7ce3e8067e0b5f39
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Not all classes derived from TaskItem are tasks,
but the common denominator is that all may be placed
inside a group: thus GroupItem sounds more appropriate.
Addresses the 10th point in the bugreport below.
Task-number: QTCREATORBUG-28741
Change-Id: I94d728a8e39ec732810f2e5bbe6b9a76f3bc387c
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
... and move this setting outside the diagnostic config.
Fixes: QTCREATORBUG-28852
Change-Id: Ie3b19ba7bec2bc96451f3216fa06a6941cad4c94
Reviewed-by: David Schulz <david.schulz@qt.io>
Replace also the AnalyzeOutputData::toolName field with
ClangToolType toolType. Stop relying on comparing translatable
strings inside DocumentClangToolRunner::onDone().
Change-Id: I1b69619fe9283622ed478973ee3a5e9cf8f4c309
Reviewed-by: David Schulz <david.schulz@qt.io>
Reuse it in ClangToolRunControl and DocumentClangToolRunner.
Get rid of ClangToolRunner and provide clangToolTask() method
instead.
Change-Id: I677940b325850849c5f5a60f2d320c031a4f0da0
Reviewed-by: David Schulz <david.schulz@qt.io>
Runner creator is being called just before it's about to be run.
Get rid of unneeded ClangToolRunner::fileToAnalyze() now.
Change-Id: I51e49597f38919a7174495df3db6b2adc5109a21
Reviewed-by: David Schulz <david.schulz@qt.io>
Remove ClangToolRunner::supportsVFSOverlay().
Move check for modified document and vfsOverlay into
runner creator method, as it's called in the same cycle just
before the runner is about to be started.
Change-Id: I7a5df71bfa73c350862e4c7f9eae49773b6206b7
Reviewed-by: David Schulz <david.schulz@qt.io>
Introduce AnalyzerOutputData structure that is passed inside
new done() signal. This signal replaces the finishedWithSuccess()
and finishedWithFailure() signals. The output structure contains
all the data required in clients' handlers.
Move AnalyzeUnit into clangtoolrunner.h in order to avoid
circular dependencies.
Get rid of outputFilePath(), as it's passed inside AnalyzeOutputData
now.
Inline ClangToolRunWorker::unitsToAnalyze() as it's used only once.
Change-Id: Icf9a52853c68e83f6ddfc4858dbcb830b96e1844
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
Now we have all the data available so there is not need
to postpone the creation of arguments.
Change-Id: Iec10f5715d6f572c9a8fde63c8c6d3f96f894b47
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Instead of creating subclasses of ClangToolRunner configure
the base class according to the tool specifics.
Change-Id: I51b611b2375571453c7f9690499d744582f035c1
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
This enum contains only one value now, so it's no-op.
Amends 9fc2fda07e
Change-Id: Ifa144dafb6155db93c06e3faecc40e38e464dac0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: hjk <hjk@qt.io>
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>
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>
This is now taken care of in the desctuctor of QtcProcess itself.
Change-Id: I51e65344e6d2cae4498e292e4ad6a586c68b0539
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Instead of connecting to errorOccurred() and finished() signals.
Change-Id: Ie15a25000a647d4046b59e9ebeb44c32bc29b53b
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Not needed, and the only user of QtcProcess::readyRead.
Change-Id: I6ba071507f545076cf74660c20916407c3f3a551
Reviewed-by: David Schulz <david.schulz@qt.io>
check the help output of a clang tool whether virtual file
system overlay is supported. Prepares for the vfso support
of clazy-standalone.
Change-Id: I157c94de1dda41c83945c9bc8a4c2e132b2e6551
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Add a new group box "Executables" for this. Hide the UI for
clazy-standalone unless QTC_USE_CLAZY_STANDALONE_PATH is set as there is
no released version with the needed -export-fixes option.
Rename the previous group box from "General" to "Run Options".
Change-Id: Ia9daf66c40d3a7eea98b31d9c086886d29466490
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
For a file to analyze, start one process for tidy and one for clazy.
No functional change.
Change-Id: I049faed5ddbe306e4690ec6831fad19de0de35f6
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Serialized diagnostics consume quite a lot of space.
Remove these files after they are read by QtC.
Change-Id: I4b257e44ee182484726ebd808069198443992016
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
... over the whole project.
Generate and read serialized files to get diagnostics.
Change-Id: Iafc25fc70443107a040a995efc038aed35102bbf
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
To reuse it for other clang-based tools.
Change-Id: I6c0d8e9eee543fa08faf3bf93c9fac33e43c6820
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>