aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/language/projectresolver.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2017-07-28 17:10:36 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2017-08-03 07:22:57 +0000
commit91226f396c4080f34f7af1f09e5d301e17fa2ab8 (patch)
tree2951bfb233e6f03d5dc02ec92eff1829def1f6d0 /src/lib/corelib/language/projectresolver.cpp
parent0a2f8da44f1c8aecb17c0352ad1585c93e599992 (diff)
Centralize conversion of multiplex id to human-readable string
... and use it to construct a unique product display name that can be used in error messages and so on. [ChangeLog][API] Introduced ProductData::fullDisplayName() Change-Id: I9a35765d3694a8f24741f1506b00d499a1aa23a0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Diffstat (limited to 'src/lib/corelib/language/projectresolver.cpp')
-rw-r--r--src/lib/corelib/language/projectresolver.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp
index 2c951da2b..a19ab8f3d 100644
--- a/src/lib/corelib/language/projectresolver.cpp
+++ b/src/lib/corelib/language/projectresolver.cpp
@@ -1004,10 +1004,12 @@ ProjectResolver::ProductDependencyInfos ProjectResolver::getProductDependencies(
dependencies.removeAt(i);
} else {
ResolvedProductPtr usedProduct = m_productsByName.value(dependency.uniqueName());
+ const QString depDisplayName = ResolvedProduct::fullDisplayName(dependency.name,
+ dependency.multiplexConfigurationId);
if (!usedProduct) {
- // TODO: Proper error message with expanded configuration
throw ErrorInfo(Tr::tr("Product '%1' depends on '%2', which does not exist.")
- .arg(product->name, dependency.uniqueName()), product->location);
+ .arg(product->fullDisplayName(), depDisplayName),
+ product->location);
}
if (!dependency.profile.isEmpty() && usedProduct->profile != dependency.profile) {
usedProduct.reset();
@@ -1020,7 +1022,8 @@ ProjectResolver::ProductDependencyInfos ProjectResolver::getProductDependencies(
if (!usedProduct) {
throw ErrorInfo(Tr::tr("Product '%1' depends on '%2', which does not exist "
"for the requested profile '%3'.")
- .arg(product->name, dependency.name, dependency.profile),
+ .arg(product->fullDisplayName(), depDisplayName,
+ dependency.profile),
product->location);
}
}