Special accessors to the repeatedly used C and C++ cases to denoise
and slim down user code. Plus some code cosmetics nearby.
Change-Id: Iba4662bd4731d8c4256e658529f39d5c995691ce
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Print the error text we are showing in the info bar. For example:
QWARN : ...testProject(simple.pro) Error: Failed to build the project.
FAIL! : ...testProject(simple.pro) 'finishedSuccessfully' returned FALSE. ()
Change-Id: I7df91909dc4974a2c3aa9d44cb7511222517198c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The two plugins plugins added resource files which were referenced with
the same name, namely
:/unit-tests
Make the names unique.
Change-Id: If63e762663f3f61b15f826d76ffcd2eb66873db7
Reviewed-by: hjk <hjk@qt.io>
...in order to not run into parse errors in qstring.h involving
* C++17
* >= Qt 5.14
* stdlibc++ of gcc 5.3/5.4
Change-Id: I8c06f90a88a4dd18503a81b68433604eb3bc9556
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Add a separate pool of custom diagnostic configs for the
ClangTools plugin. That is, the diagnostic configs in
Menu: Tools > C++ > Code Model
are not shared anymore with the configs at
Menu: Tools > Analyzer > ClangTools
On plugin initialization of ClangTools, move tidy/clazy related configs
to ClangTools.
Change-Id: Id06087a58b53e466a3d7bbac669550c5fbe9899d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
We can provide the run settings explicitly instead of writing to the
settings.
Change-Id: Ibb9ef0280c14315ff7ba72be75dfd04c50d84484
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Make the global run settings available per project in project mode and
thus remove the diagnostic config selection from the
selectable-files-dialog:
* Extract the classes RunSettings and RunSettingsWidget instead of
duplicating stuff.
* Ensure to pick up the old settings
* Add some convenience buttons/links in projects mode allowing to
restore the global settings, to open the global settings and to
navigate (back) to the analyzer mode.
Change-Id: I1b91b6f8e58a87a025774e4643c46e176b2a8885
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Ideally, we would build the particular file before running the analyzer,
but not every project manager supports that.
For now, skip building the project for this action.
Change-Id: Ibc516c41dd0dbeb7b17b44c0ac35ae4b46ae801d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Explicitly remove any by default enabled checks (e.g. static analyzer)
otherwise we get more diagnostics than expected.
Change-Id: I53e63a10001be8027e880dac01000bdca4a8f920
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This fixes the currently failing tests
ClangToolsUnitTests::testProject(simple.qbs)
ClangToolsUnitTests::testProject(simple.pro)
which produce more diagnostics now due to the upgrade to clang 8.
Sanitize the test by specifying exactly the tidy/clazy checks we are interested
in. This should avoid maintenance on clang upgraded (pulling in new checks that
will fail the test).
While at it, fix writing the settings for the tests, which worked by accident
so far.
Change-Id: If8bf5076ad7141faa93eced611334ac609f0cf92
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The name "KitInformation" does not properly convey the fact that it
represents a certain *aspect* of a kit. The same goes for
"KitConfigWidget", which in addition was inconsistent with
"KitInformation".
We now use "KitAspect" and "KitAspectWidget".
Change-Id: I9804ee4cedc4d61fad533ea1dd4e4720e67fde97
Reviewed-by: hjk <hjk@qt.io>
These functions require core plugin so they can't go
to utils library. At the same time to use them in
ProjectExplorer plugin there are not too many choices
where to put them without introducing new dependencies.
Change-Id: I3cccccffaae8ac4bbce924fd809b5423da5dc503
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
List of checks does not give enough flexibility to
select/unselect specific checks. The tree fixes that.
Also remove Clang-Tidy checks line edit because it is
now integrated into the tree mode as an alternative way
of providing checks by pressing "Plain text edit" button.
'cpptools_clangtidychecks.h' is generated using python
script 'generateClangTidyChecks.py' and clang-tidy
from our LLVM/Clang 6.0 build.
Change-Id: I2ed1738cb2cbbf8dac6aba563469f06f69b11593
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
...since it's superseded by the tidy integration.
Change-Id: Idafa5e1fb5129b1af8e42231a664684d4b90821f
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
If the run button is clicked, the user is prompted to select the files
for analysis.
Change-Id: I21e4ee6b7c14392a8c1a901ac7aa1c9c16e30f0d
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
We use custom clang executable and it does not make
sense anymore to give a choice of changing it.
Change-Id: Icf86042ac3fcd08c320ef2bbdaabef1102b023b5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Use simple project with only few ClangTidy and Clazy warnings.
Change-Id: Idfbbeb653c5f610bda502c3ec23e7497f503f8a9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>