forked from qt-creator/qt-creator
ClangToolRunner: Reuse LoopList
Instead of LoopRepeat + container capture. Change-Id: I5bce612279cf63f6ad1237569b55baad9a98e2ce Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -121,19 +121,19 @@ GroupItem clangToolTask(const AnalyzeUnits &units,
|
||||
FilePath outputFilePath;
|
||||
};
|
||||
const Storage<ClangToolStorage> storage;
|
||||
const LoopRepeat repeater(units.size());
|
||||
const LoopList iterator(units);
|
||||
|
||||
const auto mainToolArguments = [units, input, repeater](const ClangToolStorage &data) {
|
||||
const auto mainToolArguments = [input, iterator](const ClangToolStorage &data) {
|
||||
QStringList result;
|
||||
result << "-export-fixes=" + data.outputFilePath.nativePath();
|
||||
if (!input.overlayFilePath.isEmpty() && isVFSOverlaySupported(data.executable))
|
||||
result << "--vfsoverlay=" + input.overlayFilePath;
|
||||
result << units[repeater.iteration()].file.nativePath();
|
||||
result << iterator->file.nativePath();
|
||||
return result;
|
||||
};
|
||||
|
||||
const auto onSetup = [storage, units, input, setupHandler, repeater] {
|
||||
const AnalyzeUnit &unit = units[repeater.iteration()];
|
||||
const auto onSetup = [storage, input, setupHandler, iterator] {
|
||||
const AnalyzeUnit &unit = *iterator;
|
||||
if (setupHandler && !setupHandler(unit))
|
||||
return SetupResult::StopWithError;
|
||||
|
||||
@@ -153,8 +153,8 @@ GroupItem clangToolTask(const AnalyzeUnits &units,
|
||||
|
||||
return SetupResult::Continue;
|
||||
};
|
||||
const auto onProcessSetup = [storage, units, input, mainToolArguments, repeater](Process &process) {
|
||||
const AnalyzeUnit &unit = units[repeater.iteration()];
|
||||
const auto onProcessSetup = [storage, input, mainToolArguments, iterator](Process &process) {
|
||||
const AnalyzeUnit &unit = *iterator;
|
||||
process.setEnvironment(input.environment);
|
||||
process.setUseCtrlCStub(true);
|
||||
process.setLowPriority();
|
||||
@@ -171,13 +171,13 @@ GroupItem clangToolTask(const AnalyzeUnits &units,
|
||||
qCDebug(LOG).noquote() << "Starting" << commandLine.toUserOutput();
|
||||
process.setCommand(commandLine);
|
||||
};
|
||||
const auto onProcessDone = [storage, units, input, outputHandler, repeater](
|
||||
const auto onProcessDone = [storage, input, outputHandler, iterator](
|
||||
const Process &process, DoneWith result) {
|
||||
qCDebug(LOG).noquote() << "Output:\n" << process.cleanedStdOut();
|
||||
|
||||
if (!outputHandler)
|
||||
return;
|
||||
const AnalyzeUnit &unit = units[repeater.iteration()];
|
||||
const AnalyzeUnit &unit = *iterator;
|
||||
if (result == DoneWith::Success) {
|
||||
const QString stdErr = process.cleanedStdErr();
|
||||
if (stdErr.isEmpty())
|
||||
@@ -208,7 +208,7 @@ GroupItem clangToolTask(const AnalyzeUnits &units,
|
||||
input.diagnosticsFilter);
|
||||
data.setFutureSynchronizer(ExtensionSystem::PluginManager::futureSynchronizer());
|
||||
};
|
||||
const auto onReadDone = [storage, units, input, outputHandler, repeater](
|
||||
const auto onReadDone = [storage, input, outputHandler, iterator](
|
||||
const Async<expected_str<Diagnostics>> &data, DoneWith result) {
|
||||
if (!outputHandler)
|
||||
return;
|
||||
@@ -221,7 +221,7 @@ GroupItem clangToolTask(const AnalyzeUnits &units,
|
||||
else
|
||||
error = diagnosticsResult.error();
|
||||
outputHandler({ok,
|
||||
units[repeater.iteration()].file,
|
||||
iterator->file,
|
||||
storage->outputFilePath,
|
||||
diagnostics,
|
||||
input.tool,
|
||||
@@ -231,7 +231,7 @@ GroupItem clangToolTask(const AnalyzeUnits &units,
|
||||
return Group {
|
||||
parallelLimit(qMax(1, input.runSettings.parallelJobs())),
|
||||
finishAllAndSuccess,
|
||||
repeater,
|
||||
iterator,
|
||||
Group {
|
||||
storage,
|
||||
onGroupSetup(onSetup),
|
||||
|
Reference in New Issue
Block a user