forked from qt-creator/qt-creator
Utils: Drop OsType parameter from CommandLine functions
The type is implicitly given by the command's executble FilePath. Also, rename the rarely used addArgs(const CommandLine &) overload to addCommandLineAsArgs() and make it strip scheme and host from the wrapped executable as there are no uses expected where keeping them would be the right thing. Change-Id: Id0b76778e7e01ac16e477f36bf30bb28d96bb177 Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -1434,23 +1434,23 @@ CommandLine::CommandLine(const FilePath &exe, const QString &args, RawType)
|
|||||||
addArgs(args, Raw);
|
addArgs(args, Raw);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CommandLine::addArg(const QString &arg, OsType osType)
|
void CommandLine::addArg(const QString &arg)
|
||||||
{
|
{
|
||||||
ProcessArgs::addArg(&m_arguments, arg, osType);
|
ProcessArgs::addArg(&m_arguments, arg, m_executable.osType());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CommandLine::addArgs(const QStringList &inArgs, OsType osType)
|
void CommandLine::addArgs(const QStringList &inArgs)
|
||||||
{
|
{
|
||||||
for (const QString &arg : inArgs)
|
for (const QString &arg : inArgs)
|
||||||
addArg(arg, osType);
|
addArg(arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Adds cmd's executable and arguments one by one to this commandline.
|
// Adds cmd's executable and arguments one by one to this commandline.
|
||||||
// Useful for 'sudo', 'nice', etc
|
// Useful for 'sudo', 'nice', etc
|
||||||
void CommandLine::addArgs(const CommandLine &cmd, OsType osType)
|
void CommandLine::addCommandLineAsArgs(const CommandLine &cmd)
|
||||||
{
|
{
|
||||||
addArg(cmd.executable().toString());
|
addArg(cmd.executable().path());
|
||||||
addArgs(cmd.splitArguments(osType));
|
addArgs(cmd.splitArguments());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CommandLine::addArgs(const QString &inArgs, RawType)
|
void CommandLine::addArgs(const QString &inArgs, RawType)
|
||||||
@@ -1466,9 +1466,9 @@ QString CommandLine::toUserOutput() const
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList CommandLine::splitArguments(OsType osType) const
|
QStringList CommandLine::splitArguments() const
|
||||||
{
|
{
|
||||||
return ProcessArgs::splitArgs(m_arguments, osType);
|
return ProcessArgs::splitArgs(m_arguments, m_executable.osType());
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Utils
|
} // namespace Utils
|
||||||
|
@@ -138,9 +138,10 @@ public:
|
|||||||
CommandLine(const FilePath &exe, const QStringList &args);
|
CommandLine(const FilePath &exe, const QStringList &args);
|
||||||
CommandLine(const FilePath &exe, const QString &unparsedArgs, RawType);
|
CommandLine(const FilePath &exe, const QString &unparsedArgs, RawType);
|
||||||
|
|
||||||
void addArg(const QString &arg, OsType osType = HostOsInfo::hostOs());
|
void addArg(const QString &arg);
|
||||||
void addArgs(const QStringList &inArgs, OsType osType = HostOsInfo::hostOs());
|
void addArgs(const QStringList &inArgs);
|
||||||
void addArgs(const CommandLine &cmd, OsType osType = HostOsInfo::hostOs());
|
|
||||||
|
void addCommandLineAsArgs(const CommandLine &cmd);
|
||||||
|
|
||||||
void addArgs(const QString &inArgs, RawType);
|
void addArgs(const QString &inArgs, RawType);
|
||||||
|
|
||||||
@@ -152,7 +153,7 @@ public:
|
|||||||
QString arguments() const { return m_arguments; }
|
QString arguments() const { return m_arguments; }
|
||||||
void setArguments(const QString &args) { m_arguments = args; }
|
void setArguments(const QString &args) { m_arguments = args; }
|
||||||
|
|
||||||
QStringList splitArguments(OsType osType = HostOsInfo::hostOs()) const;
|
QStringList splitArguments() const;
|
||||||
|
|
||||||
bool isEmpty() const { return m_executable.isEmpty(); }
|
bool isEmpty() const { return m_executable.isEmpty(); }
|
||||||
|
|
||||||
|
@@ -3841,7 +3841,7 @@ void GdbEngine::setupEngine()
|
|||||||
Environment gdbEnv = rp.debugger.environment;
|
Environment gdbEnv = rp.debugger.environment;
|
||||||
if (rp.runAsRoot) {
|
if (rp.runAsRoot) {
|
||||||
CommandLine wrapped("sudo", {"-A"});
|
CommandLine wrapped("sudo", {"-A"});
|
||||||
wrapped.addArgs(gdbCommand);
|
wrapped.addCommandLineAsArgs(gdbCommand);
|
||||||
gdbCommand = wrapped;
|
gdbCommand = wrapped;
|
||||||
RunControl::provideAskPassEntry(gdbEnv);
|
RunControl::provideAskPassEntry(gdbEnv);
|
||||||
}
|
}
|
||||||
|
@@ -1430,7 +1430,6 @@ void DockerDevice::runProcess(QtcProcess &process) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
const FilePath workingDir = process.workingDirectory();
|
const FilePath workingDir = process.workingDirectory();
|
||||||
const CommandLine origCmd = process.commandLine();
|
|
||||||
const Environment env = process.environment();
|
const Environment env = process.environment();
|
||||||
|
|
||||||
CommandLine cmd{"docker", {"exec"}};
|
CommandLine cmd{"docker", {"exec"}};
|
||||||
@@ -1450,8 +1449,7 @@ void DockerDevice::runProcess(QtcProcess &process) const
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
cmd.addArg(d->m_container);
|
cmd.addArg(d->m_container);
|
||||||
cmd.addArg(origCmd.executable().path()); // Cut off the docker://.../ bits.
|
cmd.addCommandLineAsArgs(process.commandLine());
|
||||||
cmd.addArgs(origCmd.splitArguments(osType()));
|
|
||||||
|
|
||||||
LOG("Run" << cmd.toUserOutput() << " in " << workingDir.toUserOutput());
|
LOG("Run" << cmd.toUserOutput() << " in " << workingDir.toUserOutput());
|
||||||
|
|
||||||
@@ -1491,7 +1489,7 @@ bool DockerDevicePrivate::runInContainer(const CommandLine &cmd) const
|
|||||||
if (!DockerPlugin::isDaemonRunning().value_or(false))
|
if (!DockerPlugin::isDaemonRunning().value_or(false))
|
||||||
return false;
|
return false;
|
||||||
CommandLine dcmd{"docker", {"exec", m_container}};
|
CommandLine dcmd{"docker", {"exec", m_container}};
|
||||||
dcmd.addArgs(cmd);
|
dcmd.addCommandLineAsArgs(cmd);
|
||||||
|
|
||||||
QtcProcess proc;
|
QtcProcess proc;
|
||||||
proc.setCommand(dcmd);
|
proc.setCommand(dcmd);
|
||||||
|
@@ -393,7 +393,7 @@ void ApplicationLauncherPrivate::start(const Runnable &runnable, const IDevice::
|
|||||||
CommandLine cmdLine = runnable.command;
|
CommandLine cmdLine = runnable.command;
|
||||||
if (m_runAsRoot) {
|
if (m_runAsRoot) {
|
||||||
CommandLine wrapped("sudo", {"-A"});
|
CommandLine wrapped("sudo", {"-A"});
|
||||||
wrapped.addArgs(cmdLine);
|
wrapped.addCommandLineAsArgs(cmdLine);
|
||||||
cmdLine = wrapped;
|
cmdLine = wrapped;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -61,8 +61,7 @@ QnxQmlProfilerSupport::QnxQmlProfilerSupport(RunControl *runControl)
|
|||||||
profiler->recordData("QmlServerUrl", serverUrl);
|
profiler->recordData("QmlServerUrl", serverUrl);
|
||||||
|
|
||||||
Runnable r = runControl->runnable();
|
Runnable r = runControl->runnable();
|
||||||
r.command.addArg(QmlDebug::qmlDebugTcpArguments(QmlDebug::QmlProfilerServices, serverUrl),
|
r.command.addArg(QmlDebug::qmlDebugTcpArguments(QmlDebug::QmlProfilerServices, serverUrl));
|
||||||
Utils::OsTypeOtherUnix);
|
|
||||||
|
|
||||||
doStart(r, runControl->device());
|
doStart(r, runControl->device());
|
||||||
});
|
});
|
||||||
|
@@ -58,7 +58,7 @@ RemoteLinuxQmlToolingSupport::RemoteLinuxQmlToolingSupport(RunControl *runContro
|
|||||||
QmlDebug::QmlDebugServicesPreset services = QmlDebug::servicesForRunMode(runControl->runMode());
|
QmlDebug::QmlDebugServicesPreset services = QmlDebug::servicesForRunMode(runControl->runMode());
|
||||||
|
|
||||||
Runnable r = runControl->runnable();
|
Runnable r = runControl->runnable();
|
||||||
r.command.addArg(QmlDebug::qmlDebugTcpArguments(services, serverUrl), OsTypeLinux);
|
r.command.addArg(QmlDebug::qmlDebugTcpArguments(services, serverUrl));
|
||||||
|
|
||||||
doStart(r, runControl->device());
|
doStart(r, runControl->device());
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user