This reverts commit 16c12f71ff.
Reason for revert: Introduces bugs.
AndroidQtVersion::addToEnvironment() set varying ANDROID_NDK_PLATFORM
values in successive calls. Only after a call of
QtVersion::ensureMkSpecParsed, a consistent value is set.
The symptom could be fixed by adding QtVersion::ensureMkSpecParsed calls
in strategic places (e.g. in the beginning of
AndroidQtVersion::addToEnvironment), but it does not make me confident
that this covers all potential code paths. The change that introduces
the issue is 16c12f71ff and will therefore
be reverted. It may be resurrected in QtC 14, but with much caution.
This issue seems to be specific to qmake. It hardens my impression, that
there are no easy gains to be made in the current state of the Android
plugin. An improvement for one use-case will break another use-case
which may be fixed only after two release cycles. It is Mikado code:
"Only touch if needed and safe".
Change-Id: I6ad860f6af8848a900d9421837a03929f9a57645
Fixes: QTCREATORBUG-30554
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
That were configured for a project.
The crash is triggered by a messy combination of the Android automatic
kit creation, project window update, and automatic creation of Qt
versions and kits by the automatic project importers, including a mess
of the listener pattern without any atomicity.
- the user removes the Qt versions
- the Android plugin updates the automatic kits and individually reports
the removed kits (*)
- that triggers an update of the project window and an update of the
target setup page (even if that is not shown, but that's yet another
issue)
- that triggers the project importers, which add Qt versions, which in
turn triggers another update of automatic kits in the Android plugin -
while that is still in the reporting loop at (*)
- that leads to the crash, because the state at this point of time is a
mess
This minimal fix of the specific crash makes the kit update reporting in
the Android plugin at (*) "more atomic", and the same for similar code
in the iOS plugin.
Fixes: QTCREATORBUG-30347
Change-Id: I2bea6fb735abcaa34469fc43f44aa37313f70429
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Rename process.h back to qtcprocess.h
MSVC's "threads" standard header includes <process.h>, and that ends up
including our process.h from Utils.
There already was a hacky workaround in place for a similar issue with
MINGW, but that doesn't work with MSVC because that doesn't have
Simply use a name that doesn't conflict.
Change-Id: I1159cd2096b4f2dbc4a1728d0131dd6edd30ebd3
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>
The commit 1180d5b8a270cfe7bd1c501c892d1c38ee7425de added information
about the ndk and android api level used at build time, ndk version has
already been accounted for in b73d6f3be8.
This now accounts for "platforms;android-xx" and "build-tools;xx.x.x"
packages.
Fixes: QTCREATORBUG-30404
Change-Id: I78b8885b88294404bc29c41a7b9491a331fcd709
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Add an extra arg to runBlocking() function instead.
Use std::chrono::seconds for timeout.
Change-Id: I7c3c21e8f26a2ccbed157d15083d6ef0b4cd2f7e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Avoid using readAllStandard{Output,Error} mutable methods if possible.
Use non-mutable methods when we are not connected to
readyReadStandard{Output,Error} signals.
Change-Id: I2e830e571b9eab2177fd856bbe06dfc5137d9c01
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
It's not meant to be used from the outside.
Change-Id: I94e46f95f896fa4b44e77e0196523beb8afdf8c3
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
When launching Qt Creator with clean settings on Windows, the Android
plugin might cause an "Empty filename passed to function" warning that
comes from deep inside Qt.
This hack works around that.
Change-Id: Id668b981a1467a54d852082e95963e34554006e9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This will use the available information from modules/Core.json
and determine the abi version from the "compiler_target" used to build
Qt.
This is only available with Qt6. Qt 6.4 and 6.5 have this information.
Otherwise the "android-clang" qmake mkspec will be parsed and evalauted
to get the Qt ABIs.
Change-Id: Ia0c73f5c87983f44a156b54335dc8b36698c15b2
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
targetAbi() is available in the base and non-virtual.
Change-Id: I1c65dccec98b7df5211b2ecfa1e91a4bb4b6e98f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Some of the more recent SDK platform versions don't follow
the form android-xx (x being integer) and can contain non-integer
characters or other sections such as android-33-ext4, which were
not showing on the list of SDK platform versions in the project's
settings.
Task-number: QTBUG-112465
Change-Id: I3de14c4f1b15a64dcced48c6e8817efbda6677bc
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>