Use QString instead of FilePath.
Rename the diffRecipe into copyRecipe.
Add some code that constructs the tree, connects to its done signal
and starts the tree.
Change-Id: I40e1c4784c736347682071b3e3e99db599ce102a
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Transform it form TaskTree's description into description
of sequential and parallel global variables, and into
docs for parallelLimit() global function.
Change-Id: I4aa2bac2f47778cde039cee77052359264224f93
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Document onGroupSetup, onGroupDone and onGroupError methods,
TaskItem::Group{Start,End}Handler and TaskAction enum.
Change-Id: I7516b867a2e3ce33b8f15a18f85d1e61d673d65e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Make docs more consistent.
Add some more precision when something is not clear.
Do some adaptations for behavioral changes.
Change-Id: I95c76fedf2c9d611702097842452186ea4cdf8b0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Add tests for empty Group with different workflow policies.
Add tests for successful / failing task in a Group with
different workflow policies.
Change-Id: I50129713f836d2146b119ceb73b5ae43abf01639
Reviewed-by: hjk <hjk@qt.io>
Introduce the GroupData structure. In this way it's easily
possible to add extra properties of already used types, e.g. int.
It's also possible to easily create elements with multiple
properties.
Simplify internal TaskItem::Type enum.
Get rid of special ParallelLimit and Workflow elements.
Provide global parallelLimit() and workflowPolicy() functions.
Make global items (e.g. parallel, stopOnDone, etc...) const.
Change-Id: Ic5628255b542fd6c5a5565b055ff11804c8d7b68
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 OnGroup... elements are going to be replaced with
these functions.
Change-Id: Ia271a89062cc9c6b18384607b20b1f68d273bcde
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
The policy is useful mainly in parallel mode.
It stops executing the Group when any task finishes.
It reports the task's result.
Change-Id: I7aa98365cdc4c1eb869ab419d42d0cc5438d43bf
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
It reduces the time spent inside TaskTree::setupRoot()
by ~30% for big trees (~7000 tasks).
Change-Id: Ic65ed0fdf511977d9cc2fe22bdac814516e9883d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
Short live Tasking in Solutions!
Add src/libs/solutions/README.md with the motivation and hints.
Move TaskTree and Barrier from Utils into Tasking object lib,
the first solution in Solutions project.
Tasking: Some more work is still required for adapting auto and
manual tests. Currently they use Async task, which stayed in Utils.
For Qt purposed we most probably need to have a clone of
Async task inside the Tasking namespace that is more Qt-like
(no Utils::FutureSynchronizer, no priority field,
global QThreadPool instead of a custom one for Creator).
Change-Id: I5d10a2d68170ffa467d8c299be5995b9aa4f8f77
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>