Docker: reset process working directory if it needs a device

Change-Id: Ided00a328279b7b82814dcbb79434063ed7ec5f6
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
David Schulz
2021-09-09 09:54:11 +02:00
parent 8edbba43aa
commit 0caa8cbd60

View File

@@ -1436,8 +1436,11 @@ void DockerDevice::runProcess(QtcProcess &process) const
const Environment env = process.environment(); const Environment env = process.environment();
CommandLine cmd{"docker", {"exec"}}; CommandLine cmd{"docker", {"exec"}};
if (!workingDir.isEmpty()) if (!workingDir.isEmpty()) {
cmd.addArgs({"-w", workingDir.path()}); cmd.addArgs({"-w", workingDir.path()});
if (QTC_GUARD(workingDir.needsDevice())) // warn on local working directory for docker cmd
process.setWorkingDirectory(FileUtils::homePath()); // reset working dir for docker exec
}
if (process.processMode() == ProcessMode::Writer) if (process.processMode() == ProcessMode::Writer)
cmd.addArg("-i"); cmd.addArg("-i");
if (env.size() != 0 && hasLocalFileAccess()) { if (env.size() != 0 && hasLocalFileAccess()) {