public String getDockerCommand()

in src/main/java/com/google/devtools/build/remote/client/DockerUtil.java [104:134]


  public String getDockerCommand(Command command, String workingPath) {
    String container = dockerContainer(command);
    if (container == null) {
      throw new IllegalArgumentException("No docker image specified in given Command.");
    }
    List<String> commandElements = new ArrayList<>();
    commandElements.add("docker");
    commandElements.add("run");

    long uid = uidGetter.getUid();
    if (uid >= 0 && !System.getProperty("os.name").startsWith("Windows")) {
      commandElements.add("-u");
      commandElements.add(Long.toString(uid));
    }

    String dockerPathString = workingPath + "-docker";
    commandElements.add("-v");
    commandElements.add(workingPath + ":" + dockerPathString);
    commandElements.add("-w");
    commandElements.add(dockerPathString);

    for (EnvironmentVariable var : command.getEnvironmentVariablesList()) {
      commandElements.add("-e");
      commandElements.add(var.getName() + "=" + var.getValue());
    }

    commandElements.add(container);
    commandElements.addAll(command.getArgumentsList());

    return ShellEscaper.escapeJoinAll(commandElements);
  }