Commit Graph

6403 Commits

Author SHA1 Message Date
hjk
0aa3cc45b5 Core: Use FilePath for ExternalTool working directory
Change-Id: Ifd295c3bd07b79f146b84fc27c117f42ba9b793f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-09-27 14:21:40 +00:00
Marco Bubke
9e29b602d4 QmlDesigner: Use ModuleId for Type instead of Module
We already know the module id because it's the source id of the module.

Change-Id: Ice241d38c12c7ca79a525464c53b7d552095a0fc
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-27 13:00:25 +00:00
Marco Bubke
03687c1d02 QmlDesigner: Add minimal updates
Exported type names are synchronized so that old type names are removed.

Task-number: QDS-5130
Task-number: QDS-5126
Change-Id: I6e6482170c8197f37f60a57bdfb7f1b450001b4b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-27 13:00:21 +00:00
Marco Bubke
b2a300dd60 QmlDesigner: Refactor ProjectStorageUpdater tests
Change-Id: I0174153a470ce3009945df9cd2a822150f2f19f4
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-27 13:00:18 +00:00
David Schulz
c00330f905 Editor: multi cursor support
Adding a way to create multiple cursors that can insert/remove text at
arbitrary positions in the document. Adding cursors is done by pressing
alt + up/down or by clicking into the editor while holding the alt key.

Fixes: QTCREATORBUG-16013
Change-Id: I495d27d95a3d277220946616ef30efc241da0120
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-27 10:56:54 +00:00
Orgad Shaneh
f2f1fc8601 Use lowercase for Windows header for supporting cross-compilation
Linux mingw uses lowercase headers, so cross-building on Linux for Windows
target must use the correct form. Windows is case-insensitive, so it won't
affect host-native builds.

Change-Id: Ic2140412bb367bbce83b5e2546d70e0936928c5c
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-09-27 07:23:22 +00:00
Marco Bubke
091f157192 QmlDesigner: Adapt project storage changes in updater
Task-number: QDS-5123
Task-number: QDS-4923
Task-number: QDS-4925
Change-Id: I79acbbdb11bf7a0529c1ef005e6b5e1fd0d12aa7
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-22 11:22:11 +00:00
Christian Stenger
de3e3e7af1 Tests: Fix execution of dumper tests on Win
Amends 6786d585e0.

Change-Id: Ib0c9b3d07741db00a01033be2118487ecc9644ea
Reviewed-by: hjk <hjk@qt.io>
2021-09-22 04:41:33 +00:00
Marco Bubke
6587feb3d8 Utils: Improve string conversion for Qt6
Skip the creation auf a QByteArray. Use QStringEncoder instead.

Change-Id: I3d2297b1fef27acb2136a64587c5af9099d92aa6
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2021-09-21 12:45:51 +00:00
Christian Kandeler
e79b9050eb CppEditor: Remove an unused enum value
Change-Id: Ifd0361a9a78eae7be917e1fff68161aa0cd8e79f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-21 11:28:19 +00:00
The Qt Project
9815d2ee7e Merge "Merge remote-tracking branch 'origin/5.0'" 2021-09-20 11:51:42 +00:00
Eike Ziller
6a99368979 Merge remote-tracking branch 'origin/5.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/libs/utils/processreaper.cpp
	src/plugins/android/androidbuildapkstep.cpp
	src/plugins/cmakeprojectmanager/cmakeprocess.cpp

Change-Id: I353a445b5862f63362ea954749b5565360951283
2021-09-20 13:43:20 +02:00
Marco Bubke
728be60986 QmlDesigner: Change import export architecture
The new architecture should be a better abstractions for qml.
ImportedTypeNames are introduced. ModuleDependencies are now taken
over by document imports. Modules lost their version and
ExportedTypeNames gained it.

Task-number: QDS-4938
Task-number: QDS-4933
Task-number: QDS-5009
Task-number: QDS-5032
Change-Id: Ia86921c5be9107fe7d5bfd28f12bf8453769dc10
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-20 07:29:22 +00:00
Marco Bubke
13aaea197b QmlDesigner: Rename Import into Module
Task-number: QDS-4933
Change-Id: Ibc28ae731ffb27734f61eb438230fa58fe800bdc
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-09-20 07:29:15 +00:00
Marco Bubke
a570d53db2 QmlDesigner: Add ProjectStorageUpdater
Adding a skeleton for the ProjectStorageUpdater.

Task-number: QDS-4819
Task-number: QDS-4793
Change-Id: I230d68f71480d360d71019883510ef22dd276802
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-09-20 07:28:59 +00:00
Robert Löhning
f529051b58 Squish: Be fuzzy when comparing snippet fetched from Pastebin.Com
Change-Id: If08b2b9136d55e2dddca6181c1075d845422a30b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-16 07:17:55 +00:00
Robert Löhning
a1eb505fbd Squish: Use Qt 5.14 in tst_openqtcreator_qbs
Change-Id: If214c32a0a62ebdada455a325ad1b2d02adc67c0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-16 07:17:37 +00:00
Eike Ziller
3d4d7c7e14 Merge remote-tracking branch 'origin/5.0'
Conflicts:
	src/plugins/clangtools/clangtoolssettings.cpp
	src/plugins/clangtools/executableinfo.cpp
	src/plugins/clangtools/executableinfo.h

Change-Id: Id8caf63e3e594792467d3447870086bd2d8f73b9
2021-09-13 17:03:55 +02:00
Christian Stenger
6786d585e0 Tests: Fix running dumper tests on Win
Using QtcProcess needs more setup, so use consistently
QProcess for all processes inside the dumper tests.

Change-Id: I7c09c6705c8b8d52ba7b27b054b825c4147647d3
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2021-09-13 11:18:48 +00:00
Jarek Kobus
4b81483b4d Add some explanation about how to run this test
Change-Id: I748e13db89dc79bbf11f663ce6914513d2912766
Reviewed-by: Alp Öz <aoz@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-13 10:50:44 +00:00
Jarek Kobus
f72c4cb8ac Ssh: Re-base SshProcess on top of QtcProcess
Change-Id: I266820e0e2ea12d6e4a5a83a679a7279fab9cd83
Reviewed-by: hjk <hjk@qt.io>
2021-09-13 09:26:09 +00:00
Cristian Adam
0f0287d907 Debugger: Enable standalone usage of debugger auto test
Change-Id: If89d261c82b25332ab6e354dfbf908765bb802f3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2021-09-13 08:00:29 +00:00
Jarek Kobus
33f1a96005 Control the lifetime of SshProcessManager
Make it possible to control when the SshProcessManager is
being constructed / destructed. Expose public constructor.

Since different singletons depend on each other, we need
to control the order of creation and destruction of them.

The order of creation is like that:

1. QCoreApplication
2. ProcessReaper
3. ProcessLauncher
4. SshConnectionManager

The order of destruction must be opposite to the above.

Change-Id: Ice07eb751cd61c03cb461816fa1b74ab040a53de
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-10 14:02:21 +00:00
Jarek Kobus
ecfe6b7fc1 Add a test ensuring we don't receive a warning when killing process
Before we were receiving the following warning when detroying the
QtcProcess while still running:

QProcess: Destroyed while process ("[program_name]") is still running.

With the new implementation it won't appear anymore since terminating
running QtcProcesses is done internally by the reaper.

Change-Id: I14a0de136f463966cb1e4c43c5cb26b4de47e7ce
Reviewed-by: hjk <hjk@qt.io>
2021-09-09 14:34:59 +00:00
Ihor Dutchak
716efc964d Debugger: Add support boost::container vector/static_vector
Also fix boost::container::list.

Change-Id: Iaa2ff09defc6f90c3f6eb1f7b333f9e5ccc16b65
Reviewed-by: hjk <hjk@qt.io>
2021-09-09 07:18:34 +00:00
hjk
d10b8e47de Debugger: Fix CComplex dumper test
Looks like newer gdb's output looks now closer to lldb's.

Change-Id: I9b44eec1aa1c448ca4ed85696243807145a8de51
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-08 14:34:13 +00:00
hjk
adae66455d Docker: Use current cmake in test Dockerfile
Change-Id: Icf9c116a72e679223aaa9a3f545fb0f7db5a31d4
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
2021-09-08 14:26:37 +00:00
Assam Boudjelthia
41528390b8 Revert "Move sdkmanager's sdk level parsing to AndroidConfig"
This reverts commit 2d77922856.

Reason for revert: This causes a build error in Android tests, reverting until the a fix is ready for that to not block the repo.

Change-Id: I74961df660ebaf69caf092d53172821815f21268
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-08 12:52:16 +00:00
Assam Boudjelthia
2d77922856 Move sdkmanager's sdk level parsing to AndroidConfig
Both the sdkmanger and avdmanager (maybe more) need to parse the sdk
level for packages and devices which may contain letters, make them
use the same logic.

Change-Id: Iff7fef3a66e00fac11b833f73f2f334a4cf1a766
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-09-08 08:09:20 +00:00
Eike Ziller
95de5c93b1 QmlJS: Fix issues with getting modulePaths
This patch

- improves performance by removing the usage of QRegularExpression for
trivial string operations (this is called 3000 times after configuring
Qt Creator)

- fixes handling of version number like "2.-1" which are the result of
imports with only a major version number like "import QtQuick 2"

Task-number: QTCREATORBUG-25899
Fixes: QTCREATORBUG-26178
Fixes: QTCREATORBUG-26216
Change-Id: Ic792909513f4fe25ac72043645f297ee41890375
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-09-07 08:16:48 +00:00
Jarek Kobus
ace765c199 Move ProcessReaper into lib/utils
Reuse ProcessReaper inside process launcher.
Automatically reap all internal QProcesses of QtcProcess
(either direct child of QtcProcess in QProcessImpl
or indirectly inside process launcher).
Make ProcessReaper work again on QProcess instead of on
QtcProcess, so it may still be reused for non-QtcProcesses.

Change-Id: I950cac5cec28f17ae97fe474d6a4e48c01d6aaa2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2021-09-06 21:28:19 +00:00
Jarek Kobus
8724a4efbb Use QtcProcess for clangbackend
Change-Id: Ifdcdba765409a09861f81dd3dff405115a986801
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-03 14:06:56 +00:00
Jarek Kobus
a454b3dc23 Use QProcess' / process lanuncher's exit code
Change-Id: I802116c45847daf9a647771ee293aef8463fc3c7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-03 10:56:19 +00:00
Jarek Kobus
597750507e Implement process channel forwarding in process launcher
Change-Id: I9e526eb40ebc46284f773d10ec0e285a009c524d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-09-03 10:56:12 +00:00
Eike Ziller
253c4e55b6 CMake build: Compile QmlDesigner autotests
We cannot do this via a static library, because the tests need
to compile the same files with different defines
(QMLDESIGNER_TEST). Add a function which extends a target
with the corresponding files.

Also do not hardcode resource directories in the test -
the Qt Creator app bundle is no longer in a "bin/" subdirectory
on macOS. Use the build system provided IDE_*_PATH
variables instead.

Change-Id: I21850eba3cb47b4dcfd5e66227183b2d1ff35ff2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-02 10:09:57 +00:00
Christian Kandeler
284817fae6 Merge CppTools into CppEditor
There was no proper separation of responsibilities between these
plugins. In particular, CppTools had lots of editor-related
functionality, so it's not clear why it was separated out in the first
place.
In fact, for a lot of code, it seemed quite arbitrary where it was put
(just one example: switchHeaderSource() was in CppTools, wheras
switchDeclarationDefinition() was in CppEditor).
Merging the plugins will enable us to get rid of various convoluted
pseudo-abstractions that were only introduced to keep up the artificial
separation.

Change-Id: Iafc3bce625b4794f6d4aa03df6cddc7f2d26716a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-01 14:53:58 +00:00
Christian Stenger
9eee8e4b84 Tests: Add test for async copying via FilePath
Change-Id: Idbc18d43ea81d395cc76f7bf9cfb32df1350b3ed
Reviewed-by: hjk <hjk@qt.io>
2021-09-01 11:41:51 +00:00
hjk
5830641d0f Valgrind: Make callgrind work on docker
Callgrind on Remote Linux did not work for years, so its safe to ignore
the remains from the previous remote support and start over.

This here now handles the local case and the case where callgrind
runs together with the debuggee in the same docker container.

Guessing at the output file name is replaced by specifiying it in
advance.

Cross-setups are not yet supported.

Change-Id: I97edeb4eab7475727eddb26d25f8bec650a7eeb9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-09-01 09:27:24 +00:00
Jarek Kobus
15c183fce6 Set process state to NotRunning after FailedToStart error
Remove the process in process launcher after error has appeared.
Remove unneeded stopStopProcedure as we are disconnecting from
process' signals inside removeProcess().
In order to behave as much similar to what QProcess does,
provide a test that:
- ensures the FailedToStart error is synchronously emitted
  when waitForStarted is being executed
- ensures that process state is reset to NotRunning after
  FailedToStart error
- 2nd call to start/waitForStarted doesn't block on
  waitForStarted

Change-Id: I139354421d037739f1cc1a2685b66f1e5b6170c8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-31 12:09:36 +00:00
Eike Ziller
987ad3fe9c Merge remote-tracking branch 'origin/5.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/android/androidconfigurations.cpp

Change-Id: Icd2b0fda2b2653656285bbbe457c30c9cd414d3f
2021-08-30 12:15:37 +02:00
Christian Stenger
aca5e375f4 Tests: Fix build without ShaderTools
Change-Id: Id22a91c440ea08fdab42e864d54587836e043584
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-08-27 13:38:45 +00:00
Alessandro Portale
595a4a621d Tests: Avoid Qt6-related deprecation warnings
Qt::AA_EnableHighDpiScaling and Qt::AA_UseHighDpiPixmaps are deprecated

Change-Id: I36a289f00feeaa472ee911a567c2a6160e259317
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-26 14:00:14 +00:00
Christian Stenger
68c2741587 Tests: Unify build for debugger tests
Latest breakages suggest to unify this as qmake was not linking
directly against utils when building some of the debugger related
tests except on Windows.
CMake and Qbs builds are untouched as they did link against utils
before already.

Change-Id: I0541964417546294b4b82aceac06f7322b1bef64
Reviewed-by: hjk <hjk@qt.io>
2021-08-26 12:11:55 +00:00
The Qt Project
2028d1c620 Merge "Merge remote-tracking branch 'origin/5.0'" 2021-08-26 11:07:04 +00:00
Christian Stenger
3d2a0ae2a6 Tests: Fix compile with qmake on Linux
Amends 244e940c94.

Change-Id: Ic1a308d44c51caae53c60dac7d08510b936896fd
Reviewed-by: hjk <hjk@qt.io>
2021-08-26 09:42:03 +00:00
Eike Ziller
0777b65db3 Merge remote-tracking branch 'origin/5.0'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	src/plugins/android/androidconfigurations.cpp

Change-Id: If8dc2cdf131811e08ca147c6f58dbb3ed3bf7227
2021-08-26 11:09:08 +02:00
hjk
9796f88fd5 Docker: Add valgrind and perf to Docker build and run test images
Change-Id: If1154852ef069e890a1fc0d07ab6cbbe3bd3bea4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-08-26 07:03:24 +00:00
Christian Stenger
244e940c94 Tests: Fix build with qmake
Change-Id: I926dcee9d6a6e535cb06c19096db74565f484224
Reviewed-by: hjk <hjk@qt.io>
2021-08-25 12:18:15 +00:00
Jarek Kobus
6c45764fa1 Rename test case, use both verbs in passive voice
waitForStartAndFinished -> waitForStartedAndFinished.

Change-Id: I44440a21cd91105b84227e13d1ea3d5b9490148f
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2021-08-25 07:54:31 +00:00
Jarek Kobus
43b82bfc5f Add a test for waitingForStarted and waitingForFinished
Change-Id: I2d38bb2d37a71aad6d762aa68f1f3b329a4fa302
Reviewed-by: hjk <hjk@qt.io>
2021-08-24 18:24:41 +00:00