func generateDebugDockerRunCommand()

in internal/core/container.go [452:495]


func generateDebugDockerRunCommand(cfg *backend.ContainerCreateConfig) string {
	var cmdBuilder strings.Builder
	cmdBuilder.WriteString("docker run ")
	if cfg.HostConfig != nil && cfg.HostConfig.AutoRemove {
		cmdBuilder.WriteString("--rm ")
	}
	if cfg.Config.AttachStdout {
		cmdBuilder.WriteString("-a stdout ")
	}
	if cfg.Config.AttachStderr {
		cmdBuilder.WriteString("-a stderr ")
	}
	if cfg.Config.Tty {
		cmdBuilder.WriteString("-it ")
	}
	if cfg.Config.User != "" {
		cmdBuilder.WriteString(fmt.Sprintf("-u %s ", cfg.Config.User))
	}
	for _, env := range cfg.Config.Env {
		if !strings.Contains(env, qdenv.QodanaToken) || strings.Contains(
			env,
			qdenv.QodanaLicense,
		) || strings.Contains(env, qdenv.QodanaLicenseOnlyToken) {
			cmdBuilder.WriteString(fmt.Sprintf("-e %s ", env))
		}
	}
	if cfg.HostConfig != nil {
		for _, m := range cfg.HostConfig.Mounts {
			cmdBuilder.WriteString(fmt.Sprintf("-v %s:%s ", m.Source, m.Target))
		}
		for _, capAdd := range cfg.HostConfig.CapAdd {
			cmdBuilder.WriteString(fmt.Sprintf("--cap-add %s ", capAdd))
		}
		for _, secOpt := range cfg.HostConfig.SecurityOpt {
			cmdBuilder.WriteString(fmt.Sprintf("--security-opt %s ", secOpt))
		}
	}
	cmdBuilder.WriteString(cfg.Config.Image + " ")
	for _, arg := range cfg.Config.Cmd {
		cmdBuilder.WriteString(fmt.Sprintf("%s ", arg))
	}

	return cmdBuilder.String()
}