Add an extra arg to runBlocking() function instead.
Use std::chrono::seconds for timeout.
Change-Id: I7c3c21e8f26a2ccbed157d15083d6ef0b4cd2f7e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
The iOS Simulator device is always there, and always usable, it never
can be unavailable. Since now the device state leads to a decoration in
the device selector(s), always having a "connected" bubble there looks
confusing. Remove it.
Change-Id: Ia218e05367a18841e966ea8566e16ad859a09597
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
That uses the various devicectl commands for starting and stopping the
app, and polling it's state for Qt Creator's stop button.
Getting app output and debugging and profiling are not supported, since
devicectl doesn't provide the necessary functionality.
Fixes: QTCREATORBUG-29682
Change-Id: Ied63b280458e5c109446a140a7774c2909aad62f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Put creating the JSON document and error parsing into a separate
function.
Change-Id: I257f82249a07220467c33220c6b8e4650266b8d9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
- Make sure that the updating TaskTree is deleted on quitting QtC by
maintaining a hash of running updates per device
- If an update is triggered for a device while another is running,
cancel the first one
- If the device is disconnected while an update is running, cancel the
update. Otherwise this leads to wrong connection information in QtC
Change-Id: Ia76921d01b47229da1b5decd6b890303f4acfbf5
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
For devices that that supports. The goal is that iostool will be
unneeded in the end for these.
Call `devicectl device install app` with the right device id and bundle
path and parse its output.
This doesn't use our custom provisioning check, but relies solely on the
errors that are returned by devicectl.
Task-number: QTCREATORBUG-29682
Change-Id: Ibae0908841004a12e1fc91b154bedea4b37db053
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
To the IosDevice. So other parts of the code know if the device can (and
should) be handled via devicectl instead of iostool.
Change-Id: I700bd1528fad505c3f4b6442d73e24b09ceba68a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
In Preferences > Devices > Devices > Type Specific.
This makes it fit the style of other devices, and automatically makes it
possible to select and copy text from it.
Change-Id: I637858a939ada261504970611ffdb7eccf003c1c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Before deploying we check if the provisioning information includes the
device that is deployed to. This suffers from the same issue as
QTCREATORBUG-21291: We use the USB identifier for the device ID in Qt
Creator, which cannot contain dashes, but the iOS hardware udid that
Apple uses can contain dashes (and the USB identifier then is that udid
without the dashes).
We need to use the iOS hardware udid when checking for the device in the
provisioning information.
Fixes: QTCREATORBUG-30158
Change-Id: I6f9e162ad6ece02370923ea59c046f439b8cc47a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Previously we had a small workaround for retrieving the state of
developer mode for iOS 17 devices integrated into our own iostool.
Instead use devicectl for gathering device information for devices that
it can handle, and only fall back to iostool for the devices that it
cannot handle.
Since iostool cannot handle deployment, running, and debugging for
iOS 17 devices anyway, the end goal would be to only use devicectl
for these.
Also add a TaskTree wrapper for IosToolHandler for convenience.
Change-Id: I5bcd09eb354c2dce9b21e62e140de16f2e740d6e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This addresses the 20th point in the master task below.
Task-number: QTCREATORBUG-28741
Change-Id: I696beda87430fbe637abba8054012fb77516e220
Reviewed-by: hjk <hjk@qt.io>
Change the argument of TaskInterface::done() signal
from bool into DoneResult. Make it consistent with
other TaskTree API.
Introduce toDoneResult(bool success) helper.
Change-Id: I7b3041d7c1ed0317c76adbc1fd37448231e85f82
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
Instead of using some flags in some struct, we convert the error handling
to use expected_str<ResponseData> to clean up the error handling with
the outside.
Change-Id: I0f8d10c99715989e0069568ebc1d799d412a0600
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Previously the "runCommand" function would never exit if the child process
hangs. This fix makes it so that the caller can specify a function
that determines whether we want to continue to wait.
In this function we then check if the promise has been cancelled.
We also let runCommand return an expected_str to better reflect actual
error reason.
We also early-error in various places to keep indentation low, and
make it easier to track where something returns an error.
Task-number: QTCREATORBUG-29564
Change-Id: I71ee4568d87c6b21c3ba9c71b81d028d517b553a
Reviewed-by: Serg Kryvonos <serg.kryvonos@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Previously the deploy step would seemingly run forever if the
startSimulator step failed, as no result was added to the promise.
Change-Id: Ib320d051e78057e536d4ad371cb30108e848c65f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This fixes the synchronization on early shutdown, e.g. when
Creator is started with "-test Ios".
Change-Id: Ia18215a090809b6095d51ee3647728b4b2ad2d5f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
These are functional replacements for
QVariant::fromValue(QVariantMap) (or QVariant::fromValue(Store)) and
QVariant::toMap() (or QVariant::toValue<Store>())
We will have a few code paths in the end that need to explicitly
operarate on both QVariantMap and Store (e.g. actual reading/writing
to keep format compatibility etc), so these can't in the end be
simple to/fromValue(OneType) but need an internal 'if' or such.
Change-Id: I954f3cb24fa8fe123162b72bbd25d891dd19b768
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
After this one, is compiles with the opt-in macro. Not changed yet,
though.
Change-Id: I29a66ecb5daa71d0d97566b81fd9f47d92f6368a
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Alias task types manually.
Don't require the alias to be inside the Tasking namespace.
Addresses the 22th point of the jira ticket below.
Task-number: QTCREATORBUG-28741
Change-Id: I1bdda7fe5a01e4bcb5052ec328f4e0eace878651
Reviewed-by: hjk <hjk@qt.io>