ProcessInterface: Remove setEnvironment()

Use environment from ProcessSetupData instead.

Change-Id: I8f0436b8ce024ca5ce39ae2cd842b4d195f2c54d
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2022-02-15 19:07:48 +01:00
parent d520d457c1
commit d06449d1a5
2 changed files with 11 additions and 19 deletions

View File

@@ -233,7 +233,6 @@ public:
QByteArray readAllStandardOutput() override { QTC_CHECK(false); return {}; } QByteArray readAllStandardOutput() override { QTC_CHECK(false); return {}; }
QByteArray readAllStandardError() override { QTC_CHECK(false); return {}; } QByteArray readAllStandardError() override { QTC_CHECK(false); return {}; }
void setEnvironment(const Environment &) override { QTC_CHECK(false); }
void start(const QString &, const QStringList &) override void start(const QString &, const QStringList &) override
{ QTC_CHECK(false); } { QTC_CHECK(false); }
void customStart() override void customStart() override
@@ -298,9 +297,6 @@ public:
QByteArray readAllStandardOutput() override { return m_process->readAllStandardOutput(); } QByteArray readAllStandardOutput() override { return m_process->readAllStandardOutput(); }
QByteArray readAllStandardError() override { return m_process->readAllStandardError(); } QByteArray readAllStandardError() override { return m_process->readAllStandardError(); }
void setEnvironment(const Environment &environment) override
{ m_process->setProcessEnvironment(environment.toProcessEnvironment()); }
void start(const QString &program, const QStringList &arguments) override void start(const QString &program, const QStringList &arguments) override
{ {
ProcessStartHandler *handler = m_process->processStartHandler(); ProcessStartHandler *handler = m_process->processStartHandler();
@@ -309,6 +305,7 @@ public:
if (m_setup.m_belowNormalPriority) if (m_setup.m_belowNormalPriority)
handler->setBelowNormalPriority(); handler->setBelowNormalPriority();
handler->setNativeArguments(m_setup.m_nativeArguments); handler->setNativeArguments(m_setup.m_nativeArguments);
m_process->setProcessEnvironment(m_setup.m_environment.toProcessEnvironment());
m_process->setWorkingDirectory(m_setup.m_workingDirectory.path()); m_process->setWorkingDirectory(m_setup.m_workingDirectory.path());
m_process->setStandardInputFile(m_setup.m_standardInputFile); m_process->setStandardInputFile(m_setup.m_standardInputFile);
m_process->setProcessChannelMode(m_setup.m_procesChannelMode); m_process->setProcessChannelMode(m_setup.m_procesChannelMode);
@@ -396,11 +393,9 @@ public:
QByteArray readAllStandardOutput() override { return m_handle->readAllStandardOutput(); } QByteArray readAllStandardOutput() override { return m_handle->readAllStandardOutput(); }
QByteArray readAllStandardError() override { return m_handle->readAllStandardError(); } QByteArray readAllStandardError() override { return m_handle->readAllStandardError(); }
void setEnvironment(const Environment &environment) override
{ m_handle->setEnvironment(environment); }
void start(const QString &program, const QStringList &arguments) override void start(const QString &program, const QStringList &arguments) override
{ {
m_handle->setEnvironment(m_setup.m_environment);
m_handle->setWorkingDirectory(m_setup.m_workingDirectory); m_handle->setWorkingDirectory(m_setup.m_workingDirectory);
m_handle->setStandardInputFile(m_setup.m_standardInputFile); m_handle->setStandardInputFile(m_setup.m_standardInputFile);
m_handle->setProcessChannelMode(m_setup.m_procesChannelMode); m_handle->setProcessChannelMode(m_setup.m_procesChannelMode);
@@ -537,31 +532,31 @@ public:
return filePath.searchInPath(); return filePath.searchInPath();
} }
void defaultStart(const CommandLine &commandLine, const Environment &environment) void defaultStart()
{ {
const CommandLine &commandLine = m_process->m_setup.m_commandLine;
if (processLog().isDebugEnabled()) { if (processLog().isDebugEnabled()) {
static int n = 0; static std::atomic_int n = 0;
qCDebug(processLog) << "STARTING PROCESS: " << ++n << " " << commandLine.toUserOutput(); qCDebug(processLog) << "STARTING PROCESS: " << ++n << " " << commandLine.toUserOutput();
} }
m_process->setEnvironment(environment);
QString commandString; QString commandString;
ProcessArgs arguments; ProcessArgs arguments;
const bool success = ProcessArgs::prepareCommand(commandLine, &commandString, &arguments, const bool success = ProcessArgs::prepareCommand(commandLine, &commandString, &arguments,
&environment, &m_setup.m_workingDirectory); &m_process->m_setup.m_environment,
&m_process->m_setup.m_workingDirectory);
if (commandLine.executable().osType() == OsTypeWindows) { if (commandLine.executable().osType() == OsTypeWindows) {
QString args; QString args;
if (m_setup.m_useCtrlCStub) { if (m_process->m_setup.m_useCtrlCStub) {
if (m_setup.m_lowPriority) if (m_process->m_setup.m_lowPriority)
ProcessArgs::addArg(&args, "-nice"); ProcessArgs::addArg(&args, "-nice");
ProcessArgs::addArg(&args, QDir::toNativeSeparators(commandString)); ProcessArgs::addArg(&args, QDir::toNativeSeparators(commandString));
commandString = QCoreApplication::applicationDirPath() commandString = QCoreApplication::applicationDirPath()
+ QLatin1String("/qtcreator_ctrlc_stub.exe"); + QLatin1String("/qtcreator_ctrlc_stub.exe");
} }
ProcessArgs::addArgs(&args, arguments.toWindowsArgs()); ProcessArgs::addArgs(&args, arguments.toWindowsArgs());
m_setup.m_nativeArguments = args; m_process->m_setup.m_nativeArguments = args;
// Note: Arguments set with setNativeArgs will be appended to the ones // Note: Arguments set with setNativeArgs will be appended to the ones
// passed with start() below. // passed with start() below.
start(commandString, QStringList()); start(commandString, QStringList());
@@ -787,12 +782,10 @@ void QtcProcess::start()
d->clearForRun(); d->clearForRun();
d->m_process->m_setup.m_commandLine = d->fullCommandLine(); d->m_process->m_setup.m_commandLine = d->fullCommandLine();
d->m_process->m_setup.m_environment = d->fullEnvironment(); d->m_process->m_setup.m_environment = d->fullEnvironment();
const CommandLine cmd = d->fullCommandLine();
const Environment env = d->fullEnvironment();
if (d->m_process->isCustomStart()) if (d->m_process->isCustomStart())
d->m_process->customStart(); d->m_process->customStart();
else else
d->defaultStart(cmd, env); d->defaultStart();
} }
#ifdef Q_OS_WIN #ifdef Q_OS_WIN

View File

@@ -282,7 +282,6 @@ public:
virtual QByteArray readAllStandardOutput() = 0; virtual QByteArray readAllStandardOutput() = 0;
virtual QByteArray readAllStandardError() = 0; virtual QByteArray readAllStandardError() = 0;
virtual void setEnvironment(const Environment &environment) = 0;
virtual void start(const QString &program, const QStringList &arguments) = 0; virtual void start(const QString &program, const QStringList &arguments) = 0;
virtual void customStart() { QTC_CHECK(false); } virtual void customStart() { QTC_CHECK(false); }
virtual bool isCustomStart() const { return false; } virtual bool isCustomStart() const { return false; }