diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2024-04-19 13:17:46 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2024-04-22 08:30:36 +0000 |
commit | 12bc60c93d684432af1b28576f21f853b8922d99 (patch) | |
tree | d087f8cdc9c45a70e2322457ebcd8513e1a51542 | |
parent | ca74c524363d17c689bb0ec4ca39c744df8d036e (diff) |
Loader: Fix look-up of qbs properties from provider probes
... by setting the provider scope on the values instead of the item.
Task-number: QBS-1742
Change-Id: I8084e3f8529335c3d045c057ba70a3c3b091efa6
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
3 files changed, 12 insertions, 2 deletions
diff --git a/changelogs/changes-2.3.1.md b/changelogs/changes-2.3.1.md index 0514bc204..598c6748f 100644 --- a/changelogs/changes-2.3.1.md +++ b/changelogs/changes-2.3.1.md @@ -1,3 +1,6 @@ +# Language +* Fixed look-up of qbs properties in module providers via probes (QBS-1742). + # Apple support * Fixed codesing module when multiplexing over build variants (QBS-1775). @@ -5,4 +8,5 @@ * Fixed release jobs. # Contributors +* Christian Kandeler * Ivan Komissarov diff --git a/src/lib/corelib/loader/moduleproviderloader.cpp b/src/lib/corelib/loader/moduleproviderloader.cpp index a9f5eb26f..212ad75b3 100644 --- a/src/lib/corelib/loader/moduleproviderloader.cpp +++ b/src/lib/corelib/loader/moduleproviderloader.cpp @@ -378,7 +378,9 @@ ModuleProviderLoader::EvaluationResult ModuleProviderLoader::evaluateModuleProvi BuiltinDeclarations::instance().nameForType(ItemType::ModuleProvider))); } - providerItem->setScope(createProviderScope(product, qbsModule)); + Item * const scope = createProviderScope(product, qbsModule); + for (auto it = providerItem->properties().begin(); it != providerItem->properties().end(); ++it) + it.value()->setScope(scope, {}); providerItem->setProperty( StringConstants::nameProperty(), VariantValue::create(name.toString())); diff --git a/tests/auto/blackbox/testdata-providers/probe-in-module-provider/module-providers/provider_a.qbs b/tests/auto/blackbox/testdata-providers/probe-in-module-provider/module-providers/provider_a.qbs index a1228b19c..476a83143 100644 --- a/tests/auto/blackbox/testdata-providers/probe-in-module-provider/module-providers/provider_a.qbs +++ b/tests/auto/blackbox/testdata-providers/probe-in-module-provider/module-providers/provider_a.qbs @@ -1,11 +1,13 @@ import "../../qbs-module-providers-helpers.js" as Helpers ModuleProvider { + property string sysroot: qbs.sysroot Probe { id: theProbe property string theValue: "value" + property string dummy: sysroot configure: { - console.info("Running probe"); + console.info("Running probe with irrelevant value '" + dummy + "'"); found = true; } } @@ -14,6 +16,8 @@ ModuleProvider { property string theValue: theProbe.theValue relativeSearchPaths: { Helpers.writeModule(outputBaseDir, "qbsmetatestmodule", theValue, undefined, found); + if (sysroot !== qbs.sysroot) + throw "this is unexpected"; return ""; } } |