From dab859e7762cf3a9566f35b1bd3f2186a47d2bcb Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 27 Jan 2023 12:30:03 +0100 Subject: [PATCH] Utils: Replace Environment.isValid() with .hasChanges() That's closer to the intended semantics. The "other" use in docker will be changed to an optional as follow-up to keep this here mechanical. Change-Id: I43ef9da6c9c7731b28f9d6fab6413ce9c4f428b4 Reviewed-by: Christian Kandeler --- src/libs/utils/environment.cpp | 2 +- src/libs/utils/environment.h | 2 +- src/libs/utils/qtcprocess.cpp | 4 ++-- src/plugins/android/androidrunnerworker.cpp | 2 +- src/plugins/autotest/testconfiguration.cpp | 2 +- src/plugins/clangtools/documentclangtoolrunner.cpp | 2 +- src/plugins/debugger/cdb/cdbengine.cpp | 2 +- src/plugins/docker/dockerdevice.cpp | 4 ++-- src/plugins/languageclient/languageclientinterface.cpp | 2 +- src/plugins/projectexplorer/devicesupport/sshparameters.cpp | 2 +- src/plugins/projectexplorer/msvctoolchain.cpp | 2 +- src/plugins/remotelinux/makeinstallstep.cpp | 2 +- 12 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/libs/utils/environment.cpp b/src/libs/utils/environment.cpp index 21021793031..f537f606927 100644 --- a/src/libs/utils/environment.cpp +++ b/src/libs/utils/environment.cpp @@ -23,7 +23,7 @@ NameValueItems Environment::diff(const Environment &other, bool checkAppendPrepe return m_dict.diff(other.m_dict, checkAppendPrepend); } -int Environment::isValid() const +bool Environment::hasChanges() const { return m_dict.size() != 0; } diff --git a/src/libs/utils/environment.h b/src/libs/utils/environment.h index e9cf20a1bd1..795f65e2e4b 100644 --- a/src/libs/utils/environment.h +++ b/src/libs/utils/environment.h @@ -35,7 +35,7 @@ public: void unset(const QString &key) { m_dict.unset(key); } void modify(const NameValueItems &items) { m_dict.modify(items); } - int isValid() const; + bool hasChanges() const; void clear() { return m_dict.clear(); } QStringList toStringList() const { return m_dict.toStringList(); } diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index c36f4097782..25e40fad26a 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -668,7 +668,7 @@ public: Environment fullEnvironment() const { Environment env = m_setup.m_environment; - if (!env.isValid()) { + if (!env.hasChanges()) { // FIXME: Either switch to using EnvironmentChange instead of full Environments, or // feed the full environment into the QtcProcess instead of fixing it up here. // qWarning("QtcProcess::start: Empty environment set when running '%s'.", @@ -1190,7 +1190,7 @@ QString QtcProcess::toStandaloneCommandLine() const d->m_setup.m_workingDirectory.path(); } parts.append("-i"); - if (d->m_setup.m_environment.isValid()) { + if (d->m_setup.m_environment.hasChanges()) { const QStringList envVars = d->m_setup.m_environment.toStringList(); std::transform(envVars.cbegin(), envVars.cend(), std::back_inserter(parts), ProcessArgs::quoteArgUnix); diff --git a/src/plugins/android/androidrunnerworker.cpp b/src/plugins/android/androidrunnerworker.cpp index 75d6f175bf7..53721cebdb0 100644 --- a/src/plugins/android/androidrunnerworker.cpp +++ b/src/plugins/android/androidrunnerworker.cpp @@ -605,7 +605,7 @@ void AndroidRunnerWorker::asyncStartHelper() << QString::fromLatin1(appArgs.join(' ').toUtf8().toBase64()); } - if (m_extraEnvVars.isValid()) { + if (m_extraEnvVars.hasChanges()) { args << "-e" << "extraenvvars" << QString::fromLatin1(m_extraEnvVars.toStringList().join('\t') .toUtf8().toBase64()); diff --git a/src/plugins/autotest/testconfiguration.cpp b/src/plugins/autotest/testconfiguration.cpp index cd424b016bd..764ede697d1 100644 --- a/src/plugins/autotest/testconfiguration.cpp +++ b/src/plugins/autotest/testconfiguration.cpp @@ -61,7 +61,7 @@ FilePath ITestConfiguration::executableFilePath() const if (!hasExecutable()) return {}; - const Environment env = m_runnable.environment.isValid() + const Environment env = m_runnable.environment.hasChanges() ? m_runnable.environment : Environment::systemEnvironment(); return env.searchInPath(m_runnable.command.executable().path()); } diff --git a/src/plugins/clangtools/documentclangtoolrunner.cpp b/src/plugins/clangtools/documentclangtoolrunner.cpp index 11f01f31b6d..2afd12aa270 100644 --- a/src/plugins/clangtools/documentclangtoolrunner.cpp +++ b/src/plugins/clangtools/documentclangtoolrunner.cpp @@ -146,7 +146,7 @@ static Environment projectBuildEnvironment(Project *project) if (BuildConfiguration *buildConfig = target->activeBuildConfiguration()) env = buildConfig->environment(); } - if (!env.isValid()) + if (!env.hasChanges()) env = Environment::systemEnvironment(); return env; } diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 8b2d2683952..42e25035df6 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -411,7 +411,7 @@ void CdbEngine::setupEngine() m_autoBreakPointCorrection = false; - Environment inferiorEnvironment = sp.inferior.environment.isValid() + Environment inferiorEnvironment = sp.inferior.environment.hasChanges() ? sp.inferior.environment : Environment::systemEnvironment(); // Make sure that QTestLib uses OutputDebugString for logging. diff --git a/src/plugins/docker/dockerdevice.cpp b/src/plugins/docker/dockerdevice.cpp index 6ab31035487..91c315967bb 100644 --- a/src/plugins/docker/dockerdevice.cpp +++ b/src/plugins/docker/dockerdevice.cpp @@ -1137,10 +1137,10 @@ bool DockerDevicePrivate::addTemporaryMount(const FilePath &path, const FilePath Environment DockerDevicePrivate::environment() { - if (!m_cachedEnviroment.isValid()) + if (!m_cachedEnviroment.hasChanges()) fetchSystemEnviroment(); - QTC_CHECK(m_cachedEnviroment.isValid()); + QTC_CHECK(m_cachedEnviroment.hasChanges()); return m_cachedEnviroment; } diff --git a/src/plugins/languageclient/languageclientinterface.cpp b/src/plugins/languageclient/languageclientinterface.cpp index 517e466196b..541d1c3ab05 100644 --- a/src/plugins/languageclient/languageclientinterface.cpp +++ b/src/plugins/languageclient/languageclientinterface.cpp @@ -113,7 +113,7 @@ void StdIOClientInterface::startImpl() m_logFile.write(QString("Starting server: %1\nOutput:\n\n").arg(m_cmd.toUserOutput()).toUtf8()); m_process->setCommand(m_cmd); m_process->setWorkingDirectory(m_workingDirectory); - if (m_env.isValid()) + if (m_env.hasChanges()) m_process->setEnvironment(m_env); m_process->start(); } diff --git a/src/plugins/projectexplorer/devicesupport/sshparameters.cpp b/src/plugins/projectexplorer/devicesupport/sshparameters.cpp index f9a868b1f6d..3cc6364a677 100644 --- a/src/plugins/projectexplorer/devicesupport/sshparameters.cpp +++ b/src/plugins/projectexplorer/devicesupport/sshparameters.cpp @@ -64,7 +64,7 @@ QStringList SshParameters::connectionOptions(const FilePath &binary) const bool SshParameters::setupSshEnvironment(QtcProcess *process) { Environment env = process->controlEnvironment(); - if (!env.isValid()) + if (!env.hasChanges()) env = Environment::systemEnvironment(); const bool hasDisplay = env.hasKey("DISPLAY") && (env.value("DISPLAY") != QString(":0")); if (SshSettings::askpassFilePath().exists()) { diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp index 704bc92d12b..d0856e29d44 100644 --- a/src/plugins/projectexplorer/msvctoolchain.cpp +++ b/src/plugins/projectexplorer/msvctoolchain.cpp @@ -1154,7 +1154,7 @@ ToolChain::BuiltInHeaderPathsRunner MsvcToolChain::createBuiltInHeaderPathsRunne void MsvcToolChain::addToEnvironment(Utils::Environment &env) const { // We cache the full environment (incoming + modifications by setup script). - if (!m_resultEnvironment.isValid() || env != m_lastEnvironment) { + if (!m_resultEnvironment.hasChanges() || env != m_lastEnvironment) { qCDebug(Log) << "addToEnvironment: " << displayName(); m_lastEnvironment = env; m_resultEnvironment = readEnvironmentSetting(env); diff --git a/src/plugins/remotelinux/makeinstallstep.cpp b/src/plugins/remotelinux/makeinstallstep.cpp index 21c9cc2c906..ea7b6364586 100644 --- a/src/plugins/remotelinux/makeinstallstep.cpp +++ b/src/plugins/remotelinux/makeinstallstep.cpp @@ -170,7 +170,7 @@ bool MakeInstallStep::init() } const MakeInstallCommand cmd = buildSystem()->makeInstallCommand(rootDir); - if (cmd.environment.isValid()) { + if (cmd.environment.hasChanges()) { Environment env = processParameters()->environment(); for (auto it = cmd.environment.constBegin(); it != cmd.environment.constEnd(); ++it) { if (cmd.environment.isEnabled(it)) {