aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2017-04-14 12:46:17 -0700
committerJake Petroules <jake.petroules@qt.io>2017-04-18 18:07:07 +0000
commit85ea84ab44067f66148a8fc450fac29b549e156a (patch)
treeb8d5c592df042e3aba918e6aa56d718e2bdceb60 /share
parentb672df0b86a44a64bf197308b35420e1b4fa86c4 (diff)
Make utility function slightly more general
This prepares it for use in a followup patch. Change-Id: I8d51efc7c2d90918689c2aa3381a68648519e710 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share')
-rw-r--r--share/qbs/imports/qbs/ModUtils/utils.js15
-rw-r--r--share/qbs/imports/qbs/base/AutotestRunner.qbs2
2 files changed, 11 insertions, 6 deletions
diff --git a/share/qbs/imports/qbs/ModUtils/utils.js b/share/qbs/imports/qbs/ModUtils/utils.js
index 393ed34e6..e78dc7ffd 100644
--- a/share/qbs/imports/qbs/ModUtils/utils.js
+++ b/share/qbs/imports/qbs/ModUtils/utils.js
@@ -248,13 +248,18 @@ function allFileTags(fileTaggers) {
}
/**
- * Flattens an environment dictionary (string keys to arrays or strings)
- * into a string list containing items like \c key=value1:value2:value3
+ * Flattens a dictionary (string keys to strings)
+ * into a string list containing items like \c key=value1
*/
-function flattenEnvironmentDictionary(dict, pathListSeparator) {
+function flattenDictionary(dict, separator) {
+ separator = separator || "=";
var list = [];
- for (var i in dict)
- list.push(i + "=" + dict[i]);
+ for (var i in dict) {
+ var value = i;
+ if (dict[i] !== undefined) // allow differentiation between undefined and empty string
+ value += separator + dict[i];
+ list.push(value);
+ }
return list;
}
diff --git a/share/qbs/imports/qbs/base/AutotestRunner.qbs b/share/qbs/imports/qbs/base/AutotestRunner.qbs
index 426b1ee8f..86818bfe1 100644
--- a/share/qbs/imports/qbs/base/AutotestRunner.qbs
+++ b/share/qbs/imports/qbs/base/AutotestRunner.qbs
@@ -39,7 +39,7 @@ Product {
type: ["autotest-result"]
builtByDefault: false
property stringList arguments: []
- property stringList environment: ModUtils.flattenEnvironmentDictionary(qbs.commonRunEnvironment)
+ property stringList environment: ModUtils.flattenDictionary(qbs.commonRunEnvironment)
property bool limitToSubProject: true
property stringList wrapper: []
Depends {