forked from qt-creator/qt-creator
Docker: Add extra arguments setting
Change-Id: I3cd30001defb99ce6f23b31935dc3a21ce60a256 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -98,6 +98,7 @@ const char DockerDeviceMappedPaths[] = "DockerDeviceMappedPaths";
|
|||||||
const char DockerDeviceKeepEntryPoint[] = "DockerDeviceKeepEntryPoint";
|
const char DockerDeviceKeepEntryPoint[] = "DockerDeviceKeepEntryPoint";
|
||||||
const char DockerDeviceEnableLldbFlags[] = "DockerDeviceEnableLldbFlags";
|
const char DockerDeviceEnableLldbFlags[] = "DockerDeviceEnableLldbFlags";
|
||||||
const char DockerDeviceClangDExecutable[] = "DockerDeviceClangDExecutable";
|
const char DockerDeviceClangDExecutable[] = "DockerDeviceClangDExecutable";
|
||||||
|
const char DockerDeviceExtraArgs[] = "DockerDeviceExtraCreateArguments";
|
||||||
|
|
||||||
class ContainerShell : public Utils::DeviceShell
|
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.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"));
|
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.setSettingsKey(DockerDeviceClangDExecutable);
|
||||||
clangdExecutable.setLabelText(Tr::tr("Clangd Executable:"));
|
clangdExecutable.setLabelText(Tr::tr("Clangd Executable:"));
|
||||||
clangdExecutable.setAllowPathFromDevice(true);
|
clangdExecutable.setAllowPathFromDevice(true);
|
||||||
@@ -812,6 +818,8 @@ expected_str<QString> DockerDevicePrivate::createContainer()
|
|||||||
if (deviceSettings->enableLldbFlags())
|
if (deviceSettings->enableLldbFlags())
|
||||||
dockerCreate.addArgs({"--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"});
|
dockerCreate.addArgs({"--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"});
|
||||||
|
|
||||||
|
dockerCreate.addArgs(deviceSettings->extraArgs(), CommandLine::Raw);
|
||||||
|
|
||||||
dockerCreate.addArg(deviceSettings->repoAndTag());
|
dockerCreate.addArg(deviceSettings->repoAndTag());
|
||||||
|
|
||||||
qCDebug(dockerDeviceLog).noquote() << "RUNNING: " << dockerCreate.toUserOutput();
|
qCDebug(dockerDeviceLog).noquote() << "RUNNING: " << dockerCreate.toUserOutput();
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ public:
|
|||||||
Utils::BoolAspect enableLldbFlags{this};
|
Utils::BoolAspect enableLldbFlags{this};
|
||||||
Utils::FilePathAspect clangdExecutable{this};
|
Utils::FilePathAspect clangdExecutable{this};
|
||||||
Utils::StringSelectionAspect network{this};
|
Utils::StringSelectionAspect network{this};
|
||||||
|
Utils::StringAspect extraArgs{this};
|
||||||
|
|
||||||
Utils::TextDisplay containerStatus{this};
|
Utils::TextDisplay containerStatus{this};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -168,6 +168,7 @@ DockerDeviceWidget::DockerDeviceWidget(const IDevice::Ptr &device)
|
|||||||
deviceSettings->enableLldbFlags, br,
|
deviceSettings->enableLldbFlags, br,
|
||||||
deviceSettings->clangdExecutable, br,
|
deviceSettings->clangdExecutable, br,
|
||||||
deviceSettings->network, br,
|
deviceSettings->network, br,
|
||||||
|
deviceSettings->extraArgs, br,
|
||||||
Column {
|
Column {
|
||||||
pathListLabel,
|
pathListLabel,
|
||||||
deviceSettings->mounts,
|
deviceSettings->mounts,
|
||||||
|
|||||||
Reference in New Issue
Block a user