Commit Graph

7515 Commits

Author SHA1 Message Date
Eike Ziller
9144ab75f4 Add test for examples parsing
Change-Id: Id2ec8afcdbdff97e12b32b836c955552589081c4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
(cherry picked from commit 87b5176fd2)
2023-04-13 07:14:05 +00:00
Semih Yavuz
78cf563142 reformatter: fix formatting of js directives
Fix the miscalculation of the start / end of the js directives lines.
Also small optimizations on usage of increment operators. Add a unit
test.

Fixes: QTCREATORBUG-29001
Change-Id: I38923f137dca5c0b89d474cd747a64ec11e62fd9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2023-04-12 11:50:43 +00:00
Jarek Kobus
8175d5abda onResultReady: Provide a context object for all usages
Remove overloads for onResultReady() and onFinished()
that don't take context object.

Change-Id: Iaec538bcccd29e22791ec65cc95b4b87640708c3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-12 11:05:16 +00:00
Christian Stenger
41e78b9e57 SquishTests: Fix compiler substitution on Windows
Change-Id: I970622c888d6c8b7c63e8b1674419ba900ea6d24
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-04-06 13:56:47 +00:00
Robert Löhning
f7ad1f02a1 SquishTests: Fix waitForProjectTreeItem() for python3
Amends 892ccd2097

Change-Id: I18e2c9a5407e4c70dfdae5e9c17959897ea33d50
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-06 13:05:40 +00:00
Robert Löhning
42c653b53c SquishTests: Don't filter out code model issues when we need them
Amends c46dff0199

Change-Id: I5f2613edf15f86161a576ab21f16f079bd12a59f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-06 09:38:54 +00:00
Burak Hancerli
66d72433a6 QmlProject: Refactor QmlProjectManager
- feature: JSON based project manager plugin
- feature: functionality to write QmlProject file
- tests: tests for QmlProjectItem

Task-number: QDS-8810
Change-Id: I8989e54577e9cd883bd76346e22774cc7f7ed93f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-05 15:13:43 +00:00
Marco Bubke
318bb02801 QmlDesigner: React on watcher notification
The watcher notifies the updater if files or directories are changed.
The updater then does minimal updates to the project storage. Common
cases like that the qml documents or qmltypes are changed are handled by
an extra path. Otherwise we trigger a directory update. If the directory
is in 'strange' state like the qmltypes file is removed but the qmldir
is not updated the changed file ids are saved and used additionally in
the next notification.

Task-number: QDS-9479
Change-Id: Ie82fd914b2e229f0315bf60df398c85477ce5a26
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-04-04 10:44:09 +00:00
Robert Löhning
41c1b76af0 SquishTests: Stabilize tst_rename_macros
Change-Id: I9d77bf9daa66b46e2b16c8618e1848538cb797aa
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-04 09:51:26 +00:00
Robert Löhning
892ccd2097 SquishTests: Add function for finding elements of project tree
Change-Id: I08c3c22a404d2b58bdb1205f22e5cf937c6027b0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-04 09:51:01 +00:00
hjk
305ccfe259 Utils: Replace FilePath::onDevice() by new FilePath::withMappedPath()
Basically a.onDevice(b) == b.withNewMappedPath(a), matching the order
of b.withNewPath(a).

Whether the (curretly docker-specific) path mapping is useful /there/, and
whether some of the calls are needed at all is dubious. I added some
FIXME and changed a few cases directly.

Change-Id: I7514736ce922f632f1f737bc496f6783389a42b6
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-04-04 06:56:55 +00:00
Robert Löhning
6ad3531b15 SquishTests: Handle expected failure of qml refactoring
Change-Id: I05b19c33de6e1245bfb6610f7a3fd39ba428aa28
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-03 09:27:50 +00:00
Robert Löhning
5c5e12981e SquishTests: Add an explanation about automatically created kits
Change-Id: I1bb351c56600fa4a6e420299bdbaff1c436d19c9
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-04-03 09:23:39 +00:00
Eike Ziller
b635e99086 Merge remote-tracking branch 'origin/10.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	src/libs/utils/multitextcursor.cpp

Change-Id: I54b00ea5e6953078beed7673b5de31114f983bfa
2023-03-31 15:58:09 +02:00
Christian Stenger
0c6b3b3747 Squish: Fix expected compilers on Windows
Compilers will be nowadays displayed with full version.
VS 2019 and 2022 are out for a long time and have been added.
Ensure installed official LLVM is detected correctly.

Change-Id: Ica29dca74cb8e08bafda1a88fcd2c2a6150bb236
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-31 06:12:49 +00:00
Tim Jenssen
adb664f521 Merge remote-tracking branch 'origin/qds/dev'
Conflicts: src/libs/utils/filepath.cpp
  src/plugins/qmldesigner/qmldesignerexternaldependencies.cpp
  src/plugins/qmlprojectmanager/cmakegen/generatecmakelists.cpp
  tests/unit/unittest/CMakeLists.txt

Change-Id: I017a6075db41a5233487ac855ffe23de2b2bb0ee
2023-03-30 13:30:42 +00:00
Christian Stenger
3ad00fc871 SquishTests: More Python3 adaption
Change-Id: I95488e2b5661c8790cb73246947af58de2a1899b
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-29 15:17:24 +00:00
Christian Stenger
230b030755 SquishTests: More expected build issues
Expect build issues if the kit does not support the
minimum cpp standard needed by the project.
Additionally exclude the kit explicitly if the compiler
is too old to understand the needed minimum cpp standard.

Change-Id: I0cf0ad17b2cd68ba990d3360a8628ddd7fe507bd
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-29 15:17:09 +00:00
Christian Stenger
5265ad275c Squish: Allow build to fail for runAndCloseApp()
Allows to mark current configuration to fail when we trigger a run
with implicit build.

Change-Id: I5738c49e62bca876c0aeba28af5f8315303620a2
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-29 15:17:02 +00:00
Tim Jenssen
26365f34d4 Merge remote-tracking branch 'origin/10.0' into qds/dev
Change-Id: Idd5eac05f3506387e5f1884e22cc2c902032bbe1
2023-03-29 13:42:04 +02:00
Eike Ziller
b36287731e Merge remote-tracking branch 'origin/10.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	src/plugins/remotelinux/genericlinuxdeviceconfigurationwidget.cpp
	src/tools/perfparser

Change-Id: Ie5643100e0eb00e0933359dce320169b876f5634
2023-03-29 12:21:50 +02:00
Christian Stenger
c46dff0199 SquishTests: Fix checking for build issues
Do not count code model issues as build issues when checking for them.
Fixes tst_build_new_project on the Linux machines which fail for unknown
reasons.

Change-Id: I2cd77b0208019fc902742197c0def6d3811cfced
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-28 13:20:10 +00:00
Christian Stenger
e113a12645 SquishTests: Fix accessing build dir line edit on Win
The respective line edit is hidden inside the collapsed
details, so ensure we have expanded details instead.

Change-Id: Ib6f6fab9f06c3250a71baf95a853d770bfa9b221
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-28 13:06:29 +00:00
Christian Stenger
73227535a4 SquishTests: Adapt to dark theme
Depending on the OS QC may be started with dark theming.
As we use the color of the buttons on the welcome page to
decide whether a button is active or not we need to adapt
the expected colors to cover dark theming as well.

Change-Id: I844b1e2cf4b44ce9501a4ef4a850331ca9983e3c
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-27 04:36:39 +00:00
Christian Stenger
ac4aaf5e23 SquishTests: Some Python3 adaption
Makes some tests succeed and lets a couple of tests get further
on macOS.

Change-Id: I9a3f124c094e67f51748ddae47d00897fe5259d5
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2023-03-27 04:36:30 +00:00
Tim Jenßen
feabda3aa7 Merge remote-tracking branch 'origin/10.0' into qds/dev
bigger conflicts resolved at:
  src/plugins/qmldesigner/CMakeLists.txt
  src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp

Change-Id: I08e2a109d8e37cbd77225129854e9e633725bfc7
2023-03-26 16:26:18 +02:00
Jarek Kobus
b5af4501df Fix include style
Change-Id: I64cb77f8d39dac35821fe96d735bc5dda35738e7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-24 13:42:50 +00:00
Marcus Tillmanns
29873068eb Utils: Store Device::osType in settings
Change-Id: I41348be752598b7a8d1f1979764e7111cccc95a9
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-03-23 12:33:58 +00:00
Marcus Tillmanns
129562ea6f Utils: Test QtcProcess default environment
Change-Id: I62f56bd070ec531462ad3dd4e39cf6708115c7ba
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-21 12:41:04 +00:00
Marcus Tillmanns
9ddd1e1d36 Utils: Improve DeviceShell error handling
In case mktemp or mkfifo fails, the device shell script would
incorrectly print both success and failure messages.

Also cleaning State enum, removing unnecessary values.

Fixes possible crash if creation of master process fails.

Fixes: QTCREATORBUG-28928
Change-Id: I75fef54dc791b2b0a403bab19dab6813b62643ac
Reviewed-by: hjk <hjk@qt.io>
2023-03-21 12:31:44 +00:00
Marco Bubke
cb0fc5fd1f QmlDesigner: Project Storage Watcher updates only some directories
Updates only the entries for the given source context (directory) ids
and skips everything else. It is enabling partial updates
for directories in a project.

[&, &ids = ids] the strange capture clause steams from a C++ issue.

Tak-number: QDS-9456
Change-Id: Id3abcd39ac429ba4483124f334d50c2999f5e6a8
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-03-21 09:48:31 +00:00
Marco Bubke
4c3530f5ee UnitTests: Simplify project storage watcher
Use the real path cache. It makes the test some 100ms slower because the
database has to be created for every test but makes the test simpler.
Renames some variables too for better readability.

Task-number: QDS-9456
Change-Id: I3246a1859eae7b26b9e13a9d88d3c717748de43e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-03-21 09:48:27 +00:00
Marco Bubke
2d5062918a QmlDesigner: Project storage watcher watches unchanged files
The Qml documents and Qmltypes files cannot added or removed if the
project data is parsed. So the can simply been added to the watched
files.

Task-number: QDS-9178
Change-Id: Iaa30425241ac7ad3c2434b9c6c5955e894ec6049
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-21 09:48:21 +00:00
Cristian Adam
4d82246ab5 auto-setup: Add support for conan 2.0
Fixes: QTCREATORBUG-28865
Change-Id: Ifb801a458b4b18de218dee6604f0555cab13ec75
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-03-17 16:25:19 +00:00
Jarek Kobus
81bd8e3bd8 FilePath: Remove overloads for async tasks that don't take context
Passing mandatory context object clearly suggests a special
care should be taken for assuring the passed function
may still run when the task finishes in the future.

Fix FileStreamManager so that it deletes the streamer
even when context object was deleted in meantime.

Fix 2 usages of asyncCopy so that we pass a context object now.

Side note: passing nullptr as a context object is still
possible and should work, but it's not recommended.

Change-Id: I464438db42ed9292c2f89ecb9d5dde7c78f77640
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2023-03-17 14:30:59 +00:00
Christian Stenger
13bf47c875 Tests: Add another environment test
Test appending and prepending PATH.

Change-Id: If2ff84b24a8f961af0a3bb64ed77aaf37fe247fd
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-03-17 14:21:24 +00:00
Eike Ziller
0d8d4322b4 Merge remote-tracking branch 'origin/10.0'
Change-Id: Ie591b7130b33a042509e56701384f8ff4d9cb7f8
2023-03-16 11:57:01 +01:00
Marco Bubke
157b5039c1 Sqlite: Improve database opening
Change-Id: I9074cda4d9da12a061f094ca72fa156d89ca0f87
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2023-03-15 11:34:50 +00:00
Marco Bubke
68bceb92cf QmlDesigner: Improve readabilty of tests for project storage updater
Task-number: QDS-9382
Change-Id: I9aac10b7e7782847bae23b09e64fbe569ce2c40a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2023-03-15 09:37:57 +00:00
Cristian Adam
15e1a64764 CMakePM: Add include presets support
Fixes: QTCREATORBUG-28894
Change-Id: I9359cb85c230f2db02f08427af9832f168a32c41
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2023-03-14 14:47:28 +00:00
Marcus Tillmanns
8f1cbd2e52 Utils: Improve and test CommandLine::fromUserInput
Change-Id: Ia18f5b01d91200e6ad65735496395215c6393533
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
2023-03-14 14:40:35 +00:00
Jarek Kobus
0bec769b69 QmlJS: Use QtConcurrent invocation for async run
Add ModelManagerInterface::importScan() overload to avoid
instantiating dummy QPromise arg on caller side.

Change-Id: Idf836d30b2167d8840cc4e7ac6f95377c9d5622a
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-14 08:47:26 +00:00
Eike Ziller
9eb218aee7 Examples: Use "install" path as fallback
If neither relative nor install path of the example files exist.
This makes the error message that the file is not found more sensible.

Change-Id: I1a7d2acdb4017cdaac97af35d9d35b70c06323a6
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
2023-03-14 08:22:21 +00:00
Marcus Tillmanns
9f1afb0318 Utils: Add stringutils splitAtFirst
Change-Id: I221d6c6086f53ec5f94c1157ea533d862db38d52
Reviewed-by: hjk <hjk@qt.io>
2023-03-13 13:58:05 +00:00
Robert Löhning
32c74bfe2b Debugger: Fix manual plugin test
The location of the dll doesn't depend on the application's current
directory but its binary's location. This caused the manual test to turn
false positive when running from Creator, because on Windows, the
binaries are placed in a subdirectory named "debug" or "release",
respectively.

Change-Id: Ie5115fbacd30ad0ef85bc258d405ae3ac42f8ece
Reviewed-by: hjk <hjk@qt.io>
2023-03-13 13:20:34 +00:00
Eike Ziller
c7e94d80c7 Merge remote-tracking branch 'origin/10.0'
Conflicts:
	src/shared/qbs

Change-Id: I33e13270c8c15a51b4ce4eaa6b4584041ed124e0
2023-03-13 12:30:04 +01:00
Jarek Kobus
0c4dff7c10 FileListIterator: Minor fixes
Add a reference to c'tor's encodings arg.
Make c'tor's args default.
Make m_items field const.

Change-Id: I74bb1829f3ba0ea8a61106bddadeb935b6405f77
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-03-13 10:57:24 +00:00
Christian Kandeler
81dcfd907b CPlusPlus: Add parser support for generic lambdas
Change-Id: Id17975a4296925c10b1b43f963412eea61ccfa5d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-13 10:21:32 +00:00
Eike Ziller
e060f82fa5 Examples: Read meta data, which includes categories
Task-number: QTCREATORBUG-28546
Change-Id: I11505d4f8b8eaef3f525185cd45757b6f41012ec
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2023-03-13 07:21:44 +00:00
Eike Ziller
87b5176fd2 Add test for examples parsing
Change-Id: Id2ec8afcdbdff97e12b32b836c955552589081c4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2023-03-13 07:21:18 +00:00