ProcessInterface: Remove setWorkingDirectory()

It's a part of passed ProcessSetupData.

Change-Id: I125d31cb1b316c1802d1d9d7fb5e1c5b3a3b8c18
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2022-02-15 14:58:13 +01:00
parent 5c1dc2fd5e
commit ccb42b3c74
2 changed files with 13 additions and 21 deletions

View File

@@ -234,15 +234,13 @@ public:
QByteArray readAllStandardError() override { QTC_CHECK(false); return {}; }
void setEnvironment(const Environment &) override { QTC_CHECK(false); }
void setWorkingDirectory(const FilePath &) override { QTC_CHECK(false); }
void start(const QString &, const QStringList &, const QByteArray &) override
{ QTC_CHECK(false); }
void customStart(const CommandLine &command, const FilePath &workingDirectory,
const Environment &environment) override
void customStart(const CommandLine &command, const Environment &environment) override
{
m_terminal.setAbortOnMetaChars(m_setup->m_abortOnMetaChars);
m_terminal.setCommand(command);
m_terminal.setWorkingDirectory(workingDirectory);
m_terminal.setWorkingDirectory(m_setup->m_workingDirectory);
m_terminal.setEnvironment(environment);
m_terminal.start();
}
@@ -302,8 +300,6 @@ public:
void setEnvironment(const Environment &environment) override
{ m_process->setProcessEnvironment(environment.toProcessEnvironment()); }
void setWorkingDirectory(const FilePath &dir) override
{ m_process->setWorkingDirectory(dir.path()); }
void start(const QString &program, const QStringList &arguments, const QByteArray &writeData) override
{
@@ -313,6 +309,7 @@ public:
if (m_setup->m_belowNormalPriority)
handler->setBelowNormalPriority();
handler->setNativeArguments(m_setup->m_nativeArguments);
m_process->setWorkingDirectory(m_setup->m_workingDirectory.path());
m_process->setStandardInputFile(m_setup->m_standardInputFile);
m_process->setProcessChannelMode(m_setup->m_procesChannelMode);
m_process->setErrorString(m_setup->m_initialErrorString);
@@ -402,10 +399,10 @@ public:
void setEnvironment(const Environment &environment) override
{ m_handle->setEnvironment(environment); }
void setWorkingDirectory(const FilePath &dir) override { m_handle->setWorkingDirectory(dir); }
void start(const QString &program, const QStringList &arguments, const QByteArray &writeData) override
{
m_handle->setWorkingDirectory(m_setup->m_workingDirectory);
m_handle->setStandardInputFile(m_setup->m_standardInputFile);
m_handle->setProcessChannelMode(m_setup->m_procesChannelMode);
m_handle->setErrorString(m_setup->m_initialErrorString);
@@ -541,8 +538,7 @@ public:
return filePath.searchInPath();
}
void defaultStart(const CommandLine &commandLine, const FilePath &workingDirectory,
const Environment &environment)
void defaultStart(const CommandLine &commandLine, const Environment &environment)
{
if (processLog().isDebugEnabled()) {
static int n = 0;
@@ -550,12 +546,11 @@ public:
}
m_process->setEnvironment(environment);
m_process->setWorkingDirectory(workingDirectory);
QString commandString;
ProcessArgs arguments;
const bool success = ProcessArgs::prepareCommand(commandLine, &commandString, &arguments,
&environment, &workingDirectory);
&environment, &m_setup.m_workingDirectory);
if (commandLine.executable().osType() == OsTypeWindows) {
QString args;
@@ -570,7 +565,7 @@ public:
m_setup.m_nativeArguments = args;
// Note: Arguments set with setNativeArgs will be appended to the ones
// passed with start() below.
start(commandString, QStringList(), workingDirectory, m_setup.m_writeData);
start(commandString, QStringList(), m_setup.m_writeData);
} else {
if (!success) {
q->setErrorString(tr("Error in command line."));
@@ -579,14 +574,13 @@ public:
emit q->errorOccurred(QProcess::UnknownError);
return;
}
start(commandString, arguments.toUnixArgs(), workingDirectory, m_setup.m_writeData);
start(commandString, arguments.toUnixArgs(), m_setup.m_writeData);
}
}
void start(const QString &program, const QStringList &arguments,
const FilePath &workingDirectory, const QByteArray &writeData)
void start(const QString &program, const QStringList &arguments, const QByteArray &writeData)
{
const FilePath programFilePath = resolve(workingDirectory, FilePath::fromString(program));
const FilePath programFilePath = resolve(m_setup.m_workingDirectory, FilePath::fromString(program));
if (programFilePath.exists() && programFilePath.isExecutableFile()) {
s_start.measureAndRun(&ProcessInterface::start, m_process, program, arguments, writeData);
} else {
@@ -795,9 +789,9 @@ void QtcProcess::start()
const CommandLine cmd = d->fullCommandLine();
const Environment env = d->fullEnvironment();
if (d->m_process->isCustomStart())
d->m_process->customStart(cmd, d->m_setup.m_workingDirectory, env);
d->m_process->customStart(cmd, env);
else
d->defaultStart(cmd, d->m_setup.m_workingDirectory, env);
d->defaultStart(cmd, env);
}
#ifdef Q_OS_WIN

View File

@@ -283,11 +283,9 @@ public:
virtual QByteArray readAllStandardError() = 0;
virtual void setEnvironment(const Environment &environment) = 0;
virtual void setWorkingDirectory(const FilePath &dir) = 0;
virtual void start(const QString &program, const QStringList &arguments,
const QByteArray &writeData) = 0;
virtual void customStart(const CommandLine &, const FilePath &,
const Environment &) { QTC_CHECK(false); }
virtual void customStart(const CommandLine &, const Environment &) { QTC_CHECK(false); }
virtual bool isCustomStart() const { return false; }
virtual void terminate() = 0;
virtual void kill() = 0;