diff options
author | Marcus Tillmanns <[email protected]> | 2023-09-19 11:24:58 +0200 |
---|---|---|
committer | Marcus Tillmanns <[email protected]> | 2023-09-21 08:17:45 +0000 |
commit | ada5aacedbb71bad18962e22f637a59973ccc5d6 (patch) | |
tree | e5fbefe76bb089c59040413e8d17e8ea98652b26 /src/plugins/docker | |
parent | f4f75224b7fbafca1decb1befacb05d20467a0b5 (diff) |
Docker: Add extra arguments setting
Change-Id: I3cd30001defb99ce6f23b31935dc3a21ce60a256
Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/docker')
-rw-r--r-- | src/plugins/docker/dockerdevice.cpp | 8 | ||||
-rw-r--r-- | src/plugins/docker/dockerdevice.h | 1 | ||||
-rw-r--r-- | src/plugins/docker/dockerdevicewidget.cpp | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/src/plugins/docker/dockerdevice.cpp b/src/plugins/docker/dockerdevice.cpp index e2646dcaf30..af00987c7d5 100644 --- a/src/plugins/docker/dockerdevice.cpp +++ b/src/plugins/docker/dockerdevice.cpp @@ -98,6 +98,7 @@ const char DockerDeviceMappedPaths[] = "DockerDeviceMappedPaths"; const char DockerDeviceKeepEntryPoint[] = "DockerDeviceKeepEntryPoint"; const char DockerDeviceEnableLldbFlags[] = "DockerDeviceEnableLldbFlags"; const char DockerDeviceClangDExecutable[] = "DockerDeviceClangDExecutable"; +const char DockerDeviceExtraArgs[] = "DockerDeviceExtraCreateArguments"; class ContainerShell : public Utils::DeviceShell { @@ -187,6 +188,11 @@ DockerDeviceSettings::DockerDeviceSettings() mounts.setToolTip(Tr::tr("Maps paths in this list one-to-one to the docker container.")); mounts.setPlaceHolderText(Tr::tr("Host directories to mount into the container")); + extraArgs.setSettingsKey(DockerDeviceExtraArgs); + extraArgs.setLabelText(Tr::tr("Extra arguments:")); + extraArgs.setDefaultValue({}); + extraArgs.setToolTip(Tr::tr("Extra arguments to pass to docker create.")); + clangdExecutable.setSettingsKey(DockerDeviceClangDExecutable); clangdExecutable.setLabelText(Tr::tr("Clangd Executable:")); clangdExecutable.setAllowPathFromDevice(true); @@ -812,6 +818,8 @@ expected_str<QString> DockerDevicePrivate::createContainer() if (deviceSettings->enableLldbFlags()) dockerCreate.addArgs({"--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"}); + dockerCreate.addArgs(deviceSettings->extraArgs(), CommandLine::Raw); + dockerCreate.addArg(deviceSettings->repoAndTag()); qCDebug(dockerDeviceLog).noquote() << "RUNNING: " << dockerCreate.toUserOutput(); diff --git a/src/plugins/docker/dockerdevice.h b/src/plugins/docker/dockerdevice.h index 51fc05be28a..4996a5e95b2 100644 --- a/src/plugins/docker/dockerdevice.h +++ b/src/plugins/docker/dockerdevice.h @@ -33,6 +33,7 @@ public: Utils::BoolAspect enableLldbFlags{this}; Utils::FilePathAspect clangdExecutable{this}; Utils::StringSelectionAspect network{this}; + Utils::StringAspect extraArgs{this}; Utils::TextDisplay containerStatus{this}; }; diff --git a/src/plugins/docker/dockerdevicewidget.cpp b/src/plugins/docker/dockerdevicewidget.cpp index eb910b41956..e4b7ecdcb3f 100644 --- a/src/plugins/docker/dockerdevicewidget.cpp +++ b/src/plugins/docker/dockerdevicewidget.cpp @@ -168,6 +168,7 @@ DockerDeviceWidget::DockerDeviceWidget(const IDevice::Ptr &device) deviceSettings->enableLldbFlags, br, deviceSettings->clangdExecutable, br, deviceSettings->network, br, + deviceSettings->extraArgs, br, Column { pathListLabel, deviceSettings->mounts, |