diff options
Diffstat (limited to 'src/lib/corelib/language/moduleloader.cpp')
-rw-r--r-- | src/lib/corelib/language/moduleloader.cpp | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp index fa3dabfb5..a8a3c5492 100644 --- a/src/lib/corelib/language/moduleloader.cpp +++ b/src/lib/corelib/language/moduleloader.cpp @@ -76,6 +76,14 @@ namespace qbs { namespace Internal { +static void handlePropertyError(const ErrorInfo &error, const SetupProjectParameters ¶ms, + Logger &logger) +{ + if (params.propertyCheckingMode() == ErrorHandlingMode::Strict) + throw error; + logger.printWarning(error); +} + class ModuleLoader::ItemModuleList : public QList<Item::Module> {}; const QString moduleSearchSubDir = QLatin1String("modules"); @@ -273,6 +281,29 @@ ModuleLoaderResult ModuleLoader::load(const SetupProjectParameters ¶meters) m_reader->setEnableTiming(parameters.logElapsedTime()); m_elapsedTimeProbes = 0; + for (const QString &key : m_parameters.overriddenValues().keys()) { + static const QStringList prefixes({ QLatin1String("project"), QLatin1String("projects"), + QLatin1String("products"), QLatin1String("modules"), + QLatin1String("qbs")}); + bool ok = false; + for (const auto &prefix : prefixes) { + if (key.startsWith(prefix + QLatin1Char('.'))) { + ok = true; + break; + } + } + if (ok) + continue; + ErrorInfo e(Tr::tr("Property override key '%1' not understood.").arg(key)); + e.append(Tr::tr("Please use one of the following:")); + e.append(QLatin1Char('\t') + Tr::tr("projects.<project-name>.<property-name>:value")); + e.append(QLatin1Char('\t') + Tr::tr("products.<product-name>.<property-name>:value")); + e.append(QLatin1Char('\t') + Tr::tr("modules.<module-name>.<property-name>:value")); + e.append(QLatin1Char('\t') + Tr::tr("products.<product-name>.<module-name>." + "<property-name>:value")); + handlePropertyError(e, m_parameters, m_logger); + } + ModuleLoaderResult result; m_pool = result.itemPool.data(); m_reader->setPool(m_pool); @@ -314,14 +345,6 @@ ModuleLoaderResult ModuleLoader::load(const SetupProjectParameters ¶meters) return result; } -static void handlePropertyError(const ErrorInfo &error, const SetupProjectParameters ¶ms, - Logger &logger) -{ - if (params.propertyCheckingMode() == ErrorHandlingMode::Strict) - throw error; - logger.printWarning(error); -} - class PropertyDeclarationCheck : public ValueHandler { const Set<Item *> &m_disabledItems; |