diff options
author | Jarek Kobus <[email protected]> | 2023-06-22 16:18:37 +0200 |
---|---|---|
committer | Jarek Kobus <[email protected]> | 2023-06-23 08:58:40 +0000 |
commit | c510689fe49419339cfa6c7551e2a1f57aeb069a (patch) | |
tree | bf2560dd5954ba627737a7e9549d1b0c117e1c96 /src/plugins/clangtools/clangtoolrunner.cpp | |
parent | 1532986f10004fa606f8a73e32a6bfcb9903601b (diff) |
ClangToolRunner: Move finishAllAndDone one level up
When the onSetup() handler returns StopWithError,
the group stops immediately with an error, regardless of
its workflow policy.
Our intention is to report an error only if the initial
onSetup() handler returned StopWithError. Otherwise,
regardless on how the subgroup execution went, we want to
report success to the parent. That's why the
finishAllAndDone is an appropriate policy for the top group.
In case the ProcessTask fails, we don't want to continue
executing AsyncTask, that's why the finishAllAndDone got
removed from the subgroup, leaving it with the default
workflow policy of stopOnError.
Change-Id: I86ac18f062cd431e5138f87cdb01ef59e3d77d7e
Reviewed-by: David Schulz <[email protected]>
Reviewed-by: Qt CI Bot <[email protected]>
Diffstat (limited to 'src/plugins/clangtools/clangtoolrunner.cpp')
-rw-r--r-- | src/plugins/clangtools/clangtoolrunner.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/clangtools/clangtoolrunner.cpp b/src/plugins/clangtools/clangtoolrunner.cpp index 666f07963b2..ecace1c7d36 100644 --- a/src/plugins/clangtools/clangtoolrunner.cpp +++ b/src/plugins/clangtools/clangtoolrunner.cpp @@ -218,11 +218,11 @@ GroupItem clangToolTask(const AnalyzeInputData &input, }; const Group group { + finishAllAndDone, Storage(storage), onGroupSetup(onSetup), Group { sequential, - finishAllAndDone, ProcessTask(onProcessSetup, onProcessDone, onProcessError), AsyncTask<expected_str<Diagnostics>>(onReadSetup, onReadDone, onReadError) } |