Utils: Make SynchronousProcess use Utils::Environment for environments

Makes the interface more similar to QtcProcess.

Change-Id: I58e57d9fdb7c37eb0d2a5c5eef8643d6be97c3cc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
hjk
2021-04-30 17:50:30 +02:00
parent 0ca487b265
commit 5813c7e8c2
14 changed files with 50 additions and 51 deletions

View File

@@ -73,7 +73,7 @@ bool AndroidAvdManager::avdManagerCommand(const AndroidConfig &config, const QSt
{
CommandLine cmd(config.avdManagerToolPath(), args);
Utils::SynchronousProcess proc;
auto env = AndroidConfigurations::toolsEnvironment(config).toStringList();
Environment env = AndroidConfigurations::toolsEnvironment(config);
proc.setEnvironment(env);
qCDebug(avdManagerLog) << "Running AVD Manager command:" << cmd.toUserOutput();
SynchronousProcessResponse response = proc.runBlocking(cmd);

View File

@@ -1377,15 +1377,15 @@ bool AndroidConfigurations::force32bitEmulator()
return m_instance->m_force32bit;
}
QProcessEnvironment AndroidConfigurations::toolsEnvironment(const AndroidConfig &config)
Environment AndroidConfigurations::toolsEnvironment(const AndroidConfig &config)
{
Environment env = Environment::systemEnvironment();
Utils::FilePath jdkLocation = config.openJDKLocation();
FilePath jdkLocation = config.openJDKLocation();
if (!jdkLocation.isEmpty()) {
env.set("JAVA_HOME", jdkLocation.toUserOutput());
env.prependOrSetPath(jdkLocation.pathAppended("bin").toUserOutput());
}
return env.toProcessEnvironment();
return env;
}
/**

View File

@@ -33,7 +33,6 @@
#include <qtsupport/qtversionmanager.h>
#include <QObject>
#include <QProcessEnvironment>
#include <QString>
#include <QStringList>
#include <QVector>
@@ -248,7 +247,7 @@ public:
static void removeOldToolChains();
static void updateAutomaticKitList();
static bool force32bitEmulator();
static QProcessEnvironment toolsEnvironment(const AndroidConfig &config);
static Utils::Environment toolsEnvironment(const AndroidConfig &config);
signals:
void aboutToUpdate();

View File

@@ -147,7 +147,7 @@ static bool sdkManagerCommand(const AndroidConfig &config, const QStringList &ar
<< CommandLine(config.sdkManagerToolPath(), newArgs)
.toUserOutput();
SynchronousProcess proc;
proc.setProcessEnvironment(AndroidConfigurations::toolsEnvironment(config));
proc.setEnvironment(AndroidConfigurations::toolsEnvironment(config));
proc.setTimeoutS(timeout);
proc.setTimeOutMessageBoxEnabled(true);
SynchronousProcessResponse response = proc.run({config.sdkManagerToolPath(), newArgs});
@@ -173,7 +173,7 @@ static void sdkManagerCommand(const AndroidConfig &config, const QStringList &ar
<< CommandLine(config.sdkManagerToolPath(), newArgs).toUserOutput();
int offset = fi.progressValue();
SynchronousProcess proc;
proc.setProcessEnvironment(AndroidConfigurations::toolsEnvironment(config));
proc.setEnvironment(AndroidConfigurations::toolsEnvironment(config));
bool assertionFound = false;
proc.setStdErrBufferedSignalsEnabled(true);
proc.setStdOutBufferedSignalsEnabled(true);
@@ -1030,7 +1030,7 @@ void AndroidSdkManagerPrivate::getPendingLicense(SdkCmdFutureInterface &fi)
AndroidSdkManager::OperationOutput result;
result.type = AndroidSdkManager::LicenseWorkflow;
QtcProcess licenseCommand;
licenseCommand.setProcessEnvironment(AndroidConfigurations::toolsEnvironment(m_config));
licenseCommand.setEnvironment(AndroidConfigurations::toolsEnvironment(m_config));
bool reviewingLicenses = false;
licenseCommand.setCommand(CommandLine(m_config.sdkManagerToolPath(), {"--licenses", sdkRootArg(m_config)}));
if (Utils::HostOsInfo::isWindowsHost())