aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/language/moduleloader.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2019-02-06 09:49:51 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2019-02-11 12:51:31 +0000
commit6cc92f061c86f06436a0546c6c41c123a51f3738 (patch)
tree47eeb7cad2f64e04b2d210eabdbb52ab23a59397 /src/lib/corelib/language/moduleloader.cpp
parent40215ac87a15c41c6531714da2d43728df75235b (diff)
Module providers: Always remember that a provider was run
... even if it did not succeed. Otherwise, other products will try again, even though we know it won't succeed. Change-Id: I6c4f14df33ecbc9b38ec8cae7e1c2d6bfc99816a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/language/moduleloader.cpp')
-rw-r--r--src/lib/corelib/language/moduleloader.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp
index fe71df43f..74d62c818 100644
--- a/src/lib/corelib/language/moduleloader.cpp
+++ b/src/lib/corelib/language/moduleloader.cpp
@@ -3802,9 +3802,14 @@ ModuleLoader::ModuleProviderResult ModuleLoader::findModuleProvider(const Qualif
EvalContextSwitcher contextSwitcher(m_evaluator->engine(), EvalContext::ModuleProvider);
const QStringList searchPaths
= m_evaluator->stringListValue(providerItem, QStringLiteral("searchPaths"));
+ const auto addToGlobalInfo = [=] {
+ m_moduleProviderInfo.emplace_back(ModuleProviderInfo(name, moduleConfig.toMap(),
+ searchPaths, m_parameters.dryRun()));
+ };
if (searchPaths.empty()) {
qCDebug(lcModuleLoader) << "Module provider did run, but did not set up "
"any modules.";
+ addToGlobalInfo();
return ModuleProviderResult(true, false);
}
qCDebug(lcModuleLoader) << "Module provider added" << searchPaths.size()
@@ -3818,8 +3823,7 @@ ModuleLoader::ModuleProviderResult ModuleLoader::findModuleProvider(const Qualif
m_reader->pushExtraSearchPaths(searchPaths); // (1)
product.searchPaths << searchPaths; // (2)
product.newlyAddedModuleProviderSearchPaths.push_back(searchPaths); // (3)
- m_moduleProviderInfo.emplace_back(ModuleProviderInfo(name, moduleConfig.toMap(), // (4)
- searchPaths, m_parameters.dryRun()));
+ addToGlobalInfo(); // (4)
return ModuleProviderResult(true, true);
}
return ModuleProviderResult();