diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-01-18 10:32:54 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-01-18 10:13:43 +0000 |
commit | 8798ed72d6c500819567cc031521c556ca18ab89 (patch) | |
tree | 149ed9f4a78d990a48f636b33511c5c6c63b087b /src | |
parent | b3318ff57e4a6171755e2c83ec7162d3321af04d (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.cpp | 2 | ||||
-rw-r--r-- | src/lib/corelib/buildgraph/environmentscriptrunner.cpp | 8 | ||||
-rw-r--r-- | src/lib/corelib/jsextensions/environmentextension.cpp | 3 | ||||
-rw-r--r-- | src/lib/corelib/jsextensions/process.cpp | 3 | ||||
-rw-r--r-- | src/lib/corelib/tools/stringconstants.h | 1 |
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(); } |