aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-01-18 10:32:54 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2018-01-18 10:13:43 +0000
commit8798ed72d6c500819567cc031521c556ca18ab89 (patch)
tree149ed9f4a78d990a48f636b33511c5c6c63b087b /src
parentb3318ff57e4a6171755e2c83ec7162d3321af04d (diff)
Introduce a named constant for the magic "_qbs_procenv" variable
Change-Id: I17df1d5465afd3c19f71ab00e361c546ec8bb45d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/lib/corelib/buildgraph/buildgraph.cpp2
-rw-r--r--src/lib/corelib/buildgraph/environmentscriptrunner.cpp8
-rw-r--r--src/lib/corelib/jsextensions/environmentextension.cpp3
-rw-r--r--src/lib/corelib/jsextensions/process.cpp3
-rw-r--r--src/lib/corelib/tools/stringconstants.h1
5 files changed, 8 insertions, 9 deletions
diff --git a/src/lib/corelib/buildgraph/buildgraph.cpp b/src/lib/corelib/buildgraph/buildgraph.cpp
index 39687f623..0b54e6d3a 100644
--- a/src/lib/corelib/buildgraph/buildgraph.cpp
+++ b/src/lib/corelib/buildgraph/buildgraph.cpp
@@ -341,7 +341,7 @@ void setupScriptEngineForProduct(ScriptEngine *engine, ResolvedProduct *product,
if (setBuildEnvironment) {
QVariant v;
v.setValue<void*>(&product->buildEnvironment);
- engine->setProperty("_qbs_procenv", v);
+ engine->setProperty(StringConstants::qbsProcEnvVarInternal(), v);
}
QScriptValue productScriptValue = engine->newObject();
setupProductScriptValue(engine, productScriptValue, product, observer);
diff --git a/src/lib/corelib/buildgraph/environmentscriptrunner.cpp b/src/lib/corelib/buildgraph/environmentscriptrunner.cpp
index a80687a2b..09a6cf0e0 100644
--- a/src/lib/corelib/buildgraph/environmentscriptrunner.cpp
+++ b/src/lib/corelib/buildgraph/environmentscriptrunner.cpp
@@ -66,22 +66,18 @@ public:
{
QVariant v;
v.setValue<void*>(&m_env);
- m_engine->setProperty(m_procenvProperty, v);
+ m_engine->setProperty(StringConstants::qbsProcEnvVarInternal(), v);
}
- ~EnvProvider() { m_engine->setProperty(m_procenvProperty, QVariant()); }
+ ~EnvProvider() { m_engine->setProperty(StringConstants::qbsProcEnvVarInternal(), QVariant()); }
QProcessEnvironment alteredEnvironment() const { return m_env; }
private:
ScriptEngine * const m_engine;
QProcessEnvironment m_env;
- static const char * const m_procenvProperty;
};
-// TODO: Define this at a central place.
-const char * const EnvProvider::m_procenvProperty = "_qbs_procenv";
-
static QList<const ResolvedModule*> topSortModules(const QHash<const ResolvedModule*,
QList<const ResolvedModule*> > &moduleChildren,
const QList<const ResolvedModule*> &modules,
diff --git a/src/lib/corelib/jsextensions/environmentextension.cpp b/src/lib/corelib/jsextensions/environmentextension.cpp
index d151957a4..81700b7e3 100644
--- a/src/lib/corelib/jsextensions/environmentextension.cpp
+++ b/src/lib/corelib/jsextensions/environmentextension.cpp
@@ -42,6 +42,7 @@
#include <language/scriptengine.h>
#include <logging/translator.h>
#include <tools/hostosinfo.h>
+#include <tools/stringconstants.h>
#include <QtCore/qdir.h>
@@ -90,7 +91,7 @@ QScriptValue EnvironmentExtension::js_ctor(QScriptContext *context, QScriptEngin
static QProcessEnvironment *getProcessEnvironment(QScriptContext *context, QScriptEngine *engine,
const QString &func, bool doThrow = true)
{
- QVariant v = engine->property("_qbs_procenv");
+ QVariant v = engine->property(StringConstants::qbsProcEnvVarInternal());
QProcessEnvironment *procenv = reinterpret_cast<QProcessEnvironment *>(v.value<void *>());
if (!procenv && doThrow)
throw context->throwError(QScriptContext::UnknownError,
diff --git a/src/lib/corelib/jsextensions/process.cpp b/src/lib/corelib/jsextensions/process.cpp
index bffeeaea2..3462b0262 100644
--- a/src/lib/corelib/jsextensions/process.cpp
+++ b/src/lib/corelib/jsextensions/process.cpp
@@ -44,6 +44,7 @@
#include <tools/executablefinder.h>
#include <tools/hostosinfo.h>
#include <tools/shellutils.h>
+#include <tools/stringconstants.h>
#include <QtCore/qobject.h>
#include <QtCore/qprocess.h>
@@ -137,7 +138,7 @@ QScriptValue Process::ctor(QScriptContext *context, QScriptEngine *engine)
QScriptValue obj = engine->newQObject(t, QScriptEngine::QtOwnership);
// Get environment
- QVariant v = engine->property("_qbs_procenv");
+ QVariant v = engine->property(StringConstants::qbsProcEnvVarInternal());
if (v.isNull()) {
// The build environment is not initialized yet.
// This can happen if one uses Process on the RHS of a binding like Group.name.
diff --git a/src/lib/corelib/tools/stringconstants.h b/src/lib/corelib/tools/stringconstants.h
index f38d6c628..fca451b7f 100644
--- a/src/lib/corelib/tools/stringconstants.h
+++ b/src/lib/corelib/tools/stringconstants.h
@@ -141,6 +141,7 @@ public:
QBS_STRING_CONSTANT(importScopeNamePropertyInternal, "_qbs_importScopeName")
QBS_STRING_CONSTANT(modulePropertyInternal, "__module")
QBS_STRING_CONSTANT(qbsSourceDirPropertyInternal, "_qbs_sourceDir")
+ static const char *qbsProcEnvVarInternal() { return "_qbs_procenv"; }
static const QString &projectPrefix() { return project(); }
static const QString &productValue() { return product(); }