All Downloads are FREE. Search and download functionalities are using the official Maven repository.

build.bazel.remote.execution.v2.ActionResult Maven / Gradle / Ivy

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: build/bazel/remote/execution/v2/remote_execution.proto

package build.bazel.remote.execution.v2;

/**
 * 
 * An ActionResult represents the result of an
 * [Action][build.bazel.remote.execution.v2.Action] being run.
 *
 * It is advised that at least one field (for example
 * `ActionResult.execution_metadata.Worker`) have a non-default value, to
 * ensure that the serialized value is non-empty, which can then be used
 * as a basic data sanity check.
 * 
* * Protobuf type {@code build.bazel.remote.execution.v2.ActionResult} */ public final class ActionResult extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:build.bazel.remote.execution.v2.ActionResult) ActionResultOrBuilder { private static final long serialVersionUID = 0L; // Use ActionResult.newBuilder() to construct. private ActionResult(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private ActionResult() { outputFiles_ = java.util.Collections.emptyList(); outputFileSymlinks_ = java.util.Collections.emptyList(); outputSymlinks_ = java.util.Collections.emptyList(); outputDirectories_ = java.util.Collections.emptyList(); outputDirectorySymlinks_ = java.util.Collections.emptyList(); stdoutRaw_ = com.google.protobuf.ByteString.EMPTY; stderrRaw_ = com.google.protobuf.ByteString.EMPTY; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new ActionResult(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_ActionResult_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_ActionResult_fieldAccessorTable .ensureFieldAccessorsInitialized( build.bazel.remote.execution.v2.ActionResult.class, build.bazel.remote.execution.v2.ActionResult.Builder.class); } public static final int OUTPUT_FILES_FIELD_NUMBER = 2; @SuppressWarnings("serial") private java.util.List outputFiles_; /** *
   * The output files of the action. For each output file requested in the
   * `output_files` or `output_paths` field of the Action, if the corresponding
   * file existed after the action completed, a single entry will be present
   * either in this field, or the `output_file_symlinks` field if the file was
   * a symbolic link to another file (`output_symlinks` field after v2.1).
   *
   * If an output listed in `output_files` was found, but was a directory rather
   * than a regular file, the server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ @java.lang.Override public java.util.List getOutputFilesList() { return outputFiles_; } /** *
   * The output files of the action. For each output file requested in the
   * `output_files` or `output_paths` field of the Action, if the corresponding
   * file existed after the action completed, a single entry will be present
   * either in this field, or the `output_file_symlinks` field if the file was
   * a symbolic link to another file (`output_symlinks` field after v2.1).
   *
   * If an output listed in `output_files` was found, but was a directory rather
   * than a regular file, the server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ @java.lang.Override public java.util.List getOutputFilesOrBuilderList() { return outputFiles_; } /** *
   * The output files of the action. For each output file requested in the
   * `output_files` or `output_paths` field of the Action, if the corresponding
   * file existed after the action completed, a single entry will be present
   * either in this field, or the `output_file_symlinks` field if the file was
   * a symbolic link to another file (`output_symlinks` field after v2.1).
   *
   * If an output listed in `output_files` was found, but was a directory rather
   * than a regular file, the server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ @java.lang.Override public int getOutputFilesCount() { return outputFiles_.size(); } /** *
   * The output files of the action. For each output file requested in the
   * `output_files` or `output_paths` field of the Action, if the corresponding
   * file existed after the action completed, a single entry will be present
   * either in this field, or the `output_file_symlinks` field if the file was
   * a symbolic link to another file (`output_symlinks` field after v2.1).
   *
   * If an output listed in `output_files` was found, but was a directory rather
   * than a regular file, the server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ @java.lang.Override public build.bazel.remote.execution.v2.OutputFile getOutputFiles(int index) { return outputFiles_.get(index); } /** *
   * The output files of the action. For each output file requested in the
   * `output_files` or `output_paths` field of the Action, if the corresponding
   * file existed after the action completed, a single entry will be present
   * either in this field, or the `output_file_symlinks` field if the file was
   * a symbolic link to another file (`output_symlinks` field after v2.1).
   *
   * If an output listed in `output_files` was found, but was a directory rather
   * than a regular file, the server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ @java.lang.Override public build.bazel.remote.execution.v2.OutputFileOrBuilder getOutputFilesOrBuilder( int index) { return outputFiles_.get(index); } public static final int OUTPUT_FILE_SYMLINKS_FIELD_NUMBER = 10; @SuppressWarnings("serial") private java.util.List outputFileSymlinks_; /** *
   * The output files of the action that are symbolic links to other files. Those
   * may be links to other output files, or input files, or even absolute paths
   * outside of the working directory, if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * For each output file requested in the `output_files` or `output_paths`
   * field of the Action, if the corresponding file existed after
   * the action completed, a single entry will be present either in this field,
   * or in the `output_files` field, if the file was not a symbolic link.
   *
   * If an output symbolic link of the same name as listed in `output_files` of
   * the Command was found, but its target type was not a regular file, the
   * server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   *
   * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
   * should still populate this field in addition to `output_symlinks`.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ @java.lang.Override public java.util.List getOutputFileSymlinksList() { return outputFileSymlinks_; } /** *
   * The output files of the action that are symbolic links to other files. Those
   * may be links to other output files, or input files, or even absolute paths
   * outside of the working directory, if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * For each output file requested in the `output_files` or `output_paths`
   * field of the Action, if the corresponding file existed after
   * the action completed, a single entry will be present either in this field,
   * or in the `output_files` field, if the file was not a symbolic link.
   *
   * If an output symbolic link of the same name as listed in `output_files` of
   * the Command was found, but its target type was not a regular file, the
   * server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   *
   * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
   * should still populate this field in addition to `output_symlinks`.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ @java.lang.Override public java.util.List getOutputFileSymlinksOrBuilderList() { return outputFileSymlinks_; } /** *
   * The output files of the action that are symbolic links to other files. Those
   * may be links to other output files, or input files, or even absolute paths
   * outside of the working directory, if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * For each output file requested in the `output_files` or `output_paths`
   * field of the Action, if the corresponding file existed after
   * the action completed, a single entry will be present either in this field,
   * or in the `output_files` field, if the file was not a symbolic link.
   *
   * If an output symbolic link of the same name as listed in `output_files` of
   * the Command was found, but its target type was not a regular file, the
   * server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   *
   * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
   * should still populate this field in addition to `output_symlinks`.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ @java.lang.Override public int getOutputFileSymlinksCount() { return outputFileSymlinks_.size(); } /** *
   * The output files of the action that are symbolic links to other files. Those
   * may be links to other output files, or input files, or even absolute paths
   * outside of the working directory, if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * For each output file requested in the `output_files` or `output_paths`
   * field of the Action, if the corresponding file existed after
   * the action completed, a single entry will be present either in this field,
   * or in the `output_files` field, if the file was not a symbolic link.
   *
   * If an output symbolic link of the same name as listed in `output_files` of
   * the Command was found, but its target type was not a regular file, the
   * server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   *
   * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
   * should still populate this field in addition to `output_symlinks`.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ @java.lang.Override public build.bazel.remote.execution.v2.OutputSymlink getOutputFileSymlinks(int index) { return outputFileSymlinks_.get(index); } /** *
   * The output files of the action that are symbolic links to other files. Those
   * may be links to other output files, or input files, or even absolute paths
   * outside of the working directory, if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * For each output file requested in the `output_files` or `output_paths`
   * field of the Action, if the corresponding file existed after
   * the action completed, a single entry will be present either in this field,
   * or in the `output_files` field, if the file was not a symbolic link.
   *
   * If an output symbolic link of the same name as listed in `output_files` of
   * the Command was found, but its target type was not a regular file, the
   * server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   *
   * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
   * should still populate this field in addition to `output_symlinks`.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ @java.lang.Override public build.bazel.remote.execution.v2.OutputSymlinkOrBuilder getOutputFileSymlinksOrBuilder( int index) { return outputFileSymlinks_.get(index); } public static final int OUTPUT_SYMLINKS_FIELD_NUMBER = 12; @SuppressWarnings("serial") private java.util.List outputSymlinks_; /** *
   * New in v2.1: this field will only be populated if the command
   * `output_paths` field was used, and not the pre v2.1 `output_files` or
   * `output_directories` fields.
   * The output paths of the action that are symbolic links to other paths. Those
   * may be links to other outputs, or inputs, or even absolute paths
   * outside of the working directory, if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * A single entry for each output requested in `output_paths`
   * field of the Action, if the corresponding path existed after
   * the action completed and was a symbolic link.
   *
   * If the action does not produce a requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ @java.lang.Override public java.util.List getOutputSymlinksList() { return outputSymlinks_; } /** *
   * New in v2.1: this field will only be populated if the command
   * `output_paths` field was used, and not the pre v2.1 `output_files` or
   * `output_directories` fields.
   * The output paths of the action that are symbolic links to other paths. Those
   * may be links to other outputs, or inputs, or even absolute paths
   * outside of the working directory, if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * A single entry for each output requested in `output_paths`
   * field of the Action, if the corresponding path existed after
   * the action completed and was a symbolic link.
   *
   * If the action does not produce a requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ @java.lang.Override public java.util.List getOutputSymlinksOrBuilderList() { return outputSymlinks_; } /** *
   * New in v2.1: this field will only be populated if the command
   * `output_paths` field was used, and not the pre v2.1 `output_files` or
   * `output_directories` fields.
   * The output paths of the action that are symbolic links to other paths. Those
   * may be links to other outputs, or inputs, or even absolute paths
   * outside of the working directory, if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * A single entry for each output requested in `output_paths`
   * field of the Action, if the corresponding path existed after
   * the action completed and was a symbolic link.
   *
   * If the action does not produce a requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ @java.lang.Override public int getOutputSymlinksCount() { return outputSymlinks_.size(); } /** *
   * New in v2.1: this field will only be populated if the command
   * `output_paths` field was used, and not the pre v2.1 `output_files` or
   * `output_directories` fields.
   * The output paths of the action that are symbolic links to other paths. Those
   * may be links to other outputs, or inputs, or even absolute paths
   * outside of the working directory, if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * A single entry for each output requested in `output_paths`
   * field of the Action, if the corresponding path existed after
   * the action completed and was a symbolic link.
   *
   * If the action does not produce a requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ @java.lang.Override public build.bazel.remote.execution.v2.OutputSymlink getOutputSymlinks(int index) { return outputSymlinks_.get(index); } /** *
   * New in v2.1: this field will only be populated if the command
   * `output_paths` field was used, and not the pre v2.1 `output_files` or
   * `output_directories` fields.
   * The output paths of the action that are symbolic links to other paths. Those
   * may be links to other outputs, or inputs, or even absolute paths
   * outside of the working directory, if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * A single entry for each output requested in `output_paths`
   * field of the Action, if the corresponding path existed after
   * the action completed and was a symbolic link.
   *
   * If the action does not produce a requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ @java.lang.Override public build.bazel.remote.execution.v2.OutputSymlinkOrBuilder getOutputSymlinksOrBuilder( int index) { return outputSymlinks_.get(index); } public static final int OUTPUT_DIRECTORIES_FIELD_NUMBER = 3; @SuppressWarnings("serial") private java.util.List outputDirectories_; /** *
   * The output directories of the action. For each output directory requested
   * in the `output_directories` or `output_paths` field of the Action, if the
   * corresponding directory existed after the action completed, a single entry
   * will be present in the output list, which will contain the digest of a
   * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
   * directory tree, and the path equal exactly to the corresponding Action
   * output_directories member.
   *
   * As an example, suppose the Action had an output directory `a/b/dir` and the
   * execution produced the following contents in `a/b/dir`: a file named `bar`
   * and a directory named `foo` with an executable file named `baz`. Then,
   * output_directory will contain (hashes shortened for readability):
   *
   * ```json
   * // OutputDirectory proto:
   * {
   *   path: "a/b/dir"
   *   tree_digest: {
   *     hash: "4a73bc9d03...",
   *     size: 55
   *   }
   * }
   * // Tree proto with hash "4a73bc9d03..." and size 55:
   * {
   *   root: {
   *     files: [
   *       {
   *         name: "bar",
   *         digest: {
   *           hash: "4a73bc9d03...",
   *           size: 65534
   *         }
   *       }
   *     ],
   *     directories: [
   *       {
   *         name: "foo",
   *         digest: {
   *           hash: "4cf2eda940...",
   *           size: 43
   *         }
   *       }
   *     ]
   *   }
   *   children : {
   *     // (Directory proto with hash "4cf2eda940..." and size 43)
   *     files: [
   *       {
   *         name: "baz",
   *         digest: {
   *           hash: "b2c941073e...",
   *           size: 1294,
   *         },
   *         is_executable: true
   *       }
   *     ]
   *   }
   * }
   * ```
   * If an output of the same name as listed in `output_files` of
   * the Command was found in `output_directories`, but was not a directory, the
   * server will return a FAILED_PRECONDITION.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ @java.lang.Override public java.util.List getOutputDirectoriesList() { return outputDirectories_; } /** *
   * The output directories of the action. For each output directory requested
   * in the `output_directories` or `output_paths` field of the Action, if the
   * corresponding directory existed after the action completed, a single entry
   * will be present in the output list, which will contain the digest of a
   * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
   * directory tree, and the path equal exactly to the corresponding Action
   * output_directories member.
   *
   * As an example, suppose the Action had an output directory `a/b/dir` and the
   * execution produced the following contents in `a/b/dir`: a file named `bar`
   * and a directory named `foo` with an executable file named `baz`. Then,
   * output_directory will contain (hashes shortened for readability):
   *
   * ```json
   * // OutputDirectory proto:
   * {
   *   path: "a/b/dir"
   *   tree_digest: {
   *     hash: "4a73bc9d03...",
   *     size: 55
   *   }
   * }
   * // Tree proto with hash "4a73bc9d03..." and size 55:
   * {
   *   root: {
   *     files: [
   *       {
   *         name: "bar",
   *         digest: {
   *           hash: "4a73bc9d03...",
   *           size: 65534
   *         }
   *       }
   *     ],
   *     directories: [
   *       {
   *         name: "foo",
   *         digest: {
   *           hash: "4cf2eda940...",
   *           size: 43
   *         }
   *       }
   *     ]
   *   }
   *   children : {
   *     // (Directory proto with hash "4cf2eda940..." and size 43)
   *     files: [
   *       {
   *         name: "baz",
   *         digest: {
   *           hash: "b2c941073e...",
   *           size: 1294,
   *         },
   *         is_executable: true
   *       }
   *     ]
   *   }
   * }
   * ```
   * If an output of the same name as listed in `output_files` of
   * the Command was found in `output_directories`, but was not a directory, the
   * server will return a FAILED_PRECONDITION.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ @java.lang.Override public java.util.List getOutputDirectoriesOrBuilderList() { return outputDirectories_; } /** *
   * The output directories of the action. For each output directory requested
   * in the `output_directories` or `output_paths` field of the Action, if the
   * corresponding directory existed after the action completed, a single entry
   * will be present in the output list, which will contain the digest of a
   * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
   * directory tree, and the path equal exactly to the corresponding Action
   * output_directories member.
   *
   * As an example, suppose the Action had an output directory `a/b/dir` and the
   * execution produced the following contents in `a/b/dir`: a file named `bar`
   * and a directory named `foo` with an executable file named `baz`. Then,
   * output_directory will contain (hashes shortened for readability):
   *
   * ```json
   * // OutputDirectory proto:
   * {
   *   path: "a/b/dir"
   *   tree_digest: {
   *     hash: "4a73bc9d03...",
   *     size: 55
   *   }
   * }
   * // Tree proto with hash "4a73bc9d03..." and size 55:
   * {
   *   root: {
   *     files: [
   *       {
   *         name: "bar",
   *         digest: {
   *           hash: "4a73bc9d03...",
   *           size: 65534
   *         }
   *       }
   *     ],
   *     directories: [
   *       {
   *         name: "foo",
   *         digest: {
   *           hash: "4cf2eda940...",
   *           size: 43
   *         }
   *       }
   *     ]
   *   }
   *   children : {
   *     // (Directory proto with hash "4cf2eda940..." and size 43)
   *     files: [
   *       {
   *         name: "baz",
   *         digest: {
   *           hash: "b2c941073e...",
   *           size: 1294,
   *         },
   *         is_executable: true
   *       }
   *     ]
   *   }
   * }
   * ```
   * If an output of the same name as listed in `output_files` of
   * the Command was found in `output_directories`, but was not a directory, the
   * server will return a FAILED_PRECONDITION.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ @java.lang.Override public int getOutputDirectoriesCount() { return outputDirectories_.size(); } /** *
   * The output directories of the action. For each output directory requested
   * in the `output_directories` or `output_paths` field of the Action, if the
   * corresponding directory existed after the action completed, a single entry
   * will be present in the output list, which will contain the digest of a
   * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
   * directory tree, and the path equal exactly to the corresponding Action
   * output_directories member.
   *
   * As an example, suppose the Action had an output directory `a/b/dir` and the
   * execution produced the following contents in `a/b/dir`: a file named `bar`
   * and a directory named `foo` with an executable file named `baz`. Then,
   * output_directory will contain (hashes shortened for readability):
   *
   * ```json
   * // OutputDirectory proto:
   * {
   *   path: "a/b/dir"
   *   tree_digest: {
   *     hash: "4a73bc9d03...",
   *     size: 55
   *   }
   * }
   * // Tree proto with hash "4a73bc9d03..." and size 55:
   * {
   *   root: {
   *     files: [
   *       {
   *         name: "bar",
   *         digest: {
   *           hash: "4a73bc9d03...",
   *           size: 65534
   *         }
   *       }
   *     ],
   *     directories: [
   *       {
   *         name: "foo",
   *         digest: {
   *           hash: "4cf2eda940...",
   *           size: 43
   *         }
   *       }
   *     ]
   *   }
   *   children : {
   *     // (Directory proto with hash "4cf2eda940..." and size 43)
   *     files: [
   *       {
   *         name: "baz",
   *         digest: {
   *           hash: "b2c941073e...",
   *           size: 1294,
   *         },
   *         is_executable: true
   *       }
   *     ]
   *   }
   * }
   * ```
   * If an output of the same name as listed in `output_files` of
   * the Command was found in `output_directories`, but was not a directory, the
   * server will return a FAILED_PRECONDITION.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ @java.lang.Override public build.bazel.remote.execution.v2.OutputDirectory getOutputDirectories(int index) { return outputDirectories_.get(index); } /** *
   * The output directories of the action. For each output directory requested
   * in the `output_directories` or `output_paths` field of the Action, if the
   * corresponding directory existed after the action completed, a single entry
   * will be present in the output list, which will contain the digest of a
   * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
   * directory tree, and the path equal exactly to the corresponding Action
   * output_directories member.
   *
   * As an example, suppose the Action had an output directory `a/b/dir` and the
   * execution produced the following contents in `a/b/dir`: a file named `bar`
   * and a directory named `foo` with an executable file named `baz`. Then,
   * output_directory will contain (hashes shortened for readability):
   *
   * ```json
   * // OutputDirectory proto:
   * {
   *   path: "a/b/dir"
   *   tree_digest: {
   *     hash: "4a73bc9d03...",
   *     size: 55
   *   }
   * }
   * // Tree proto with hash "4a73bc9d03..." and size 55:
   * {
   *   root: {
   *     files: [
   *       {
   *         name: "bar",
   *         digest: {
   *           hash: "4a73bc9d03...",
   *           size: 65534
   *         }
   *       }
   *     ],
   *     directories: [
   *       {
   *         name: "foo",
   *         digest: {
   *           hash: "4cf2eda940...",
   *           size: 43
   *         }
   *       }
   *     ]
   *   }
   *   children : {
   *     // (Directory proto with hash "4cf2eda940..." and size 43)
   *     files: [
   *       {
   *         name: "baz",
   *         digest: {
   *           hash: "b2c941073e...",
   *           size: 1294,
   *         },
   *         is_executable: true
   *       }
   *     ]
   *   }
   * }
   * ```
   * If an output of the same name as listed in `output_files` of
   * the Command was found in `output_directories`, but was not a directory, the
   * server will return a FAILED_PRECONDITION.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ @java.lang.Override public build.bazel.remote.execution.v2.OutputDirectoryOrBuilder getOutputDirectoriesOrBuilder( int index) { return outputDirectories_.get(index); } public static final int OUTPUT_DIRECTORY_SYMLINKS_FIELD_NUMBER = 11; @SuppressWarnings("serial") private java.util.List outputDirectorySymlinks_; /** *
   * The output directories of the action that are symbolic links to other
   * directories. Those may be links to other output directories, or input
   * directories, or even absolute paths outside of the working directory,
   * if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * For each output directory requested in the `output_directories` field of
   * the Action, if the directory existed after the action completed, a
   * single entry will be present either in this field, or in the
   * `output_directories` field, if the directory was not a symbolic link.
   *
   * If an output of the same name was found, but was a symbolic link to a file
   * instead of a directory, the server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   *
   * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
   * should still populate this field in addition to `output_symlinks`.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ @java.lang.Override public java.util.List getOutputDirectorySymlinksList() { return outputDirectorySymlinks_; } /** *
   * The output directories of the action that are symbolic links to other
   * directories. Those may be links to other output directories, or input
   * directories, or even absolute paths outside of the working directory,
   * if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * For each output directory requested in the `output_directories` field of
   * the Action, if the directory existed after the action completed, a
   * single entry will be present either in this field, or in the
   * `output_directories` field, if the directory was not a symbolic link.
   *
   * If an output of the same name was found, but was a symbolic link to a file
   * instead of a directory, the server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   *
   * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
   * should still populate this field in addition to `output_symlinks`.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ @java.lang.Override public java.util.List getOutputDirectorySymlinksOrBuilderList() { return outputDirectorySymlinks_; } /** *
   * The output directories of the action that are symbolic links to other
   * directories. Those may be links to other output directories, or input
   * directories, or even absolute paths outside of the working directory,
   * if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * For each output directory requested in the `output_directories` field of
   * the Action, if the directory existed after the action completed, a
   * single entry will be present either in this field, or in the
   * `output_directories` field, if the directory was not a symbolic link.
   *
   * If an output of the same name was found, but was a symbolic link to a file
   * instead of a directory, the server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   *
   * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
   * should still populate this field in addition to `output_symlinks`.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ @java.lang.Override public int getOutputDirectorySymlinksCount() { return outputDirectorySymlinks_.size(); } /** *
   * The output directories of the action that are symbolic links to other
   * directories. Those may be links to other output directories, or input
   * directories, or even absolute paths outside of the working directory,
   * if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * For each output directory requested in the `output_directories` field of
   * the Action, if the directory existed after the action completed, a
   * single entry will be present either in this field, or in the
   * `output_directories` field, if the directory was not a symbolic link.
   *
   * If an output of the same name was found, but was a symbolic link to a file
   * instead of a directory, the server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   *
   * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
   * should still populate this field in addition to `output_symlinks`.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ @java.lang.Override public build.bazel.remote.execution.v2.OutputSymlink getOutputDirectorySymlinks(int index) { return outputDirectorySymlinks_.get(index); } /** *
   * The output directories of the action that are symbolic links to other
   * directories. Those may be links to other output directories, or input
   * directories, or even absolute paths outside of the working directory,
   * if the server supports
   * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
   * For each output directory requested in the `output_directories` field of
   * the Action, if the directory existed after the action completed, a
   * single entry will be present either in this field, or in the
   * `output_directories` field, if the directory was not a symbolic link.
   *
   * If an output of the same name was found, but was a symbolic link to a file
   * instead of a directory, the server will return a FAILED_PRECONDITION.
   * If the action does not produce the requested output, then that output
   * will be omitted from the list. The server is free to arrange the output
   * list as desired; clients MUST NOT assume that the output list is sorted.
   *
   * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
   * should still populate this field in addition to `output_symlinks`.
   * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ @java.lang.Override public build.bazel.remote.execution.v2.OutputSymlinkOrBuilder getOutputDirectorySymlinksOrBuilder( int index) { return outputDirectorySymlinks_.get(index); } public static final int EXIT_CODE_FIELD_NUMBER = 4; private int exitCode_ = 0; /** *
   * The exit code of the command.
   * 
* * int32 exit_code = 4; * @return The exitCode. */ @java.lang.Override public int getExitCode() { return exitCode_; } public static final int STDOUT_RAW_FIELD_NUMBER = 5; private com.google.protobuf.ByteString stdoutRaw_ = com.google.protobuf.ByteString.EMPTY; /** *
   * The standard output buffer of the action. The server SHOULD NOT inline
   * stdout unless requested by the client in the
   * [GetActionResultRequest][build.bazel.remote.execution.v2.GetActionResultRequest]
   * message. The server MAY omit inlining, even if requested, and MUST do so if inlining
   * would cause the response to exceed message size limits.
   * 
* * bytes stdout_raw = 5; * @return The stdoutRaw. */ @java.lang.Override public com.google.protobuf.ByteString getStdoutRaw() { return stdoutRaw_; } public static final int STDOUT_DIGEST_FIELD_NUMBER = 6; private build.bazel.remote.execution.v2.Digest stdoutDigest_; /** *
   * The digest for a blob containing the standard output of the action, which
   * can be retrieved from the
   * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
   * 
* * .build.bazel.remote.execution.v2.Digest stdout_digest = 6; * @return Whether the stdoutDigest field is set. */ @java.lang.Override public boolean hasStdoutDigest() { return stdoutDigest_ != null; } /** *
   * The digest for a blob containing the standard output of the action, which
   * can be retrieved from the
   * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
   * 
* * .build.bazel.remote.execution.v2.Digest stdout_digest = 6; * @return The stdoutDigest. */ @java.lang.Override public build.bazel.remote.execution.v2.Digest getStdoutDigest() { return stdoutDigest_ == null ? build.bazel.remote.execution.v2.Digest.getDefaultInstance() : stdoutDigest_; } /** *
   * The digest for a blob containing the standard output of the action, which
   * can be retrieved from the
   * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
   * 
* * .build.bazel.remote.execution.v2.Digest stdout_digest = 6; */ @java.lang.Override public build.bazel.remote.execution.v2.DigestOrBuilder getStdoutDigestOrBuilder() { return stdoutDigest_ == null ? build.bazel.remote.execution.v2.Digest.getDefaultInstance() : stdoutDigest_; } public static final int STDERR_RAW_FIELD_NUMBER = 7; private com.google.protobuf.ByteString stderrRaw_ = com.google.protobuf.ByteString.EMPTY; /** *
   * The standard error buffer of the action. The server SHOULD NOT inline
   * stderr unless requested by the client in the
   * [GetActionResultRequest][build.bazel.remote.execution.v2.GetActionResultRequest]
   * message. The server MAY omit inlining, even if requested, and MUST do so if inlining
   * would cause the response to exceed message size limits.
   * 
* * bytes stderr_raw = 7; * @return The stderrRaw. */ @java.lang.Override public com.google.protobuf.ByteString getStderrRaw() { return stderrRaw_; } public static final int STDERR_DIGEST_FIELD_NUMBER = 8; private build.bazel.remote.execution.v2.Digest stderrDigest_; /** *
   * The digest for a blob containing the standard error of the action, which
   * can be retrieved from the
   * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
   * 
* * .build.bazel.remote.execution.v2.Digest stderr_digest = 8; * @return Whether the stderrDigest field is set. */ @java.lang.Override public boolean hasStderrDigest() { return stderrDigest_ != null; } /** *
   * The digest for a blob containing the standard error of the action, which
   * can be retrieved from the
   * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
   * 
* * .build.bazel.remote.execution.v2.Digest stderr_digest = 8; * @return The stderrDigest. */ @java.lang.Override public build.bazel.remote.execution.v2.Digest getStderrDigest() { return stderrDigest_ == null ? build.bazel.remote.execution.v2.Digest.getDefaultInstance() : stderrDigest_; } /** *
   * The digest for a blob containing the standard error of the action, which
   * can be retrieved from the
   * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
   * 
* * .build.bazel.remote.execution.v2.Digest stderr_digest = 8; */ @java.lang.Override public build.bazel.remote.execution.v2.DigestOrBuilder getStderrDigestOrBuilder() { return stderrDigest_ == null ? build.bazel.remote.execution.v2.Digest.getDefaultInstance() : stderrDigest_; } public static final int EXECUTION_METADATA_FIELD_NUMBER = 9; private build.bazel.remote.execution.v2.ExecutedActionMetadata executionMetadata_; /** *
   * The details of the execution that originally produced this result.
   * 
* * .build.bazel.remote.execution.v2.ExecutedActionMetadata execution_metadata = 9; * @return Whether the executionMetadata field is set. */ @java.lang.Override public boolean hasExecutionMetadata() { return executionMetadata_ != null; } /** *
   * The details of the execution that originally produced this result.
   * 
* * .build.bazel.remote.execution.v2.ExecutedActionMetadata execution_metadata = 9; * @return The executionMetadata. */ @java.lang.Override public build.bazel.remote.execution.v2.ExecutedActionMetadata getExecutionMetadata() { return executionMetadata_ == null ? build.bazel.remote.execution.v2.ExecutedActionMetadata.getDefaultInstance() : executionMetadata_; } /** *
   * The details of the execution that originally produced this result.
   * 
* * .build.bazel.remote.execution.v2.ExecutedActionMetadata execution_metadata = 9; */ @java.lang.Override public build.bazel.remote.execution.v2.ExecutedActionMetadataOrBuilder getExecutionMetadataOrBuilder() { return executionMetadata_ == null ? build.bazel.remote.execution.v2.ExecutedActionMetadata.getDefaultInstance() : executionMetadata_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { for (int i = 0; i < outputFiles_.size(); i++) { output.writeMessage(2, outputFiles_.get(i)); } for (int i = 0; i < outputDirectories_.size(); i++) { output.writeMessage(3, outputDirectories_.get(i)); } if (exitCode_ != 0) { output.writeInt32(4, exitCode_); } if (!stdoutRaw_.isEmpty()) { output.writeBytes(5, stdoutRaw_); } if (stdoutDigest_ != null) { output.writeMessage(6, getStdoutDigest()); } if (!stderrRaw_.isEmpty()) { output.writeBytes(7, stderrRaw_); } if (stderrDigest_ != null) { output.writeMessage(8, getStderrDigest()); } if (executionMetadata_ != null) { output.writeMessage(9, getExecutionMetadata()); } for (int i = 0; i < outputFileSymlinks_.size(); i++) { output.writeMessage(10, outputFileSymlinks_.get(i)); } for (int i = 0; i < outputDirectorySymlinks_.size(); i++) { output.writeMessage(11, outputDirectorySymlinks_.get(i)); } for (int i = 0; i < outputSymlinks_.size(); i++) { output.writeMessage(12, outputSymlinks_.get(i)); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; for (int i = 0; i < outputFiles_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, outputFiles_.get(i)); } for (int i = 0; i < outputDirectories_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, outputDirectories_.get(i)); } if (exitCode_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(4, exitCode_); } if (!stdoutRaw_.isEmpty()) { size += com.google.protobuf.CodedOutputStream .computeBytesSize(5, stdoutRaw_); } if (stdoutDigest_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, getStdoutDigest()); } if (!stderrRaw_.isEmpty()) { size += com.google.protobuf.CodedOutputStream .computeBytesSize(7, stderrRaw_); } if (stderrDigest_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(8, getStderrDigest()); } if (executionMetadata_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(9, getExecutionMetadata()); } for (int i = 0; i < outputFileSymlinks_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(10, outputFileSymlinks_.get(i)); } for (int i = 0; i < outputDirectorySymlinks_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(11, outputDirectorySymlinks_.get(i)); } for (int i = 0; i < outputSymlinks_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(12, outputSymlinks_.get(i)); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof build.bazel.remote.execution.v2.ActionResult)) { return super.equals(obj); } build.bazel.remote.execution.v2.ActionResult other = (build.bazel.remote.execution.v2.ActionResult) obj; if (!getOutputFilesList() .equals(other.getOutputFilesList())) return false; if (!getOutputFileSymlinksList() .equals(other.getOutputFileSymlinksList())) return false; if (!getOutputSymlinksList() .equals(other.getOutputSymlinksList())) return false; if (!getOutputDirectoriesList() .equals(other.getOutputDirectoriesList())) return false; if (!getOutputDirectorySymlinksList() .equals(other.getOutputDirectorySymlinksList())) return false; if (getExitCode() != other.getExitCode()) return false; if (!getStdoutRaw() .equals(other.getStdoutRaw())) return false; if (hasStdoutDigest() != other.hasStdoutDigest()) return false; if (hasStdoutDigest()) { if (!getStdoutDigest() .equals(other.getStdoutDigest())) return false; } if (!getStderrRaw() .equals(other.getStderrRaw())) return false; if (hasStderrDigest() != other.hasStderrDigest()) return false; if (hasStderrDigest()) { if (!getStderrDigest() .equals(other.getStderrDigest())) return false; } if (hasExecutionMetadata() != other.hasExecutionMetadata()) return false; if (hasExecutionMetadata()) { if (!getExecutionMetadata() .equals(other.getExecutionMetadata())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (getOutputFilesCount() > 0) { hash = (37 * hash) + OUTPUT_FILES_FIELD_NUMBER; hash = (53 * hash) + getOutputFilesList().hashCode(); } if (getOutputFileSymlinksCount() > 0) { hash = (37 * hash) + OUTPUT_FILE_SYMLINKS_FIELD_NUMBER; hash = (53 * hash) + getOutputFileSymlinksList().hashCode(); } if (getOutputSymlinksCount() > 0) { hash = (37 * hash) + OUTPUT_SYMLINKS_FIELD_NUMBER; hash = (53 * hash) + getOutputSymlinksList().hashCode(); } if (getOutputDirectoriesCount() > 0) { hash = (37 * hash) + OUTPUT_DIRECTORIES_FIELD_NUMBER; hash = (53 * hash) + getOutputDirectoriesList().hashCode(); } if (getOutputDirectorySymlinksCount() > 0) { hash = (37 * hash) + OUTPUT_DIRECTORY_SYMLINKS_FIELD_NUMBER; hash = (53 * hash) + getOutputDirectorySymlinksList().hashCode(); } hash = (37 * hash) + EXIT_CODE_FIELD_NUMBER; hash = (53 * hash) + getExitCode(); hash = (37 * hash) + STDOUT_RAW_FIELD_NUMBER; hash = (53 * hash) + getStdoutRaw().hashCode(); if (hasStdoutDigest()) { hash = (37 * hash) + STDOUT_DIGEST_FIELD_NUMBER; hash = (53 * hash) + getStdoutDigest().hashCode(); } hash = (37 * hash) + STDERR_RAW_FIELD_NUMBER; hash = (53 * hash) + getStderrRaw().hashCode(); if (hasStderrDigest()) { hash = (37 * hash) + STDERR_DIGEST_FIELD_NUMBER; hash = (53 * hash) + getStderrDigest().hashCode(); } if (hasExecutionMetadata()) { hash = (37 * hash) + EXECUTION_METADATA_FIELD_NUMBER; hash = (53 * hash) + getExecutionMetadata().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static build.bazel.remote.execution.v2.ActionResult parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static build.bazel.remote.execution.v2.ActionResult parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static build.bazel.remote.execution.v2.ActionResult parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static build.bazel.remote.execution.v2.ActionResult parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static build.bazel.remote.execution.v2.ActionResult parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static build.bazel.remote.execution.v2.ActionResult parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static build.bazel.remote.execution.v2.ActionResult parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static build.bazel.remote.execution.v2.ActionResult parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static build.bazel.remote.execution.v2.ActionResult parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static build.bazel.remote.execution.v2.ActionResult parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static build.bazel.remote.execution.v2.ActionResult parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static build.bazel.remote.execution.v2.ActionResult parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(build.bazel.remote.execution.v2.ActionResult prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
   * An ActionResult represents the result of an
   * [Action][build.bazel.remote.execution.v2.Action] being run.
   *
   * It is advised that at least one field (for example
   * `ActionResult.execution_metadata.Worker`) have a non-default value, to
   * ensure that the serialized value is non-empty, which can then be used
   * as a basic data sanity check.
   * 
* * Protobuf type {@code build.bazel.remote.execution.v2.ActionResult} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:build.bazel.remote.execution.v2.ActionResult) build.bazel.remote.execution.v2.ActionResultOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_ActionResult_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_ActionResult_fieldAccessorTable .ensureFieldAccessorsInitialized( build.bazel.remote.execution.v2.ActionResult.class, build.bazel.remote.execution.v2.ActionResult.Builder.class); } // Construct using build.bazel.remote.execution.v2.ActionResult.newBuilder() private Builder() { } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; if (outputFilesBuilder_ == null) { outputFiles_ = java.util.Collections.emptyList(); } else { outputFiles_ = null; outputFilesBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000001); if (outputFileSymlinksBuilder_ == null) { outputFileSymlinks_ = java.util.Collections.emptyList(); } else { outputFileSymlinks_ = null; outputFileSymlinksBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000002); if (outputSymlinksBuilder_ == null) { outputSymlinks_ = java.util.Collections.emptyList(); } else { outputSymlinks_ = null; outputSymlinksBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000004); if (outputDirectoriesBuilder_ == null) { outputDirectories_ = java.util.Collections.emptyList(); } else { outputDirectories_ = null; outputDirectoriesBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000008); if (outputDirectorySymlinksBuilder_ == null) { outputDirectorySymlinks_ = java.util.Collections.emptyList(); } else { outputDirectorySymlinks_ = null; outputDirectorySymlinksBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000010); exitCode_ = 0; stdoutRaw_ = com.google.protobuf.ByteString.EMPTY; stdoutDigest_ = null; if (stdoutDigestBuilder_ != null) { stdoutDigestBuilder_.dispose(); stdoutDigestBuilder_ = null; } stderrRaw_ = com.google.protobuf.ByteString.EMPTY; stderrDigest_ = null; if (stderrDigestBuilder_ != null) { stderrDigestBuilder_.dispose(); stderrDigestBuilder_ = null; } executionMetadata_ = null; if (executionMetadataBuilder_ != null) { executionMetadataBuilder_.dispose(); executionMetadataBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return build.bazel.remote.execution.v2.RemoteExecutionProto.internal_static_build_bazel_remote_execution_v2_ActionResult_descriptor; } @java.lang.Override public build.bazel.remote.execution.v2.ActionResult getDefaultInstanceForType() { return build.bazel.remote.execution.v2.ActionResult.getDefaultInstance(); } @java.lang.Override public build.bazel.remote.execution.v2.ActionResult build() { build.bazel.remote.execution.v2.ActionResult result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public build.bazel.remote.execution.v2.ActionResult buildPartial() { build.bazel.remote.execution.v2.ActionResult result = new build.bazel.remote.execution.v2.ActionResult(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(build.bazel.remote.execution.v2.ActionResult result) { if (outputFilesBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { outputFiles_ = java.util.Collections.unmodifiableList(outputFiles_); bitField0_ = (bitField0_ & ~0x00000001); } result.outputFiles_ = outputFiles_; } else { result.outputFiles_ = outputFilesBuilder_.build(); } if (outputFileSymlinksBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { outputFileSymlinks_ = java.util.Collections.unmodifiableList(outputFileSymlinks_); bitField0_ = (bitField0_ & ~0x00000002); } result.outputFileSymlinks_ = outputFileSymlinks_; } else { result.outputFileSymlinks_ = outputFileSymlinksBuilder_.build(); } if (outputSymlinksBuilder_ == null) { if (((bitField0_ & 0x00000004) != 0)) { outputSymlinks_ = java.util.Collections.unmodifiableList(outputSymlinks_); bitField0_ = (bitField0_ & ~0x00000004); } result.outputSymlinks_ = outputSymlinks_; } else { result.outputSymlinks_ = outputSymlinksBuilder_.build(); } if (outputDirectoriesBuilder_ == null) { if (((bitField0_ & 0x00000008) != 0)) { outputDirectories_ = java.util.Collections.unmodifiableList(outputDirectories_); bitField0_ = (bitField0_ & ~0x00000008); } result.outputDirectories_ = outputDirectories_; } else { result.outputDirectories_ = outputDirectoriesBuilder_.build(); } if (outputDirectorySymlinksBuilder_ == null) { if (((bitField0_ & 0x00000010) != 0)) { outputDirectorySymlinks_ = java.util.Collections.unmodifiableList(outputDirectorySymlinks_); bitField0_ = (bitField0_ & ~0x00000010); } result.outputDirectorySymlinks_ = outputDirectorySymlinks_; } else { result.outputDirectorySymlinks_ = outputDirectorySymlinksBuilder_.build(); } } private void buildPartial0(build.bazel.remote.execution.v2.ActionResult result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000020) != 0)) { result.exitCode_ = exitCode_; } if (((from_bitField0_ & 0x00000040) != 0)) { result.stdoutRaw_ = stdoutRaw_; } if (((from_bitField0_ & 0x00000080) != 0)) { result.stdoutDigest_ = stdoutDigestBuilder_ == null ? stdoutDigest_ : stdoutDigestBuilder_.build(); } if (((from_bitField0_ & 0x00000100) != 0)) { result.stderrRaw_ = stderrRaw_; } if (((from_bitField0_ & 0x00000200) != 0)) { result.stderrDigest_ = stderrDigestBuilder_ == null ? stderrDigest_ : stderrDigestBuilder_.build(); } if (((from_bitField0_ & 0x00000400) != 0)) { result.executionMetadata_ = executionMetadataBuilder_ == null ? executionMetadata_ : executionMetadataBuilder_.build(); } } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof build.bazel.remote.execution.v2.ActionResult) { return mergeFrom((build.bazel.remote.execution.v2.ActionResult)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(build.bazel.remote.execution.v2.ActionResult other) { if (other == build.bazel.remote.execution.v2.ActionResult.getDefaultInstance()) return this; if (outputFilesBuilder_ == null) { if (!other.outputFiles_.isEmpty()) { if (outputFiles_.isEmpty()) { outputFiles_ = other.outputFiles_; bitField0_ = (bitField0_ & ~0x00000001); } else { ensureOutputFilesIsMutable(); outputFiles_.addAll(other.outputFiles_); } onChanged(); } } else { if (!other.outputFiles_.isEmpty()) { if (outputFilesBuilder_.isEmpty()) { outputFilesBuilder_.dispose(); outputFilesBuilder_ = null; outputFiles_ = other.outputFiles_; bitField0_ = (bitField0_ & ~0x00000001); outputFilesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getOutputFilesFieldBuilder() : null; } else { outputFilesBuilder_.addAllMessages(other.outputFiles_); } } } if (outputFileSymlinksBuilder_ == null) { if (!other.outputFileSymlinks_.isEmpty()) { if (outputFileSymlinks_.isEmpty()) { outputFileSymlinks_ = other.outputFileSymlinks_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureOutputFileSymlinksIsMutable(); outputFileSymlinks_.addAll(other.outputFileSymlinks_); } onChanged(); } } else { if (!other.outputFileSymlinks_.isEmpty()) { if (outputFileSymlinksBuilder_.isEmpty()) { outputFileSymlinksBuilder_.dispose(); outputFileSymlinksBuilder_ = null; outputFileSymlinks_ = other.outputFileSymlinks_; bitField0_ = (bitField0_ & ~0x00000002); outputFileSymlinksBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getOutputFileSymlinksFieldBuilder() : null; } else { outputFileSymlinksBuilder_.addAllMessages(other.outputFileSymlinks_); } } } if (outputSymlinksBuilder_ == null) { if (!other.outputSymlinks_.isEmpty()) { if (outputSymlinks_.isEmpty()) { outputSymlinks_ = other.outputSymlinks_; bitField0_ = (bitField0_ & ~0x00000004); } else { ensureOutputSymlinksIsMutable(); outputSymlinks_.addAll(other.outputSymlinks_); } onChanged(); } } else { if (!other.outputSymlinks_.isEmpty()) { if (outputSymlinksBuilder_.isEmpty()) { outputSymlinksBuilder_.dispose(); outputSymlinksBuilder_ = null; outputSymlinks_ = other.outputSymlinks_; bitField0_ = (bitField0_ & ~0x00000004); outputSymlinksBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getOutputSymlinksFieldBuilder() : null; } else { outputSymlinksBuilder_.addAllMessages(other.outputSymlinks_); } } } if (outputDirectoriesBuilder_ == null) { if (!other.outputDirectories_.isEmpty()) { if (outputDirectories_.isEmpty()) { outputDirectories_ = other.outputDirectories_; bitField0_ = (bitField0_ & ~0x00000008); } else { ensureOutputDirectoriesIsMutable(); outputDirectories_.addAll(other.outputDirectories_); } onChanged(); } } else { if (!other.outputDirectories_.isEmpty()) { if (outputDirectoriesBuilder_.isEmpty()) { outputDirectoriesBuilder_.dispose(); outputDirectoriesBuilder_ = null; outputDirectories_ = other.outputDirectories_; bitField0_ = (bitField0_ & ~0x00000008); outputDirectoriesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getOutputDirectoriesFieldBuilder() : null; } else { outputDirectoriesBuilder_.addAllMessages(other.outputDirectories_); } } } if (outputDirectorySymlinksBuilder_ == null) { if (!other.outputDirectorySymlinks_.isEmpty()) { if (outputDirectorySymlinks_.isEmpty()) { outputDirectorySymlinks_ = other.outputDirectorySymlinks_; bitField0_ = (bitField0_ & ~0x00000010); } else { ensureOutputDirectorySymlinksIsMutable(); outputDirectorySymlinks_.addAll(other.outputDirectorySymlinks_); } onChanged(); } } else { if (!other.outputDirectorySymlinks_.isEmpty()) { if (outputDirectorySymlinksBuilder_.isEmpty()) { outputDirectorySymlinksBuilder_.dispose(); outputDirectorySymlinksBuilder_ = null; outputDirectorySymlinks_ = other.outputDirectorySymlinks_; bitField0_ = (bitField0_ & ~0x00000010); outputDirectorySymlinksBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getOutputDirectorySymlinksFieldBuilder() : null; } else { outputDirectorySymlinksBuilder_.addAllMessages(other.outputDirectorySymlinks_); } } } if (other.getExitCode() != 0) { setExitCode(other.getExitCode()); } if (other.getStdoutRaw() != com.google.protobuf.ByteString.EMPTY) { setStdoutRaw(other.getStdoutRaw()); } if (other.hasStdoutDigest()) { mergeStdoutDigest(other.getStdoutDigest()); } if (other.getStderrRaw() != com.google.protobuf.ByteString.EMPTY) { setStderrRaw(other.getStderrRaw()); } if (other.hasStderrDigest()) { mergeStderrDigest(other.getStderrDigest()); } if (other.hasExecutionMetadata()) { mergeExecutionMetadata(other.getExecutionMetadata()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 18: { build.bazel.remote.execution.v2.OutputFile m = input.readMessage( build.bazel.remote.execution.v2.OutputFile.parser(), extensionRegistry); if (outputFilesBuilder_ == null) { ensureOutputFilesIsMutable(); outputFiles_.add(m); } else { outputFilesBuilder_.addMessage(m); } break; } // case 18 case 26: { build.bazel.remote.execution.v2.OutputDirectory m = input.readMessage( build.bazel.remote.execution.v2.OutputDirectory.parser(), extensionRegistry); if (outputDirectoriesBuilder_ == null) { ensureOutputDirectoriesIsMutable(); outputDirectories_.add(m); } else { outputDirectoriesBuilder_.addMessage(m); } break; } // case 26 case 32: { exitCode_ = input.readInt32(); bitField0_ |= 0x00000020; break; } // case 32 case 42: { stdoutRaw_ = input.readBytes(); bitField0_ |= 0x00000040; break; } // case 42 case 50: { input.readMessage( getStdoutDigestFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000080; break; } // case 50 case 58: { stderrRaw_ = input.readBytes(); bitField0_ |= 0x00000100; break; } // case 58 case 66: { input.readMessage( getStderrDigestFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000200; break; } // case 66 case 74: { input.readMessage( getExecutionMetadataFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000400; break; } // case 74 case 82: { build.bazel.remote.execution.v2.OutputSymlink m = input.readMessage( build.bazel.remote.execution.v2.OutputSymlink.parser(), extensionRegistry); if (outputFileSymlinksBuilder_ == null) { ensureOutputFileSymlinksIsMutable(); outputFileSymlinks_.add(m); } else { outputFileSymlinksBuilder_.addMessage(m); } break; } // case 82 case 90: { build.bazel.remote.execution.v2.OutputSymlink m = input.readMessage( build.bazel.remote.execution.v2.OutputSymlink.parser(), extensionRegistry); if (outputDirectorySymlinksBuilder_ == null) { ensureOutputDirectorySymlinksIsMutable(); outputDirectorySymlinks_.add(m); } else { outputDirectorySymlinksBuilder_.addMessage(m); } break; } // case 90 case 98: { build.bazel.remote.execution.v2.OutputSymlink m = input.readMessage( build.bazel.remote.execution.v2.OutputSymlink.parser(), extensionRegistry); if (outputSymlinksBuilder_ == null) { ensureOutputSymlinksIsMutable(); outputSymlinks_.add(m); } else { outputSymlinksBuilder_.addMessage(m); } break; } // case 98 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private java.util.List outputFiles_ = java.util.Collections.emptyList(); private void ensureOutputFilesIsMutable() { if (!((bitField0_ & 0x00000001) != 0)) { outputFiles_ = new java.util.ArrayList(outputFiles_); bitField0_ |= 0x00000001; } } private com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputFile, build.bazel.remote.execution.v2.OutputFile.Builder, build.bazel.remote.execution.v2.OutputFileOrBuilder> outputFilesBuilder_; /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public java.util.List getOutputFilesList() { if (outputFilesBuilder_ == null) { return java.util.Collections.unmodifiableList(outputFiles_); } else { return outputFilesBuilder_.getMessageList(); } } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public int getOutputFilesCount() { if (outputFilesBuilder_ == null) { return outputFiles_.size(); } else { return outputFilesBuilder_.getCount(); } } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public build.bazel.remote.execution.v2.OutputFile getOutputFiles(int index) { if (outputFilesBuilder_ == null) { return outputFiles_.get(index); } else { return outputFilesBuilder_.getMessage(index); } } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public Builder setOutputFiles( int index, build.bazel.remote.execution.v2.OutputFile value) { if (outputFilesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputFilesIsMutable(); outputFiles_.set(index, value); onChanged(); } else { outputFilesBuilder_.setMessage(index, value); } return this; } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public Builder setOutputFiles( int index, build.bazel.remote.execution.v2.OutputFile.Builder builderForValue) { if (outputFilesBuilder_ == null) { ensureOutputFilesIsMutable(); outputFiles_.set(index, builderForValue.build()); onChanged(); } else { outputFilesBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public Builder addOutputFiles(build.bazel.remote.execution.v2.OutputFile value) { if (outputFilesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputFilesIsMutable(); outputFiles_.add(value); onChanged(); } else { outputFilesBuilder_.addMessage(value); } return this; } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public Builder addOutputFiles( int index, build.bazel.remote.execution.v2.OutputFile value) { if (outputFilesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputFilesIsMutable(); outputFiles_.add(index, value); onChanged(); } else { outputFilesBuilder_.addMessage(index, value); } return this; } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public Builder addOutputFiles( build.bazel.remote.execution.v2.OutputFile.Builder builderForValue) { if (outputFilesBuilder_ == null) { ensureOutputFilesIsMutable(); outputFiles_.add(builderForValue.build()); onChanged(); } else { outputFilesBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public Builder addOutputFiles( int index, build.bazel.remote.execution.v2.OutputFile.Builder builderForValue) { if (outputFilesBuilder_ == null) { ensureOutputFilesIsMutable(); outputFiles_.add(index, builderForValue.build()); onChanged(); } else { outputFilesBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public Builder addAllOutputFiles( java.lang.Iterable values) { if (outputFilesBuilder_ == null) { ensureOutputFilesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, outputFiles_); onChanged(); } else { outputFilesBuilder_.addAllMessages(values); } return this; } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public Builder clearOutputFiles() { if (outputFilesBuilder_ == null) { outputFiles_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { outputFilesBuilder_.clear(); } return this; } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public Builder removeOutputFiles(int index) { if (outputFilesBuilder_ == null) { ensureOutputFilesIsMutable(); outputFiles_.remove(index); onChanged(); } else { outputFilesBuilder_.remove(index); } return this; } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public build.bazel.remote.execution.v2.OutputFile.Builder getOutputFilesBuilder( int index) { return getOutputFilesFieldBuilder().getBuilder(index); } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public build.bazel.remote.execution.v2.OutputFileOrBuilder getOutputFilesOrBuilder( int index) { if (outputFilesBuilder_ == null) { return outputFiles_.get(index); } else { return outputFilesBuilder_.getMessageOrBuilder(index); } } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public java.util.List getOutputFilesOrBuilderList() { if (outputFilesBuilder_ != null) { return outputFilesBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(outputFiles_); } } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public build.bazel.remote.execution.v2.OutputFile.Builder addOutputFilesBuilder() { return getOutputFilesFieldBuilder().addBuilder( build.bazel.remote.execution.v2.OutputFile.getDefaultInstance()); } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public build.bazel.remote.execution.v2.OutputFile.Builder addOutputFilesBuilder( int index) { return getOutputFilesFieldBuilder().addBuilder( index, build.bazel.remote.execution.v2.OutputFile.getDefaultInstance()); } /** *
     * The output files of the action. For each output file requested in the
     * `output_files` or `output_paths` field of the Action, if the corresponding
     * file existed after the action completed, a single entry will be present
     * either in this field, or the `output_file_symlinks` field if the file was
     * a symbolic link to another file (`output_symlinks` field after v2.1).
     *
     * If an output listed in `output_files` was found, but was a directory rather
     * than a regular file, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputFile output_files = 2; */ public java.util.List getOutputFilesBuilderList() { return getOutputFilesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputFile, build.bazel.remote.execution.v2.OutputFile.Builder, build.bazel.remote.execution.v2.OutputFileOrBuilder> getOutputFilesFieldBuilder() { if (outputFilesBuilder_ == null) { outputFilesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputFile, build.bazel.remote.execution.v2.OutputFile.Builder, build.bazel.remote.execution.v2.OutputFileOrBuilder>( outputFiles_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); outputFiles_ = null; } return outputFilesBuilder_; } private java.util.List outputFileSymlinks_ = java.util.Collections.emptyList(); private void ensureOutputFileSymlinksIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { outputFileSymlinks_ = new java.util.ArrayList(outputFileSymlinks_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputSymlink, build.bazel.remote.execution.v2.OutputSymlink.Builder, build.bazel.remote.execution.v2.OutputSymlinkOrBuilder> outputFileSymlinksBuilder_; /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public java.util.List getOutputFileSymlinksList() { if (outputFileSymlinksBuilder_ == null) { return java.util.Collections.unmodifiableList(outputFileSymlinks_); } else { return outputFileSymlinksBuilder_.getMessageList(); } } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public int getOutputFileSymlinksCount() { if (outputFileSymlinksBuilder_ == null) { return outputFileSymlinks_.size(); } else { return outputFileSymlinksBuilder_.getCount(); } } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public build.bazel.remote.execution.v2.OutputSymlink getOutputFileSymlinks(int index) { if (outputFileSymlinksBuilder_ == null) { return outputFileSymlinks_.get(index); } else { return outputFileSymlinksBuilder_.getMessage(index); } } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public Builder setOutputFileSymlinks( int index, build.bazel.remote.execution.v2.OutputSymlink value) { if (outputFileSymlinksBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputFileSymlinksIsMutable(); outputFileSymlinks_.set(index, value); onChanged(); } else { outputFileSymlinksBuilder_.setMessage(index, value); } return this; } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public Builder setOutputFileSymlinks( int index, build.bazel.remote.execution.v2.OutputSymlink.Builder builderForValue) { if (outputFileSymlinksBuilder_ == null) { ensureOutputFileSymlinksIsMutable(); outputFileSymlinks_.set(index, builderForValue.build()); onChanged(); } else { outputFileSymlinksBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public Builder addOutputFileSymlinks(build.bazel.remote.execution.v2.OutputSymlink value) { if (outputFileSymlinksBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputFileSymlinksIsMutable(); outputFileSymlinks_.add(value); onChanged(); } else { outputFileSymlinksBuilder_.addMessage(value); } return this; } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public Builder addOutputFileSymlinks( int index, build.bazel.remote.execution.v2.OutputSymlink value) { if (outputFileSymlinksBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputFileSymlinksIsMutable(); outputFileSymlinks_.add(index, value); onChanged(); } else { outputFileSymlinksBuilder_.addMessage(index, value); } return this; } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public Builder addOutputFileSymlinks( build.bazel.remote.execution.v2.OutputSymlink.Builder builderForValue) { if (outputFileSymlinksBuilder_ == null) { ensureOutputFileSymlinksIsMutable(); outputFileSymlinks_.add(builderForValue.build()); onChanged(); } else { outputFileSymlinksBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public Builder addOutputFileSymlinks( int index, build.bazel.remote.execution.v2.OutputSymlink.Builder builderForValue) { if (outputFileSymlinksBuilder_ == null) { ensureOutputFileSymlinksIsMutable(); outputFileSymlinks_.add(index, builderForValue.build()); onChanged(); } else { outputFileSymlinksBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public Builder addAllOutputFileSymlinks( java.lang.Iterable values) { if (outputFileSymlinksBuilder_ == null) { ensureOutputFileSymlinksIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, outputFileSymlinks_); onChanged(); } else { outputFileSymlinksBuilder_.addAllMessages(values); } return this; } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public Builder clearOutputFileSymlinks() { if (outputFileSymlinksBuilder_ == null) { outputFileSymlinks_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { outputFileSymlinksBuilder_.clear(); } return this; } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public Builder removeOutputFileSymlinks(int index) { if (outputFileSymlinksBuilder_ == null) { ensureOutputFileSymlinksIsMutable(); outputFileSymlinks_.remove(index); onChanged(); } else { outputFileSymlinksBuilder_.remove(index); } return this; } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public build.bazel.remote.execution.v2.OutputSymlink.Builder getOutputFileSymlinksBuilder( int index) { return getOutputFileSymlinksFieldBuilder().getBuilder(index); } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public build.bazel.remote.execution.v2.OutputSymlinkOrBuilder getOutputFileSymlinksOrBuilder( int index) { if (outputFileSymlinksBuilder_ == null) { return outputFileSymlinks_.get(index); } else { return outputFileSymlinksBuilder_.getMessageOrBuilder(index); } } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public java.util.List getOutputFileSymlinksOrBuilderList() { if (outputFileSymlinksBuilder_ != null) { return outputFileSymlinksBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(outputFileSymlinks_); } } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public build.bazel.remote.execution.v2.OutputSymlink.Builder addOutputFileSymlinksBuilder() { return getOutputFileSymlinksFieldBuilder().addBuilder( build.bazel.remote.execution.v2.OutputSymlink.getDefaultInstance()); } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public build.bazel.remote.execution.v2.OutputSymlink.Builder addOutputFileSymlinksBuilder( int index) { return getOutputFileSymlinksFieldBuilder().addBuilder( index, build.bazel.remote.execution.v2.OutputSymlink.getDefaultInstance()); } /** *
     * The output files of the action that are symbolic links to other files. Those
     * may be links to other output files, or input files, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output file requested in the `output_files` or `output_paths`
     * field of the Action, if the corresponding file existed after
     * the action completed, a single entry will be present either in this field,
     * or in the `output_files` field, if the file was not a symbolic link.
     *
     * If an output symbolic link of the same name as listed in `output_files` of
     * the Command was found, but its target type was not a regular file, the
     * server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_file_symlinks = 10; */ public java.util.List getOutputFileSymlinksBuilderList() { return getOutputFileSymlinksFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputSymlink, build.bazel.remote.execution.v2.OutputSymlink.Builder, build.bazel.remote.execution.v2.OutputSymlinkOrBuilder> getOutputFileSymlinksFieldBuilder() { if (outputFileSymlinksBuilder_ == null) { outputFileSymlinksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputSymlink, build.bazel.remote.execution.v2.OutputSymlink.Builder, build.bazel.remote.execution.v2.OutputSymlinkOrBuilder>( outputFileSymlinks_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); outputFileSymlinks_ = null; } return outputFileSymlinksBuilder_; } private java.util.List outputSymlinks_ = java.util.Collections.emptyList(); private void ensureOutputSymlinksIsMutable() { if (!((bitField0_ & 0x00000004) != 0)) { outputSymlinks_ = new java.util.ArrayList(outputSymlinks_); bitField0_ |= 0x00000004; } } private com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputSymlink, build.bazel.remote.execution.v2.OutputSymlink.Builder, build.bazel.remote.execution.v2.OutputSymlinkOrBuilder> outputSymlinksBuilder_; /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public java.util.List getOutputSymlinksList() { if (outputSymlinksBuilder_ == null) { return java.util.Collections.unmodifiableList(outputSymlinks_); } else { return outputSymlinksBuilder_.getMessageList(); } } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public int getOutputSymlinksCount() { if (outputSymlinksBuilder_ == null) { return outputSymlinks_.size(); } else { return outputSymlinksBuilder_.getCount(); } } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public build.bazel.remote.execution.v2.OutputSymlink getOutputSymlinks(int index) { if (outputSymlinksBuilder_ == null) { return outputSymlinks_.get(index); } else { return outputSymlinksBuilder_.getMessage(index); } } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public Builder setOutputSymlinks( int index, build.bazel.remote.execution.v2.OutputSymlink value) { if (outputSymlinksBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputSymlinksIsMutable(); outputSymlinks_.set(index, value); onChanged(); } else { outputSymlinksBuilder_.setMessage(index, value); } return this; } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public Builder setOutputSymlinks( int index, build.bazel.remote.execution.v2.OutputSymlink.Builder builderForValue) { if (outputSymlinksBuilder_ == null) { ensureOutputSymlinksIsMutable(); outputSymlinks_.set(index, builderForValue.build()); onChanged(); } else { outputSymlinksBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public Builder addOutputSymlinks(build.bazel.remote.execution.v2.OutputSymlink value) { if (outputSymlinksBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputSymlinksIsMutable(); outputSymlinks_.add(value); onChanged(); } else { outputSymlinksBuilder_.addMessage(value); } return this; } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public Builder addOutputSymlinks( int index, build.bazel.remote.execution.v2.OutputSymlink value) { if (outputSymlinksBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputSymlinksIsMutable(); outputSymlinks_.add(index, value); onChanged(); } else { outputSymlinksBuilder_.addMessage(index, value); } return this; } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public Builder addOutputSymlinks( build.bazel.remote.execution.v2.OutputSymlink.Builder builderForValue) { if (outputSymlinksBuilder_ == null) { ensureOutputSymlinksIsMutable(); outputSymlinks_.add(builderForValue.build()); onChanged(); } else { outputSymlinksBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public Builder addOutputSymlinks( int index, build.bazel.remote.execution.v2.OutputSymlink.Builder builderForValue) { if (outputSymlinksBuilder_ == null) { ensureOutputSymlinksIsMutable(); outputSymlinks_.add(index, builderForValue.build()); onChanged(); } else { outputSymlinksBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public Builder addAllOutputSymlinks( java.lang.Iterable values) { if (outputSymlinksBuilder_ == null) { ensureOutputSymlinksIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, outputSymlinks_); onChanged(); } else { outputSymlinksBuilder_.addAllMessages(values); } return this; } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public Builder clearOutputSymlinks() { if (outputSymlinksBuilder_ == null) { outputSymlinks_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000004); onChanged(); } else { outputSymlinksBuilder_.clear(); } return this; } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public Builder removeOutputSymlinks(int index) { if (outputSymlinksBuilder_ == null) { ensureOutputSymlinksIsMutable(); outputSymlinks_.remove(index); onChanged(); } else { outputSymlinksBuilder_.remove(index); } return this; } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public build.bazel.remote.execution.v2.OutputSymlink.Builder getOutputSymlinksBuilder( int index) { return getOutputSymlinksFieldBuilder().getBuilder(index); } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public build.bazel.remote.execution.v2.OutputSymlinkOrBuilder getOutputSymlinksOrBuilder( int index) { if (outputSymlinksBuilder_ == null) { return outputSymlinks_.get(index); } else { return outputSymlinksBuilder_.getMessageOrBuilder(index); } } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public java.util.List getOutputSymlinksOrBuilderList() { if (outputSymlinksBuilder_ != null) { return outputSymlinksBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(outputSymlinks_); } } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public build.bazel.remote.execution.v2.OutputSymlink.Builder addOutputSymlinksBuilder() { return getOutputSymlinksFieldBuilder().addBuilder( build.bazel.remote.execution.v2.OutputSymlink.getDefaultInstance()); } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public build.bazel.remote.execution.v2.OutputSymlink.Builder addOutputSymlinksBuilder( int index) { return getOutputSymlinksFieldBuilder().addBuilder( index, build.bazel.remote.execution.v2.OutputSymlink.getDefaultInstance()); } /** *
     * New in v2.1: this field will only be populated if the command
     * `output_paths` field was used, and not the pre v2.1 `output_files` or
     * `output_directories` fields.
     * The output paths of the action that are symbolic links to other paths. Those
     * may be links to other outputs, or inputs, or even absolute paths
     * outside of the working directory, if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * A single entry for each output requested in `output_paths`
     * field of the Action, if the corresponding path existed after
     * the action completed and was a symbolic link.
     *
     * If the action does not produce a requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_symlinks = 12; */ public java.util.List getOutputSymlinksBuilderList() { return getOutputSymlinksFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputSymlink, build.bazel.remote.execution.v2.OutputSymlink.Builder, build.bazel.remote.execution.v2.OutputSymlinkOrBuilder> getOutputSymlinksFieldBuilder() { if (outputSymlinksBuilder_ == null) { outputSymlinksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputSymlink, build.bazel.remote.execution.v2.OutputSymlink.Builder, build.bazel.remote.execution.v2.OutputSymlinkOrBuilder>( outputSymlinks_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); outputSymlinks_ = null; } return outputSymlinksBuilder_; } private java.util.List outputDirectories_ = java.util.Collections.emptyList(); private void ensureOutputDirectoriesIsMutable() { if (!((bitField0_ & 0x00000008) != 0)) { outputDirectories_ = new java.util.ArrayList(outputDirectories_); bitField0_ |= 0x00000008; } } private com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputDirectory, build.bazel.remote.execution.v2.OutputDirectory.Builder, build.bazel.remote.execution.v2.OutputDirectoryOrBuilder> outputDirectoriesBuilder_; /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public java.util.List getOutputDirectoriesList() { if (outputDirectoriesBuilder_ == null) { return java.util.Collections.unmodifiableList(outputDirectories_); } else { return outputDirectoriesBuilder_.getMessageList(); } } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public int getOutputDirectoriesCount() { if (outputDirectoriesBuilder_ == null) { return outputDirectories_.size(); } else { return outputDirectoriesBuilder_.getCount(); } } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public build.bazel.remote.execution.v2.OutputDirectory getOutputDirectories(int index) { if (outputDirectoriesBuilder_ == null) { return outputDirectories_.get(index); } else { return outputDirectoriesBuilder_.getMessage(index); } } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public Builder setOutputDirectories( int index, build.bazel.remote.execution.v2.OutputDirectory value) { if (outputDirectoriesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputDirectoriesIsMutable(); outputDirectories_.set(index, value); onChanged(); } else { outputDirectoriesBuilder_.setMessage(index, value); } return this; } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public Builder setOutputDirectories( int index, build.bazel.remote.execution.v2.OutputDirectory.Builder builderForValue) { if (outputDirectoriesBuilder_ == null) { ensureOutputDirectoriesIsMutable(); outputDirectories_.set(index, builderForValue.build()); onChanged(); } else { outputDirectoriesBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public Builder addOutputDirectories(build.bazel.remote.execution.v2.OutputDirectory value) { if (outputDirectoriesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputDirectoriesIsMutable(); outputDirectories_.add(value); onChanged(); } else { outputDirectoriesBuilder_.addMessage(value); } return this; } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public Builder addOutputDirectories( int index, build.bazel.remote.execution.v2.OutputDirectory value) { if (outputDirectoriesBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputDirectoriesIsMutable(); outputDirectories_.add(index, value); onChanged(); } else { outputDirectoriesBuilder_.addMessage(index, value); } return this; } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public Builder addOutputDirectories( build.bazel.remote.execution.v2.OutputDirectory.Builder builderForValue) { if (outputDirectoriesBuilder_ == null) { ensureOutputDirectoriesIsMutable(); outputDirectories_.add(builderForValue.build()); onChanged(); } else { outputDirectoriesBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public Builder addOutputDirectories( int index, build.bazel.remote.execution.v2.OutputDirectory.Builder builderForValue) { if (outputDirectoriesBuilder_ == null) { ensureOutputDirectoriesIsMutable(); outputDirectories_.add(index, builderForValue.build()); onChanged(); } else { outputDirectoriesBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public Builder addAllOutputDirectories( java.lang.Iterable values) { if (outputDirectoriesBuilder_ == null) { ensureOutputDirectoriesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, outputDirectories_); onChanged(); } else { outputDirectoriesBuilder_.addAllMessages(values); } return this; } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public Builder clearOutputDirectories() { if (outputDirectoriesBuilder_ == null) { outputDirectories_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000008); onChanged(); } else { outputDirectoriesBuilder_.clear(); } return this; } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public Builder removeOutputDirectories(int index) { if (outputDirectoriesBuilder_ == null) { ensureOutputDirectoriesIsMutable(); outputDirectories_.remove(index); onChanged(); } else { outputDirectoriesBuilder_.remove(index); } return this; } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public build.bazel.remote.execution.v2.OutputDirectory.Builder getOutputDirectoriesBuilder( int index) { return getOutputDirectoriesFieldBuilder().getBuilder(index); } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public build.bazel.remote.execution.v2.OutputDirectoryOrBuilder getOutputDirectoriesOrBuilder( int index) { if (outputDirectoriesBuilder_ == null) { return outputDirectories_.get(index); } else { return outputDirectoriesBuilder_.getMessageOrBuilder(index); } } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public java.util.List getOutputDirectoriesOrBuilderList() { if (outputDirectoriesBuilder_ != null) { return outputDirectoriesBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(outputDirectories_); } } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public build.bazel.remote.execution.v2.OutputDirectory.Builder addOutputDirectoriesBuilder() { return getOutputDirectoriesFieldBuilder().addBuilder( build.bazel.remote.execution.v2.OutputDirectory.getDefaultInstance()); } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public build.bazel.remote.execution.v2.OutputDirectory.Builder addOutputDirectoriesBuilder( int index) { return getOutputDirectoriesFieldBuilder().addBuilder( index, build.bazel.remote.execution.v2.OutputDirectory.getDefaultInstance()); } /** *
     * The output directories of the action. For each output directory requested
     * in the `output_directories` or `output_paths` field of the Action, if the
     * corresponding directory existed after the action completed, a single entry
     * will be present in the output list, which will contain the digest of a
     * [Tree][build.bazel.remote.execution.v2.Tree] message containing the
     * directory tree, and the path equal exactly to the corresponding Action
     * output_directories member.
     *
     * As an example, suppose the Action had an output directory `a/b/dir` and the
     * execution produced the following contents in `a/b/dir`: a file named `bar`
     * and a directory named `foo` with an executable file named `baz`. Then,
     * output_directory will contain (hashes shortened for readability):
     *
     * ```json
     * // OutputDirectory proto:
     * {
     *   path: "a/b/dir"
     *   tree_digest: {
     *     hash: "4a73bc9d03...",
     *     size: 55
     *   }
     * }
     * // Tree proto with hash "4a73bc9d03..." and size 55:
     * {
     *   root: {
     *     files: [
     *       {
     *         name: "bar",
     *         digest: {
     *           hash: "4a73bc9d03...",
     *           size: 65534
     *         }
     *       }
     *     ],
     *     directories: [
     *       {
     *         name: "foo",
     *         digest: {
     *           hash: "4cf2eda940...",
     *           size: 43
     *         }
     *       }
     *     ]
     *   }
     *   children : {
     *     // (Directory proto with hash "4cf2eda940..." and size 43)
     *     files: [
     *       {
     *         name: "baz",
     *         digest: {
     *           hash: "b2c941073e...",
     *           size: 1294,
     *         },
     *         is_executable: true
     *       }
     *     ]
     *   }
     * }
     * ```
     * If an output of the same name as listed in `output_files` of
     * the Command was found in `output_directories`, but was not a directory, the
     * server will return a FAILED_PRECONDITION.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputDirectory output_directories = 3; */ public java.util.List getOutputDirectoriesBuilderList() { return getOutputDirectoriesFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputDirectory, build.bazel.remote.execution.v2.OutputDirectory.Builder, build.bazel.remote.execution.v2.OutputDirectoryOrBuilder> getOutputDirectoriesFieldBuilder() { if (outputDirectoriesBuilder_ == null) { outputDirectoriesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputDirectory, build.bazel.remote.execution.v2.OutputDirectory.Builder, build.bazel.remote.execution.v2.OutputDirectoryOrBuilder>( outputDirectories_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean()); outputDirectories_ = null; } return outputDirectoriesBuilder_; } private java.util.List outputDirectorySymlinks_ = java.util.Collections.emptyList(); private void ensureOutputDirectorySymlinksIsMutable() { if (!((bitField0_ & 0x00000010) != 0)) { outputDirectorySymlinks_ = new java.util.ArrayList(outputDirectorySymlinks_); bitField0_ |= 0x00000010; } } private com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputSymlink, build.bazel.remote.execution.v2.OutputSymlink.Builder, build.bazel.remote.execution.v2.OutputSymlinkOrBuilder> outputDirectorySymlinksBuilder_; /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public java.util.List getOutputDirectorySymlinksList() { if (outputDirectorySymlinksBuilder_ == null) { return java.util.Collections.unmodifiableList(outputDirectorySymlinks_); } else { return outputDirectorySymlinksBuilder_.getMessageList(); } } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public int getOutputDirectorySymlinksCount() { if (outputDirectorySymlinksBuilder_ == null) { return outputDirectorySymlinks_.size(); } else { return outputDirectorySymlinksBuilder_.getCount(); } } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public build.bazel.remote.execution.v2.OutputSymlink getOutputDirectorySymlinks(int index) { if (outputDirectorySymlinksBuilder_ == null) { return outputDirectorySymlinks_.get(index); } else { return outputDirectorySymlinksBuilder_.getMessage(index); } } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public Builder setOutputDirectorySymlinks( int index, build.bazel.remote.execution.v2.OutputSymlink value) { if (outputDirectorySymlinksBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputDirectorySymlinksIsMutable(); outputDirectorySymlinks_.set(index, value); onChanged(); } else { outputDirectorySymlinksBuilder_.setMessage(index, value); } return this; } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public Builder setOutputDirectorySymlinks( int index, build.bazel.remote.execution.v2.OutputSymlink.Builder builderForValue) { if (outputDirectorySymlinksBuilder_ == null) { ensureOutputDirectorySymlinksIsMutable(); outputDirectorySymlinks_.set(index, builderForValue.build()); onChanged(); } else { outputDirectorySymlinksBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public Builder addOutputDirectorySymlinks(build.bazel.remote.execution.v2.OutputSymlink value) { if (outputDirectorySymlinksBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputDirectorySymlinksIsMutable(); outputDirectorySymlinks_.add(value); onChanged(); } else { outputDirectorySymlinksBuilder_.addMessage(value); } return this; } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public Builder addOutputDirectorySymlinks( int index, build.bazel.remote.execution.v2.OutputSymlink value) { if (outputDirectorySymlinksBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureOutputDirectorySymlinksIsMutable(); outputDirectorySymlinks_.add(index, value); onChanged(); } else { outputDirectorySymlinksBuilder_.addMessage(index, value); } return this; } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public Builder addOutputDirectorySymlinks( build.bazel.remote.execution.v2.OutputSymlink.Builder builderForValue) { if (outputDirectorySymlinksBuilder_ == null) { ensureOutputDirectorySymlinksIsMutable(); outputDirectorySymlinks_.add(builderForValue.build()); onChanged(); } else { outputDirectorySymlinksBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public Builder addOutputDirectorySymlinks( int index, build.bazel.remote.execution.v2.OutputSymlink.Builder builderForValue) { if (outputDirectorySymlinksBuilder_ == null) { ensureOutputDirectorySymlinksIsMutable(); outputDirectorySymlinks_.add(index, builderForValue.build()); onChanged(); } else { outputDirectorySymlinksBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public Builder addAllOutputDirectorySymlinks( java.lang.Iterable values) { if (outputDirectorySymlinksBuilder_ == null) { ensureOutputDirectorySymlinksIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, outputDirectorySymlinks_); onChanged(); } else { outputDirectorySymlinksBuilder_.addAllMessages(values); } return this; } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public Builder clearOutputDirectorySymlinks() { if (outputDirectorySymlinksBuilder_ == null) { outputDirectorySymlinks_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000010); onChanged(); } else { outputDirectorySymlinksBuilder_.clear(); } return this; } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public Builder removeOutputDirectorySymlinks(int index) { if (outputDirectorySymlinksBuilder_ == null) { ensureOutputDirectorySymlinksIsMutable(); outputDirectorySymlinks_.remove(index); onChanged(); } else { outputDirectorySymlinksBuilder_.remove(index); } return this; } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public build.bazel.remote.execution.v2.OutputSymlink.Builder getOutputDirectorySymlinksBuilder( int index) { return getOutputDirectorySymlinksFieldBuilder().getBuilder(index); } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public build.bazel.remote.execution.v2.OutputSymlinkOrBuilder getOutputDirectorySymlinksOrBuilder( int index) { if (outputDirectorySymlinksBuilder_ == null) { return outputDirectorySymlinks_.get(index); } else { return outputDirectorySymlinksBuilder_.getMessageOrBuilder(index); } } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public java.util.List getOutputDirectorySymlinksOrBuilderList() { if (outputDirectorySymlinksBuilder_ != null) { return outputDirectorySymlinksBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(outputDirectorySymlinks_); } } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public build.bazel.remote.execution.v2.OutputSymlink.Builder addOutputDirectorySymlinksBuilder() { return getOutputDirectorySymlinksFieldBuilder().addBuilder( build.bazel.remote.execution.v2.OutputSymlink.getDefaultInstance()); } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public build.bazel.remote.execution.v2.OutputSymlink.Builder addOutputDirectorySymlinksBuilder( int index) { return getOutputDirectorySymlinksFieldBuilder().addBuilder( index, build.bazel.remote.execution.v2.OutputSymlink.getDefaultInstance()); } /** *
     * The output directories of the action that are symbolic links to other
     * directories. Those may be links to other output directories, or input
     * directories, or even absolute paths outside of the working directory,
     * if the server supports
     * [SymlinkAbsolutePathStrategy.ALLOWED][build.bazel.remote.execution.v2.CacheCapabilities.SymlinkAbsolutePathStrategy].
     * For each output directory requested in the `output_directories` field of
     * the Action, if the directory existed after the action completed, a
     * single entry will be present either in this field, or in the
     * `output_directories` field, if the directory was not a symbolic link.
     *
     * If an output of the same name was found, but was a symbolic link to a file
     * instead of a directory, the server will return a FAILED_PRECONDITION.
     * If the action does not produce the requested output, then that output
     * will be omitted from the list. The server is free to arrange the output
     * list as desired; clients MUST NOT assume that the output list is sorted.
     *
     * DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API
     * should still populate this field in addition to `output_symlinks`.
     * 
* * repeated .build.bazel.remote.execution.v2.OutputSymlink output_directory_symlinks = 11; */ public java.util.List getOutputDirectorySymlinksBuilderList() { return getOutputDirectorySymlinksFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputSymlink, build.bazel.remote.execution.v2.OutputSymlink.Builder, build.bazel.remote.execution.v2.OutputSymlinkOrBuilder> getOutputDirectorySymlinksFieldBuilder() { if (outputDirectorySymlinksBuilder_ == null) { outputDirectorySymlinksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< build.bazel.remote.execution.v2.OutputSymlink, build.bazel.remote.execution.v2.OutputSymlink.Builder, build.bazel.remote.execution.v2.OutputSymlinkOrBuilder>( outputDirectorySymlinks_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean()); outputDirectorySymlinks_ = null; } return outputDirectorySymlinksBuilder_; } private int exitCode_ ; /** *
     * The exit code of the command.
     * 
* * int32 exit_code = 4; * @return The exitCode. */ @java.lang.Override public int getExitCode() { return exitCode_; } /** *
     * The exit code of the command.
     * 
* * int32 exit_code = 4; * @param value The exitCode to set. * @return This builder for chaining. */ public Builder setExitCode(int value) { exitCode_ = value; bitField0_ |= 0x00000020; onChanged(); return this; } /** *
     * The exit code of the command.
     * 
* * int32 exit_code = 4; * @return This builder for chaining. */ public Builder clearExitCode() { bitField0_ = (bitField0_ & ~0x00000020); exitCode_ = 0; onChanged(); return this; } private com.google.protobuf.ByteString stdoutRaw_ = com.google.protobuf.ByteString.EMPTY; /** *
     * The standard output buffer of the action. The server SHOULD NOT inline
     * stdout unless requested by the client in the
     * [GetActionResultRequest][build.bazel.remote.execution.v2.GetActionResultRequest]
     * message. The server MAY omit inlining, even if requested, and MUST do so if inlining
     * would cause the response to exceed message size limits.
     * 
* * bytes stdout_raw = 5; * @return The stdoutRaw. */ @java.lang.Override public com.google.protobuf.ByteString getStdoutRaw() { return stdoutRaw_; } /** *
     * The standard output buffer of the action. The server SHOULD NOT inline
     * stdout unless requested by the client in the
     * [GetActionResultRequest][build.bazel.remote.execution.v2.GetActionResultRequest]
     * message. The server MAY omit inlining, even if requested, and MUST do so if inlining
     * would cause the response to exceed message size limits.
     * 
* * bytes stdout_raw = 5; * @param value The stdoutRaw to set. * @return This builder for chaining. */ public Builder setStdoutRaw(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } stdoutRaw_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } /** *
     * The standard output buffer of the action. The server SHOULD NOT inline
     * stdout unless requested by the client in the
     * [GetActionResultRequest][build.bazel.remote.execution.v2.GetActionResultRequest]
     * message. The server MAY omit inlining, even if requested, and MUST do so if inlining
     * would cause the response to exceed message size limits.
     * 
* * bytes stdout_raw = 5; * @return This builder for chaining. */ public Builder clearStdoutRaw() { bitField0_ = (bitField0_ & ~0x00000040); stdoutRaw_ = getDefaultInstance().getStdoutRaw(); onChanged(); return this; } private build.bazel.remote.execution.v2.Digest stdoutDigest_; private com.google.protobuf.SingleFieldBuilderV3< build.bazel.remote.execution.v2.Digest, build.bazel.remote.execution.v2.Digest.Builder, build.bazel.remote.execution.v2.DigestOrBuilder> stdoutDigestBuilder_; /** *
     * The digest for a blob containing the standard output of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stdout_digest = 6; * @return Whether the stdoutDigest field is set. */ public boolean hasStdoutDigest() { return ((bitField0_ & 0x00000080) != 0); } /** *
     * The digest for a blob containing the standard output of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stdout_digest = 6; * @return The stdoutDigest. */ public build.bazel.remote.execution.v2.Digest getStdoutDigest() { if (stdoutDigestBuilder_ == null) { return stdoutDigest_ == null ? build.bazel.remote.execution.v2.Digest.getDefaultInstance() : stdoutDigest_; } else { return stdoutDigestBuilder_.getMessage(); } } /** *
     * The digest for a blob containing the standard output of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stdout_digest = 6; */ public Builder setStdoutDigest(build.bazel.remote.execution.v2.Digest value) { if (stdoutDigestBuilder_ == null) { if (value == null) { throw new NullPointerException(); } stdoutDigest_ = value; } else { stdoutDigestBuilder_.setMessage(value); } bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     * The digest for a blob containing the standard output of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stdout_digest = 6; */ public Builder setStdoutDigest( build.bazel.remote.execution.v2.Digest.Builder builderForValue) { if (stdoutDigestBuilder_ == null) { stdoutDigest_ = builderForValue.build(); } else { stdoutDigestBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     * The digest for a blob containing the standard output of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stdout_digest = 6; */ public Builder mergeStdoutDigest(build.bazel.remote.execution.v2.Digest value) { if (stdoutDigestBuilder_ == null) { if (((bitField0_ & 0x00000080) != 0) && stdoutDigest_ != null && stdoutDigest_ != build.bazel.remote.execution.v2.Digest.getDefaultInstance()) { getStdoutDigestBuilder().mergeFrom(value); } else { stdoutDigest_ = value; } } else { stdoutDigestBuilder_.mergeFrom(value); } bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     * The digest for a blob containing the standard output of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stdout_digest = 6; */ public Builder clearStdoutDigest() { bitField0_ = (bitField0_ & ~0x00000080); stdoutDigest_ = null; if (stdoutDigestBuilder_ != null) { stdoutDigestBuilder_.dispose(); stdoutDigestBuilder_ = null; } onChanged(); return this; } /** *
     * The digest for a blob containing the standard output of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stdout_digest = 6; */ public build.bazel.remote.execution.v2.Digest.Builder getStdoutDigestBuilder() { bitField0_ |= 0x00000080; onChanged(); return getStdoutDigestFieldBuilder().getBuilder(); } /** *
     * The digest for a blob containing the standard output of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stdout_digest = 6; */ public build.bazel.remote.execution.v2.DigestOrBuilder getStdoutDigestOrBuilder() { if (stdoutDigestBuilder_ != null) { return stdoutDigestBuilder_.getMessageOrBuilder(); } else { return stdoutDigest_ == null ? build.bazel.remote.execution.v2.Digest.getDefaultInstance() : stdoutDigest_; } } /** *
     * The digest for a blob containing the standard output of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stdout_digest = 6; */ private com.google.protobuf.SingleFieldBuilderV3< build.bazel.remote.execution.v2.Digest, build.bazel.remote.execution.v2.Digest.Builder, build.bazel.remote.execution.v2.DigestOrBuilder> getStdoutDigestFieldBuilder() { if (stdoutDigestBuilder_ == null) { stdoutDigestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< build.bazel.remote.execution.v2.Digest, build.bazel.remote.execution.v2.Digest.Builder, build.bazel.remote.execution.v2.DigestOrBuilder>( getStdoutDigest(), getParentForChildren(), isClean()); stdoutDigest_ = null; } return stdoutDigestBuilder_; } private com.google.protobuf.ByteString stderrRaw_ = com.google.protobuf.ByteString.EMPTY; /** *
     * The standard error buffer of the action. The server SHOULD NOT inline
     * stderr unless requested by the client in the
     * [GetActionResultRequest][build.bazel.remote.execution.v2.GetActionResultRequest]
     * message. The server MAY omit inlining, even if requested, and MUST do so if inlining
     * would cause the response to exceed message size limits.
     * 
* * bytes stderr_raw = 7; * @return The stderrRaw. */ @java.lang.Override public com.google.protobuf.ByteString getStderrRaw() { return stderrRaw_; } /** *
     * The standard error buffer of the action. The server SHOULD NOT inline
     * stderr unless requested by the client in the
     * [GetActionResultRequest][build.bazel.remote.execution.v2.GetActionResultRequest]
     * message. The server MAY omit inlining, even if requested, and MUST do so if inlining
     * would cause the response to exceed message size limits.
     * 
* * bytes stderr_raw = 7; * @param value The stderrRaw to set. * @return This builder for chaining. */ public Builder setStderrRaw(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } stderrRaw_ = value; bitField0_ |= 0x00000100; onChanged(); return this; } /** *
     * The standard error buffer of the action. The server SHOULD NOT inline
     * stderr unless requested by the client in the
     * [GetActionResultRequest][build.bazel.remote.execution.v2.GetActionResultRequest]
     * message. The server MAY omit inlining, even if requested, and MUST do so if inlining
     * would cause the response to exceed message size limits.
     * 
* * bytes stderr_raw = 7; * @return This builder for chaining. */ public Builder clearStderrRaw() { bitField0_ = (bitField0_ & ~0x00000100); stderrRaw_ = getDefaultInstance().getStderrRaw(); onChanged(); return this; } private build.bazel.remote.execution.v2.Digest stderrDigest_; private com.google.protobuf.SingleFieldBuilderV3< build.bazel.remote.execution.v2.Digest, build.bazel.remote.execution.v2.Digest.Builder, build.bazel.remote.execution.v2.DigestOrBuilder> stderrDigestBuilder_; /** *
     * The digest for a blob containing the standard error of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stderr_digest = 8; * @return Whether the stderrDigest field is set. */ public boolean hasStderrDigest() { return ((bitField0_ & 0x00000200) != 0); } /** *
     * The digest for a blob containing the standard error of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stderr_digest = 8; * @return The stderrDigest. */ public build.bazel.remote.execution.v2.Digest getStderrDigest() { if (stderrDigestBuilder_ == null) { return stderrDigest_ == null ? build.bazel.remote.execution.v2.Digest.getDefaultInstance() : stderrDigest_; } else { return stderrDigestBuilder_.getMessage(); } } /** *
     * The digest for a blob containing the standard error of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stderr_digest = 8; */ public Builder setStderrDigest(build.bazel.remote.execution.v2.Digest value) { if (stderrDigestBuilder_ == null) { if (value == null) { throw new NullPointerException(); } stderrDigest_ = value; } else { stderrDigestBuilder_.setMessage(value); } bitField0_ |= 0x00000200; onChanged(); return this; } /** *
     * The digest for a blob containing the standard error of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stderr_digest = 8; */ public Builder setStderrDigest( build.bazel.remote.execution.v2.Digest.Builder builderForValue) { if (stderrDigestBuilder_ == null) { stderrDigest_ = builderForValue.build(); } else { stderrDigestBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000200; onChanged(); return this; } /** *
     * The digest for a blob containing the standard error of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stderr_digest = 8; */ public Builder mergeStderrDigest(build.bazel.remote.execution.v2.Digest value) { if (stderrDigestBuilder_ == null) { if (((bitField0_ & 0x00000200) != 0) && stderrDigest_ != null && stderrDigest_ != build.bazel.remote.execution.v2.Digest.getDefaultInstance()) { getStderrDigestBuilder().mergeFrom(value); } else { stderrDigest_ = value; } } else { stderrDigestBuilder_.mergeFrom(value); } bitField0_ |= 0x00000200; onChanged(); return this; } /** *
     * The digest for a blob containing the standard error of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stderr_digest = 8; */ public Builder clearStderrDigest() { bitField0_ = (bitField0_ & ~0x00000200); stderrDigest_ = null; if (stderrDigestBuilder_ != null) { stderrDigestBuilder_.dispose(); stderrDigestBuilder_ = null; } onChanged(); return this; } /** *
     * The digest for a blob containing the standard error of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stderr_digest = 8; */ public build.bazel.remote.execution.v2.Digest.Builder getStderrDigestBuilder() { bitField0_ |= 0x00000200; onChanged(); return getStderrDigestFieldBuilder().getBuilder(); } /** *
     * The digest for a blob containing the standard error of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stderr_digest = 8; */ public build.bazel.remote.execution.v2.DigestOrBuilder getStderrDigestOrBuilder() { if (stderrDigestBuilder_ != null) { return stderrDigestBuilder_.getMessageOrBuilder(); } else { return stderrDigest_ == null ? build.bazel.remote.execution.v2.Digest.getDefaultInstance() : stderrDigest_; } } /** *
     * The digest for a blob containing the standard error of the action, which
     * can be retrieved from the
     * [ContentAddressableStorage][build.bazel.remote.execution.v2.ContentAddressableStorage].
     * 
* * .build.bazel.remote.execution.v2.Digest stderr_digest = 8; */ private com.google.protobuf.SingleFieldBuilderV3< build.bazel.remote.execution.v2.Digest, build.bazel.remote.execution.v2.Digest.Builder, build.bazel.remote.execution.v2.DigestOrBuilder> getStderrDigestFieldBuilder() { if (stderrDigestBuilder_ == null) { stderrDigestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< build.bazel.remote.execution.v2.Digest, build.bazel.remote.execution.v2.Digest.Builder, build.bazel.remote.execution.v2.DigestOrBuilder>( getStderrDigest(), getParentForChildren(), isClean()); stderrDigest_ = null; } return stderrDigestBuilder_; } private build.bazel.remote.execution.v2.ExecutedActionMetadata executionMetadata_; private com.google.protobuf.SingleFieldBuilderV3< build.bazel.remote.execution.v2.ExecutedActionMetadata, build.bazel.remote.execution.v2.ExecutedActionMetadata.Builder, build.bazel.remote.execution.v2.ExecutedActionMetadataOrBuilder> executionMetadataBuilder_; /** *
     * The details of the execution that originally produced this result.
     * 
* * .build.bazel.remote.execution.v2.ExecutedActionMetadata execution_metadata = 9; * @return Whether the executionMetadata field is set. */ public boolean hasExecutionMetadata() { return ((bitField0_ & 0x00000400) != 0); } /** *
     * The details of the execution that originally produced this result.
     * 
* * .build.bazel.remote.execution.v2.ExecutedActionMetadata execution_metadata = 9; * @return The executionMetadata. */ public build.bazel.remote.execution.v2.ExecutedActionMetadata getExecutionMetadata() { if (executionMetadataBuilder_ == null) { return executionMetadata_ == null ? build.bazel.remote.execution.v2.ExecutedActionMetadata.getDefaultInstance() : executionMetadata_; } else { return executionMetadataBuilder_.getMessage(); } } /** *
     * The details of the execution that originally produced this result.
     * 
* * .build.bazel.remote.execution.v2.ExecutedActionMetadata execution_metadata = 9; */ public Builder setExecutionMetadata(build.bazel.remote.execution.v2.ExecutedActionMetadata value) { if (executionMetadataBuilder_ == null) { if (value == null) { throw new NullPointerException(); } executionMetadata_ = value; } else { executionMetadataBuilder_.setMessage(value); } bitField0_ |= 0x00000400; onChanged(); return this; } /** *
     * The details of the execution that originally produced this result.
     * 
* * .build.bazel.remote.execution.v2.ExecutedActionMetadata execution_metadata = 9; */ public Builder setExecutionMetadata( build.bazel.remote.execution.v2.ExecutedActionMetadata.Builder builderForValue) { if (executionMetadataBuilder_ == null) { executionMetadata_ = builderForValue.build(); } else { executionMetadataBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000400; onChanged(); return this; } /** *
     * The details of the execution that originally produced this result.
     * 
* * .build.bazel.remote.execution.v2.ExecutedActionMetadata execution_metadata = 9; */ public Builder mergeExecutionMetadata(build.bazel.remote.execution.v2.ExecutedActionMetadata value) { if (executionMetadataBuilder_ == null) { if (((bitField0_ & 0x00000400) != 0) && executionMetadata_ != null && executionMetadata_ != build.bazel.remote.execution.v2.ExecutedActionMetadata.getDefaultInstance()) { getExecutionMetadataBuilder().mergeFrom(value); } else { executionMetadata_ = value; } } else { executionMetadataBuilder_.mergeFrom(value); } bitField0_ |= 0x00000400; onChanged(); return this; } /** *
     * The details of the execution that originally produced this result.
     * 
* * .build.bazel.remote.execution.v2.ExecutedActionMetadata execution_metadata = 9; */ public Builder clearExecutionMetadata() { bitField0_ = (bitField0_ & ~0x00000400); executionMetadata_ = null; if (executionMetadataBuilder_ != null) { executionMetadataBuilder_.dispose(); executionMetadataBuilder_ = null; } onChanged(); return this; } /** *
     * The details of the execution that originally produced this result.
     * 
* * .build.bazel.remote.execution.v2.ExecutedActionMetadata execution_metadata = 9; */ public build.bazel.remote.execution.v2.ExecutedActionMetadata.Builder getExecutionMetadataBuilder() { bitField0_ |= 0x00000400; onChanged(); return getExecutionMetadataFieldBuilder().getBuilder(); } /** *
     * The details of the execution that originally produced this result.
     * 
* * .build.bazel.remote.execution.v2.ExecutedActionMetadata execution_metadata = 9; */ public build.bazel.remote.execution.v2.ExecutedActionMetadataOrBuilder getExecutionMetadataOrBuilder() { if (executionMetadataBuilder_ != null) { return executionMetadataBuilder_.getMessageOrBuilder(); } else { return executionMetadata_ == null ? build.bazel.remote.execution.v2.ExecutedActionMetadata.getDefaultInstance() : executionMetadata_; } } /** *
     * The details of the execution that originally produced this result.
     * 
* * .build.bazel.remote.execution.v2.ExecutedActionMetadata execution_metadata = 9; */ private com.google.protobuf.SingleFieldBuilderV3< build.bazel.remote.execution.v2.ExecutedActionMetadata, build.bazel.remote.execution.v2.ExecutedActionMetadata.Builder, build.bazel.remote.execution.v2.ExecutedActionMetadataOrBuilder> getExecutionMetadataFieldBuilder() { if (executionMetadataBuilder_ == null) { executionMetadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< build.bazel.remote.execution.v2.ExecutedActionMetadata, build.bazel.remote.execution.v2.ExecutedActionMetadata.Builder, build.bazel.remote.execution.v2.ExecutedActionMetadataOrBuilder>( getExecutionMetadata(), getParentForChildren(), isClean()); executionMetadata_ = null; } return executionMetadataBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:build.bazel.remote.execution.v2.ActionResult) } // @@protoc_insertion_point(class_scope:build.bazel.remote.execution.v2.ActionResult) private static final build.bazel.remote.execution.v2.ActionResult DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new build.bazel.remote.execution.v2.ActionResult(); } public static build.bazel.remote.execution.v2.ActionResult getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public ActionResult parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public build.bazel.remote.execution.v2.ActionResult getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy