forked from qt-creator/qt-creator
Fix various mis-uses of Environment::forEachEntry()
Most of them introduced with 08bacd3f19
.
Fixes: QTCREATORBUG-29857
Change-Id: Ia897958865f00cb5f8f141659a652aee05aa1355
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -356,8 +356,9 @@ void TerminalInterface::start()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QTextStream stream(d->envListFile.get());
|
QTextStream stream(d->envListFile.get());
|
||||||
finalEnv.forEachEntry([&stream](const QString &key, const QString &value, bool) {
|
finalEnv.forEachEntry([&stream](const QString &key, const QString &value, bool enabled) {
|
||||||
stream << key << '=' << value << '\0';
|
if (enabled)
|
||||||
|
stream << key << '=' << value << '\0';
|
||||||
});
|
});
|
||||||
|
|
||||||
if (d->envListFile->error() != QFile::NoError) {
|
if (d->envListFile->error() != QFile::NoError) {
|
||||||
|
@@ -116,8 +116,10 @@ static Environment getEnvCombined(const std::optional<Environment> &optPresetEnv
|
|||||||
Environment result = env;
|
Environment result = env;
|
||||||
|
|
||||||
if (optPresetEnv) {
|
if (optPresetEnv) {
|
||||||
optPresetEnv->forEachEntry([&result](const QString &key, const QString &value, bool) {
|
optPresetEnv->forEachEntry([&result](const QString &key, const QString &value,
|
||||||
result.set(key, value);
|
bool enabled) {
|
||||||
|
if (enabled)
|
||||||
|
result.set(key, value);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -128,7 +130,9 @@ template<class PresetType>
|
|||||||
void expand(const PresetType &preset, Environment &env, const FilePath &sourceDirectory)
|
void expand(const PresetType &preset, Environment &env, const FilePath &sourceDirectory)
|
||||||
{
|
{
|
||||||
const Environment presetEnv = getEnvCombined(preset.environment, env);
|
const Environment presetEnv = getEnvCombined(preset.environment, env);
|
||||||
presetEnv.forEachEntry([&](const QString &key, const QString &value_, bool) {
|
presetEnv.forEachEntry([&](const QString &key, const QString &value_, bool enabled) {
|
||||||
|
if (!enabled)
|
||||||
|
return;
|
||||||
QString value = value_;
|
QString value = value_;
|
||||||
expandAllButEnv(preset, sourceDirectory, value);
|
expandAllButEnv(preset, sourceDirectory, value);
|
||||||
value = expandMacroEnv("env", value, [presetEnv](const QString ¯oName) {
|
value = expandMacroEnv("env", value, [presetEnv](const QString ¯oName) {
|
||||||
@@ -163,7 +167,9 @@ template<class PresetType>
|
|||||||
void expand(const PresetType &preset, EnvironmentItems &envItems, const FilePath &sourceDirectory)
|
void expand(const PresetType &preset, EnvironmentItems &envItems, const FilePath &sourceDirectory)
|
||||||
{
|
{
|
||||||
const Environment presetEnv = preset.environment ? *preset.environment : Environment();
|
const Environment presetEnv = preset.environment ? *preset.environment : Environment();
|
||||||
presetEnv.forEachEntry([&](const QString &key, const QString &value_, bool) {
|
presetEnv.forEachEntry([&](const QString &key, const QString &value_, bool enabled) {
|
||||||
|
if (!enabled)
|
||||||
|
return;
|
||||||
QString value = value_;
|
QString value = value_;
|
||||||
expandAllButEnv(preset, sourceDirectory, value);
|
expandAllButEnv(preset, sourceDirectory, value);
|
||||||
value = expandMacroEnv("env", value, [presetEnv](const QString ¯oName) {
|
value = expandMacroEnv("env", value, [presetEnv](const QString ¯oName) {
|
||||||
|
@@ -662,9 +662,11 @@ CommandLine DockerDevicePrivate::withDockerExecCmd(const CommandLine &cmd,
|
|||||||
dockerCmd.addArg("-t");
|
dockerCmd.addArg("-t");
|
||||||
|
|
||||||
if (env) {
|
if (env) {
|
||||||
env->forEachEntry([&](const QString &key, const QString &value, bool) {
|
env->forEachEntry([&](const QString &key, const QString &value, bool enabled) {
|
||||||
dockerCmd.addArg("-e");
|
if (enabled) {
|
||||||
dockerCmd.addArg(key + "=" + env->expandVariables(value));
|
dockerCmd.addArg("-e");
|
||||||
|
dockerCmd.addArg(key + "=" + env->expandVariables(value));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -867,8 +867,9 @@ QtSupport::ProFileReader *QmakeBuildSystem::createProFileReader(const QmakeProFi
|
|||||||
rootProFileName,
|
rootProFileName,
|
||||||
deviceRoot());
|
deviceRoot());
|
||||||
|
|
||||||
env.forEachEntry([&](const QString &key, const QString &value, bool) {
|
env.forEachEntry([&](const QString &key, const QString &value, bool enabled) {
|
||||||
m_qmakeGlobals->environment.insert(key, env.expandVariables(value));
|
if (enabled)
|
||||||
|
m_qmakeGlobals->environment.insert(key, env.expandVariables(value));
|
||||||
});
|
});
|
||||||
|
|
||||||
m_qmakeGlobals->setCommandLineArguments(rootProFileName, qmakeArgs);
|
m_qmakeGlobals->setCommandLineArguments(rootProFileName, qmakeArgs);
|
||||||
|
@@ -768,8 +768,9 @@ CommandLine SshProcessInterfacePrivate::fullLocalCommandLine() const
|
|||||||
inner.addArgs(QString("echo ") + s_pidMarker + "$$" + s_pidMarker + " && ", CommandLine::Raw);
|
inner.addArgs(QString("echo ") + s_pidMarker + "$$" + s_pidMarker + " && ", CommandLine::Raw);
|
||||||
|
|
||||||
const Environment &env = q->m_setup.m_environment;
|
const Environment &env = q->m_setup.m_environment;
|
||||||
env.forEachEntry([&](const QString &key, const QString &value, bool) {
|
env.forEachEntry([&](const QString &key, const QString &value, bool enabled) {
|
||||||
inner.addArgs(key + "='" + env.expandVariables(value) + '\'', CommandLine::Raw);
|
if (enabled)
|
||||||
|
inner.addArgs(key + "='" + env.expandVariables(value) + '\'', CommandLine::Raw);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!useTerminal && !commandLine.isEmpty())
|
if (!useTerminal && !commandLine.isEmpty())
|
||||||
|
Reference in New Issue
Block a user