aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangtools/clangtoolrunner.cpp
diff options
context:
space:
mode:
authorJarek Kobus <[email protected]>2023-06-22 16:18:37 +0200
committerJarek Kobus <[email protected]>2023-06-23 08:58:40 +0000
commitc510689fe49419339cfa6c7551e2a1f57aeb069a (patch)
treebf2560dd5954ba627737a7e9549d1b0c117e1c96 /src/plugins/clangtools/clangtoolrunner.cpp
parent1532986f10004fa606f8a73e32a6bfcb9903601b (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.cpp2
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)
}