diff options
author | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2020-12-07 18:15:37 +0000 |
---|---|---|
committer | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2020-12-07 18:15:37 +0000 |
commit | 7f69411f213271e9efdbb1a0726f144ccef9f0a6 (patch) | |
tree | 2fb3841aa9e43b86742ad2ed5630548446e13811 | |
parent | 5f68adb3f80b1d84edf900fde8cf40c84c297f91 (diff) | |
parent | 69e89faa4be94fd3a24799865802ce5fcbb4faa7 (diff) | |
download | buildstream-7f69411f213271e9efdbb1a0726f144ccef9f0a6.tar.gz |
Merge branch 'tristan/refactor-artifact-elements' into 'master'
Fix operations which interact with artifacts
Closes #1410
See merge request BuildStream/buildstream!2108
75 files changed, 1529 insertions, 720 deletions
diff --git a/src/buildstream/_artifact.py b/src/buildstream/_artifact.py index c110e57f0..6e2bc9342 100644 --- a/src/buildstream/_artifact.py +++ b/src/buildstream/_artifact.py @@ -1,5 +1,5 @@ # -# Copyright (C) 2019 Codethink Limited +# Copyright (C) 2020 Codethink Limited # Copyright (C) 2019 Bloomberg Finance LP # # This program is free software; you can redistribute it and/or @@ -29,13 +29,16 @@ artifact composite interaction away from Element class """ import os +from typing import Dict, Tuple from ._protos.buildstream.v2.artifact_pb2 import Artifact as ArtifactProto from . import _yaml from . import utils +from .node import Node from .types import _Scope from .storage._casbaseddirectory import CasBasedDirectory - +from .sandbox._config import SandboxConfig +from ._variables import Variables # An Artifact class to abstract artifact operations # from the Element class @@ -44,28 +47,75 @@ from .storage._casbaseddirectory import CasBasedDirectory # element (Element): The Element object # context (Context): The BuildStream context # strong_key (str): The elements strong cache key, dependent on context +# strict_key (str): The elements strict cache key # weak_key (str): The elements weak cache key # class Artifact: - version = 0 + version = 1 - def __init__(self, element, context, *, strong_key=None, weak_key=None): + def __init__(self, element, context, *, strong_key=None, strict_key=None, weak_key=None): self._element = element self._context = context self._cache_key = strong_key + self._strict_key = strict_key self._weak_cache_key = weak_key self._artifactdir = context.artifactdir self._cas = context.get_cascache() self._tmpdir = context.tmpdir self._proto = None - self._metadata_keys = None # Strong and weak key tuple extracted from the artifact + self._metadata_keys = None # Strong, strict and weak key tuple extracted from the artifact self._metadata_dependencies = None # Dictionary of dependency strong keys from the artifact self._metadata_workspaced = None # Boolean of whether it's a workspaced artifact self._metadata_workspaced_dependencies = None # List of which dependencies are workspaced from the artifact self._cached = None # Boolean of whether the artifact is cached + # strong_key(): + # + # A property which evaluates to the strong key, regardless of whether + # it was the strong key that the Artifact object was initialized with + # or whether it was the strong key loaded from artifact metadata. + # + @property + def strong_key(self) -> str: + if self.cached(): + key, _, _ = self.get_metadata_keys() + else: + key = self._cache_key + + return key + + # strict_key(): + # + # A property which evaluates to the strict key, regardless of whether + # it was the strict key that the Artifact object was initialized with + # or whether it was the strict key loaded from artifact metadata. + # + @property + def strict_key(self) -> str: + if self.cached(): + _, key, _ = self.get_metadata_keys() + else: + key = self._strict_key + + return key + + # weak_key(): + # + # A property which evaluates to the weak key, regardless of whether + # it was the weak key that the Artifact object was initialized with + # or whether it was the weak key loaded from artifact metadata. + # + @property + def weak_key(self) -> str: + if self.cached(): + _, _, key = self.get_metadata_keys() + else: + key = self._weak_cache_key + + return key + # get_files(): # # Get a virtual directory for the artifact files content @@ -137,11 +187,25 @@ class Artifact: # sourcesvdir (Directory): Virtual Directoy object for the staged sources # buildresult (tuple): bool, short desc and detailed desc of result # publicdata (dict): dict of public data to commit to artifact metadata + # variables (Variables): The element's Variables + # environment (dict): dict of the element's environment variables + # sandboxconfig (SandboxConfig): The element's SandboxConfig # # Returns: # (int): The size of the newly cached artifact # - def cache(self, sandbox_build_dir, collectvdir, sourcesvdir, buildresult, publicdata): + def cache( + self, + *, + sandbox_build_dir, + collectvdir, + sourcesvdir, + buildresult, + publicdata, + variables, + environment, + sandboxconfig, + ): context = self._context element = self._element @@ -161,6 +225,7 @@ class Artifact: # Store keys artifact.strong_key = self._cache_key + artifact.strict_key = self._strict_key artifact.weak_key = self._weak_cache_key artifact.was_workspaced = bool(element._get_workspace()) @@ -180,6 +245,34 @@ class Artifact: artifact.public_data.CopyFrom(public_data_digest) size += public_data_digest.size_bytes + # Store low diversity metadata, this metadata must have a high + # probability of deduplication, such as environment variables + # and SandboxConfig. + # + with utils._tempnamedfile_name(dir=self._tmpdir) as tmpname: + sandbox_dict = sandboxconfig.to_dict() + low_diversity_dict = {"environment": environment, "sandbox-config": sandbox_dict} + low_diversity_node = Node.from_dict(low_diversity_dict) + + _yaml.roundtrip_dump(low_diversity_node, tmpname) + low_diversity_meta_digest = self._cas.add_object(path=tmpname, link_directly=True) + artifact.low_diversity_meta.CopyFrom(low_diversity_meta_digest) + size += low_diversity_meta_digest.size_bytes + + # Store high diversity metadata, this metadata is expected to diverge + # for every element and as such cannot be deduplicated. + # + with utils._tempnamedfile_name(dir=self._tmpdir) as tmpname: + # The Variables object supports being converted directly to a dictionary + variables_dict = dict(variables) + high_diversity_dict = {"variables": variables_dict} + high_diversity_node = Node.from_dict(high_diversity_dict) + + _yaml.roundtrip_dump(high_diversity_node, tmpname) + high_diversity_meta_digest = self._cas.add_object(path=tmpname, link_directly=True) + artifact.high_diversity_meta.CopyFrom(high_diversity_meta_digest) + size += high_diversity_meta_digest.size_bytes + # store build dependencies for e in element._dependencies(_Scope.BUILD): new_build = artifact.build_deps.add() @@ -282,6 +375,64 @@ class Artifact: return data + # load_sandbox_config(): + # + # Loads the sandbox configuration from the cached artifact + # + # Returns: + # The stored SandboxConfig object + # + def load_sandbox_config(self) -> SandboxConfig: + + # Load the sandbox data from the artifact + artifact = self._get_proto() + meta_file = self._cas.objpath(artifact.low_diversity_meta) + data = _yaml.load(meta_file, shortname="low-diversity-meta.yaml") + + # Extract the sandbox data + config = data.get_mapping("sandbox-config") + + # Return a SandboxConfig + return SandboxConfig.new_from_node(config) + + # load_environment(): + # + # Loads the environment variables from the cached artifact + # + # Returns: + # The environment variables + # + def load_environment(self) -> Dict[str, str]: + + # Load the sandbox data from the artifact + artifact = self._get_proto() + meta_file = self._cas.objpath(artifact.low_diversity_meta) + data = _yaml.load(meta_file, shortname="low-diversity-meta.yaml") + + # Extract the environment + config = data.get_mapping("environment") + + # Return the environment + return config.strip_node_info() + + # load_variables(): + # + # Loads the element variables from the cached artifact + # + # Returns: + # The element variables + # + def load_variables(self) -> Variables: + + # Load the sandbox data from the artifact + artifact = self._get_proto() + meta_file = self._cas.objpath(artifact.high_diversity_meta) + data = _yaml.load(meta_file, shortname="high-diversity-meta.yaml") + + # Extract the variables node and return the new Variables instance + variables_node = data.get_mapping("variables") + return Variables(variables_node) + # load_build_result(): # # Load the build result from the cached artifact @@ -303,10 +454,11 @@ class Artifact: # Retrieve the strong and weak keys from the given artifact. # # Returns: - # (str): The strong key - # (str): The weak key + # The strong key + # The strict key + # The weak key # - def get_metadata_keys(self): + def get_metadata_keys(self) -> Tuple[str, str, str]: if self._metadata_keys is not None: return self._metadata_keys @@ -315,9 +467,10 @@ class Artifact: artifact = self._get_proto() strong_key = artifact.strong_key + strict_key = artifact.strict_key weak_key = artifact.weak_key - self._metadata_keys = (strong_key, weak_key) + self._metadata_keys = (strong_key, strict_key, weak_key) return self._metadata_keys diff --git a/src/buildstream/_artifactcache.py b/src/buildstream/_artifactcache.py index 5ccdf8fd8..09804fe01 100644 --- a/src/buildstream/_artifactcache.py +++ b/src/buildstream/_artifactcache.py @@ -146,10 +146,10 @@ class ArtifactCache(AssetCache): for remote in index_remotes: remote.init() - element.status("Pushing artifact {} -> {}".format(display_key, remote)) + element.status("Pushing artifact {} -> {}".format(display_key.brief, remote)) if self._push_artifact_proto(element, artifact, artifact_digest, remote): - element.info("Pushed artifact {} -> {}".format(display_key, remote)) + element.info("Pushed artifact {} -> {}".format(display_key.brief, remote)) pushed = True else: element.info("Remote ({}) already has artifact {} cached".format(remote, display_key.brief)) @@ -404,7 +404,7 @@ class ArtifactCache(AssetCache): except FileNotFoundError: pass - digests = [artifact_digest] + digests = [artifact_digest, artifact_proto.low_diversity_meta, artifact_proto.high_diversity_meta] if str(artifact_proto.public_data): digests.append(artifact_proto.public_data) @@ -470,7 +470,9 @@ class ArtifactCache(AssetCache): if artifact_proto.sources: referenced_directories.append(artifact_proto.sources) - referenced_blobs = [log_file.digest for log_file in artifact_proto.logs] + referenced_blobs = [artifact_proto.low_diversity_meta, artifact_proto.high_diversity_meta] + [ + log_file.digest for log_file in artifact_proto.logs + ] try: remote.push_blob( @@ -530,7 +532,7 @@ class ArtifactCache(AssetCache): if pull_buildtrees and str(artifact.buildtree): __pull_digest(artifact.buildtree) - digests = [] + digests = [artifact.low_diversity_meta, artifact.high_diversity_meta] if str(artifact.public_data): digests.append(artifact.public_data) diff --git a/src/buildstream/_artifactelement.py b/src/buildstream/_artifactelement.py index 3dce09202..63bb904fd 100644 --- a/src/buildstream/_artifactelement.py +++ b/src/buildstream/_artifactelement.py @@ -1,5 +1,6 @@ # # Copyright (C) 2019 Bloomberg Finance LP +# Copyright (C) 2020 Codethink Limited # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -16,17 +17,22 @@ # # Authors: # James Ennis <james.ennis@codethink.co.uk> +# Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Optional, Dict +from contextlib import suppress from . import Element from . import _cachekey +from ._artifact import Artifact +from ._artifactproject import ArtifactProject from ._exceptions import ArtifactElementError from ._loader import LoadElement from .node import Node if TYPE_CHECKING: - from typing import Dict + from ._context import Context + from ._state import _Task # ArtifactElement() @@ -40,51 +46,70 @@ if TYPE_CHECKING: class ArtifactElement(Element): # A hash of ArtifactElement by ref - __instantiated_artifacts = {} # type: Dict[str, ArtifactElement] + __instantiated_artifacts: Dict[str, "ArtifactElement"] = {} def __init__(self, context, ref): - _, element, key = verify_artifact_ref(ref) + project_name, element_name, key = verify_artifact_ref(ref) - self._ref = ref - self._key = key + # At this point we only know the key which was specified on the command line, + # so we will pretend all keys are equal. + # + # If the artifact is cached, then the real keys will be loaded from the + # artifact instead. + # + artifact = Artifact(self, context, strong_key=key, strict_key=key, weak_key=key) + project = ArtifactProject(project_name, context) + load_element = LoadElement(Node.from_dict({}), element_name, project.loader) # NOTE element has no .bst suffix - project = context.get_toplevel_project() - load_element = LoadElement(Node.from_dict({}), element, project.loader) # NOTE element has no .bst suffix + super().__init__(context, project, load_element, None, artifact=artifact) - super().__init__(context, project, load_element, None) + ######################################################## + # Public API # + ######################################################## - # _new_from_artifact_name(): + # new_from_artifact_name(): # # Recursively instantiate a new ArtifactElement instance, and its # dependencies from an artifact name # # Args: - # ref (String): The artifact ref - # context (Context): The Context object - # task (Task): A task object to report progress to + # artifact_name: The artifact name + # context: The Context object + # task: A task object to report progress to # # Returns: # (ArtifactElement): A newly created Element instance # @classmethod - def _new_from_artifact_name(cls, ref, context, task=None): + def new_from_artifact_name(cls, artifact_name: str, context: "Context", task: Optional["_Task"] = None): - if ref in cls.__instantiated_artifacts: - return cls.__instantiated_artifacts[ref] + # Initial lookup for already loaded artifact. + with suppress(KeyError): + return cls.__instantiated_artifacts[artifact_name] - artifact_element = ArtifactElement(context, ref) - # XXX: We need to call initialize_state as it is responsible for - # initialising an Element/ArtifactElement's Artifact (__artifact) - artifact_element._initialize_state() - cls.__instantiated_artifacts[ref] = artifact_element + # Instantiate the element, this can result in having a different + # artifact name, if we loaded the artifact by it's weak key then + # we will have the artifact loaded via it's strong key. + element = ArtifactElement(context, artifact_name) + artifact_name = element.get_artifact_name() - for dep_ref in artifact_element.get_dependency_artifact_names(): - dependency = ArtifactElement._new_from_artifact_name(dep_ref, context, task) - artifact_element._add_build_dependency(dependency) + # Perform a second lookup, avoid loading the same artifact + # twice, even if we've loaded it both with weak and strong keys. + with suppress(KeyError): + return cls.__instantiated_artifacts[artifact_name] - return artifact_element + # Now cache the loaded artifact + cls.__instantiated_artifacts[artifact_name] = element - # _clear_artifact_refs_cache() + # Walk the dependencies and load recursively + artifact = element._get_artifact() + for dep_artifact_name in artifact.get_dependency_artifact_names(): + dependency = ArtifactElement.new_from_artifact_name(dep_artifact_name, context, task) + element._add_build_dependency(dependency) + + return element + + # clear_artifact_name_cache() # # Clear the internal artifact refs cache # @@ -96,53 +121,24 @@ class ArtifactElement(Element): # to save memory. # @classmethod - def _clear_artifact_refs_cache(cls): + def clear_artifact_name_cache(cls): cls.__instantiated_artifacts = {} - # Override Element.get_artifact_name() - def get_artifact_name(self, key=None): - return self._ref - - # Dummy configure method + ######################################################## + # Implement Element abstract methods # + ######################################################## def configure(self, node): pass - # Dummy preflight method def preflight(self): pass - # get_dependency_artifact_names() - # - # Retrieve the artifact names of all of the dependencies in _Scope.BUILD - # - # Returns: - # (list [str]): A list of artifact refs - # - def get_dependency_artifact_names(self): - artifact = self._get_artifact() - return artifact.get_dependency_artifact_names() - - # configure_sandbox() - # - # Configure a sandbox for installing artifacts into - # - # Args: - # sandbox (Sandbox) - # def configure_sandbox(self, sandbox): install_root = self.get_variable("install-root") # Tell the sandbox to mount the build root and install root sandbox.mark_directory(install_root) - # Override Element._calculate_cache_key - def _calculate_cache_key(self, dependencies=None): - return self._key - - # Override Element._get_cache_key() - def _get_cache_key(self, strength=None): - return self._key - # verify_artifact_ref() # diff --git a/src/buildstream/_artifactproject.py b/src/buildstream/_artifactproject.py new file mode 100644 index 000000000..b8153b06d --- /dev/null +++ b/src/buildstream/_artifactproject.py @@ -0,0 +1,88 @@ +# +# Copyright (C) 2020 Codethink Limited +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library. If not, see <http://www.gnu.org/licenses/>. +# +# Authors: +# Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> +# +from contextlib import suppress +from typing import TYPE_CHECKING + +from ._project import Project +from ._context import Context +from ._loader import Loader + +if TYPE_CHECKING: + from typing import Dict + + +# ArtifactProject() +# +# A project instance to be used as the project for an ArtifactElement. +# +# This is basically a simplified Project implementation which ensures that +# we do not accidentally infer any data from a possibly present local project +# when processing an ArtifactElement. +# +# Args: +# project_name: The name of this project +# +class ArtifactProject(Project): + + __loaded_artifact_projects = {} # type: Dict[str, ArtifactProject] + + def __init__(self, project_name: str, context: Context): + + # + # Chain up to the Project constructor, and allow it to initialize + # without loading anything + # + super().__init__(None, context, search_for_project=False) + + # Fill in some necessities + # + self.name = project_name + self.element_path = "" # This needs to be set to avoid Loader crashes + self.loader = Loader(self) + + # get_artifact_project(): + # + # Gets a reference to an ArtifactProject for the given + # project name, possibly instantiating one if needed. + # + # Args: + # project_name: The project name + # context: The Context + # + # Returns: + # An ArtifactProject with the given project_name + # + @classmethod + def get_artifact_project(cls, project_name: str, context: Context) -> "ArtifactProject": + with suppress(KeyError): + return cls.__loaded_artifact_projects[project_name] + + project = cls(project_name, context) + cls.__loaded_artifact_projects[project_name] = project + return project + + # clear_project_cache(): + # + # Clears the cache of loaded projects, this can be called directly + # after completing a full load. + # + @classmethod + def clear_project_cache(cls): + cls.__loaded_artifact_projects = {} diff --git a/src/buildstream/_pipeline.py b/src/buildstream/_pipeline.py index 77b3c24e0..01ebc2e96 100644 --- a/src/buildstream/_pipeline.py +++ b/src/buildstream/_pipeline.py @@ -79,21 +79,6 @@ class Pipeline: return tuple(element_groups) - # load_artifacts() - # - # Loads ArtifactElements from target artifacts. - # - # Args: - # target (list [str]): Target artifacts to load - # - # Returns: - # (list [ArtifactElement]): A list of ArtifactElement objects - # - def load_artifacts(self, targets): - # XXX: This is not included as part of the "load-pipeline" profiler, we could move - # the profiler to Stream? - return self._project.load_artifacts(targets) - # resolve_elements() # # Resolve element state and cache keys. diff --git a/src/buildstream/_project.py b/src/buildstream/_project.py index 6154c51c0..2534e0209 100644 --- a/src/buildstream/_project.py +++ b/src/buildstream/_project.py @@ -18,6 +18,8 @@ # Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> # Tiago Gomes <tiago.gomes@codethink.co.uk> +from typing import TYPE_CHECKING, Optional, Dict, Union, List + import os import sys from collections import OrderedDict @@ -27,7 +29,6 @@ from . import utils from . import _site from . import _yaml from .utils import UtilError -from ._artifactelement import ArtifactElement from ._profile import Topics, PROFILER from ._exceptions import LoadError from .exceptions import LoadErrorReason @@ -45,6 +46,10 @@ from ._message import Message, MessageType from ._includes import Includes from ._workspaces import WORKSPACE_PROJECT_FILE +if TYPE_CHECKING: + from .node import ProvenanceInformation, MappingNode + from ._context import Context + from ._remote import RemoteSpec # Project Configuration file _PROJECT_CONF_FILE = "project.conf" @@ -87,95 +92,115 @@ class ProjectConfig: # # The Project Configuration # +# Args: +# directory: The project directory, or None for dummy ArtifactProjects +# context: The invocation context +# junction: The junction Element causing this project to be loaded +# cli_options: The project options specified on the command line +# default_mirror: The default mirror specified on the command line +# parent_loader: The parent loader +# provenance_node: The YAML provenance causing this project to be loaded +# search_for_project: Whether to search for a project directory, e.g. from workspace metadata or parent directories +# load_project: Whether to attempt to load a project.conf +# class Project: def __init__( self, - directory, - context, + directory: Optional[str], + context: "Context", *, - junction=None, - cli_options=None, - default_mirror=None, - parent_loader=None, - provenance_node=None, - search_for_project=True, + junction: Optional[object] = None, + cli_options: Optional[Dict[str, str]] = None, + default_mirror: Optional[str] = None, + parent_loader: Optional[Loader] = None, + provenance_node: Optional["ProvenanceInformation"] = None, + search_for_project: bool = True, + load_project: bool = True, ): + # + # Public members + # + self.name: Optional[str] = None # The project name + self.directory: Optional[str] = directory # The project directory + self.element_path: Optional[str] = None # The project relative element path - # The project name - self.name = None - - self._context = context # The invocation Context, a private member - - # Create the LoadContext here if we are the toplevel project. - if parent_loader: - self.load_context = parent_loader.load_context - else: - self.load_context = LoadContext(self._context) - - if search_for_project: - self.directory, self._invoked_from_workspace_element = self._find_project_dir(directory) - else: - self.directory = directory - self._invoked_from_workspace_element = None - - self._absolute_directory_path = Path(self.directory).resolve() - - # Absolute path to where elements are loaded from within the project - self.element_path = None + self.load_context: LoadContext # The LoadContext + self.loader: Optional[Loader] = None # The loader associated to this project + self.junction: Optional[object] = junction # The junction Element object, if this is a subproject - # ProjectRefs for the main refs and also for junctions - self.refs = ProjectRefs(self.directory, "project.refs") - self.junction_refs = ProjectRefs(self.directory, "junction.refs") + self.ref_storage: Optional[ProjectRefStorage] = None # Where to store source refs + self.refs: Optional[ProjectRefs] = None + self.junction_refs: Optional[ProjectRefs] = None - self.config = ProjectConfig() - self.first_pass_config = ProjectConfig() + self.config: ProjectConfig = ProjectConfig() + self.first_pass_config: ProjectConfig = ProjectConfig() - self.junction = junction # The junction Element object, if this is a subproject + self.base_environment: Union["MappingNode", Dict[str, str]] = {} # The base set of environment variables + self.base_env_nocache: List[str] = [] # The base nocache mask (list) for the environment - self.ref_storage = None # ProjectRefStorage setting - self.base_environment = {} # The base set of environment variables - self.base_env_nocache = None # The base nocache mask (list) for the environment + # Remote specs for communicating with remote services + self.artifact_cache_specs: List["RemoteSpec"] = [] # Artifact caches + self.source_cache_specs: List["RemoteSpec"] = [] # Source caches + self.remote_execution_specs: List["RemoteSpec"] = [] # Remote execution services - self.artifact_cache_specs = None - self.source_cache_specs = None - self.remote_execution_specs = None + self.element_factory: Optional[ElementFactory] = None # ElementFactory for loading elements + self.source_factory: Optional[SourceFactory] = None # SourceFactory for loading sources - self.element_factory = None # ElementFactory for loading elements - self.source_factory = None # SourceFactory for loading sources + self.sandbox: Optional["MappingNode"] = None + self.splits: Optional["MappingNode"] = None # - # Private Members + # Private members # - self._default_targets = None # Default target elements - self._default_mirror = default_mirror # The name of the preferred mirror. - - self._cli_options = cli_options + self._context: "Context" = context # The invocation Context + self._invoked_from_workspace_element: Optional[str] = None + self._absolute_directory_path: Optional[Path] = None - self._fatal_warnings = [] # A list of warnings which should trigger an error + self._default_targets: Optional[List[str]] = None # Default target elements + self._default_mirror: Optional[str] = default_mirror # The name of the preferred mirror. + self._cli_options: Optional[Dict[str, str]] = cli_options - self._shell_command = [] # The default interactive shell command - self._shell_environment = {} # Statically set environment vars - self._shell_host_files = [] # A list of HostMount objects - self._sandbox = None - self._splits = None + self._fatal_warnings: List[str] = [] # A list of warnings which should trigger an error + self._shell_command: List[str] = [] # The default interactive shell command + self._shell_environment: Dict[str, str] = {} # Statically set environment vars + self._shell_host_files: List[str] = [] # A list of HostMount objects # This is a lookup table of lists indexed by project, # the child dictionaries are lists of ScalarNodes indicating # junction names - self._junction_duplicates = {} + self._junction_duplicates: Dict[str, List[str]] = {} # A list of project relative junctions to consider as 'internal', # stored as ScalarNodes. - self._junction_internal = [] + self._junction_internal: List[str] = [] - self._context.add_project(self) + self._partially_loaded: bool = False + self._fully_loaded: bool = False + self._project_includes: Optional[Includes] = None - self._partially_loaded = False - self._fully_loaded = False - self._project_includes = None + # + # Initialization body + # + if parent_loader: + self.load_context = parent_loader.load_context + else: + self.load_context = LoadContext(self._context) + + if search_for_project: + self.directory, self._invoked_from_workspace_element = self._find_project_dir(directory) - with PROFILER.profile(Topics.LOAD_PROJECT, self.directory.replace(os.sep, "-")): - self._load(parent_loader=parent_loader, provenance_node=provenance_node) + if self.directory: + self._absolute_directory_path = Path(self.directory).resolve() + self.refs = ProjectRefs(self.directory, "project.refs") + self.junction_refs = ProjectRefs(self.directory, "junction.refs") + + self._context.add_project(self) + + if self.directory and load_project: + with PROFILER.profile(Topics.LOAD_PROJECT, self.directory.replace(os.sep, "-")): + self._load(parent_loader=parent_loader, provenance_node=provenance_node) + else: + self._fully_loaded = True self._partially_loaded = True @@ -455,26 +480,6 @@ class Project: return elements - # load_artifacts() - # - # Loads artifacts from target artifact refs - # - # Args: - # targets (list): Target artifact refs - # - # Returns: - # (list): A list of loaded ArtifactElement - # - def load_artifacts(self, targets): - with self._context.messenger.simple_task("Loading artifacts") as task: - artifacts = [] - for ref in targets: - artifacts.append(ArtifactElement._new_from_artifact_name(ref, self._context, task)) - - ArtifactElement._clear_artifact_refs_cache() - - return artifacts - # ensure_fully_loaded() # # Ensure project has finished loading. At first initialization, a @@ -506,14 +511,6 @@ class Project: self._load_second_pass() - # cleanup() - # - # Cleans up resources used loading elements - # - def cleanup(self): - # Reset the element loader state - Element._reset_load_state() - # get_default_target() # # Attempts to interpret which element the user intended to run a command on. @@ -902,10 +899,10 @@ class Project: self.base_env_nocache = config.get_str_list("environment-nocache") # Load sandbox configuration - self._sandbox = config.get_mapping("sandbox") + self.sandbox = config.get_mapping("sandbox") # Load project split rules - self._splits = config.get_mapping("split-rules") + self.splits = config.get_mapping("split-rules") # Support backwards compatibility for fail-on-overlap fail_on_overlap = config.get_scalar("fail-on-overlap", None) diff --git a/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py b/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py index c40df6434..8157e995f 100644 --- a/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py +++ b/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: build/bazel/remote/asset/v1/remote_asset.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -23,6 +23,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='build.bazel.remote.asset.v1', syntax='proto3', serialized_options=b'\n\033build.bazel.remote.asset.v1B\020RemoteAssetProtoP\001Z\013remoteasset\242\002\002RA\252\002\033Build.Bazel.Remote.Asset.v1', + create_key=_descriptor._internal_create_key, serialized_pb=b'\n.build/bazel/remote/asset/v1/remote_asset.proto\x12\x1b\x62uild.bazel.remote.asset.v1\x1a\x36\x62uild/bazel/remote/execution/v2/remote_execution.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"(\n\tQualifier\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xdc\x01\n\x10\x46\x65tchBlobRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12*\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x17oldest_content_accepted\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04uris\x18\x04 \x03(\t\x12:\n\nqualifiers\x18\x05 \x03(\x0b\x32&.build.bazel.remote.asset.v1.Qualifier\"\xee\x01\n\x11\x46\x65tchBlobResponse\x12\"\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12:\n\nqualifiers\x18\x03 \x03(\x0b\x32&.build.bazel.remote.asset.v1.Qualifier\x12.\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12<\n\x0b\x62lob_digest\x18\x05 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\xe1\x01\n\x15\x46\x65tchDirectoryRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12*\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12;\n\x17oldest_content_accepted\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0c\n\x04uris\x18\x04 \x03(\t\x12:\n\nqualifiers\x18\x05 \x03(\x0b\x32&.build.bazel.remote.asset.v1.Qualifier\"\xfd\x01\n\x16\x46\x65tchDirectoryResponse\x12\"\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\x12\x0b\n\x03uri\x18\x02 \x01(\t\x12:\n\nqualifiers\x18\x03 \x03(\x0b\x32&.build.bazel.remote.asset.v1.Qualifier\x12.\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x46\n\x15root_directory_digest\x18\x05 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\xeb\x02\n\x0fPushBlobRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0c\n\x04uris\x18\x02 \x03(\t\x12:\n\nqualifiers\x18\x03 \x03(\x0b\x32&.build.bazel.remote.asset.v1.Qualifier\x12-\n\texpire_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12<\n\x0b\x62lob_digest\x18\x05 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x41\n\x10references_blobs\x18\x06 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12G\n\x16references_directories\x18\x07 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\x12\n\x10PushBlobResponse\"\xfa\x02\n\x14PushDirectoryRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0c\n\x04uris\x18\x02 \x03(\t\x12:\n\nqualifiers\x18\x03 \x03(\x0b\x32&.build.bazel.remote.asset.v1.Qualifier\x12-\n\texpire_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x46\n\x15root_directory_digest\x18\x05 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x41\n\x10references_blobs\x18\x06 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12G\n\x16references_directories\x18\x07 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\x17\n\x15PushDirectoryResponse2\xdd\x02\n\x05\x46\x65tch\x12\x9e\x01\n\tFetchBlob\x12-.build.bazel.remote.asset.v1.FetchBlobRequest\x1a..build.bazel.remote.asset.v1.FetchBlobResponse\"2\x82\xd3\xe4\x93\x02,\"\'/v1/{instance_name=**}/assets:fetchBlob:\x01*\x12\xb2\x01\n\x0e\x46\x65tchDirectory\x12\x32.build.bazel.remote.asset.v1.FetchDirectoryRequest\x1a\x33.build.bazel.remote.asset.v1.FetchDirectoryResponse\"7\x82\xd3\xe4\x93\x02\x31\",/v1/{instance_name=**}/assets:fetchDirectory:\x01*2\xd4\x02\n\x04Push\x12\x9a\x01\n\x08PushBlob\x12,.build.bazel.remote.asset.v1.PushBlobRequest\x1a-.build.bazel.remote.asset.v1.PushBlobResponse\"1\x82\xd3\xe4\x93\x02+\"&/v1/{instance_name=**}/assets:pushBlob:\x01*\x12\xae\x01\n\rPushDirectory\x12\x31.build.bazel.remote.asset.v1.PushDirectoryRequest\x1a\x32.build.bazel.remote.asset.v1.PushDirectoryResponse\"6\x82\xd3\xe4\x93\x02\x30\"+/v1/{instance_name=**}/assets:pushDirectory:\x01*Ba\n\x1b\x62uild.bazel.remote.asset.v1B\x10RemoteAssetProtoP\x01Z\x0bremoteasset\xa2\x02\x02RA\xaa\x02\x1b\x42uild.Bazel.Remote.Asset.v1b\x06proto3' , dependencies=[build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.DESCRIPTOR,google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_rpc_dot_status__pb2.DESCRIPTOR,]) @@ -36,6 +37,7 @@ _QUALIFIER = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='build.bazel.remote.asset.v1.Qualifier.name', index=0, @@ -43,14 +45,14 @@ _QUALIFIER = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='build.bazel.remote.asset.v1.Qualifier.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -74,6 +76,7 @@ _FETCHBLOBREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.bazel.remote.asset.v1.FetchBlobRequest.instance_name', index=0, @@ -81,35 +84,35 @@ _FETCHBLOBREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='timeout', full_name='build.bazel.remote.asset.v1.FetchBlobRequest.timeout', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='oldest_content_accepted', full_name='build.bazel.remote.asset.v1.FetchBlobRequest.oldest_content_accepted', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='uris', full_name='build.bazel.remote.asset.v1.FetchBlobRequest.uris', index=3, number=4, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='qualifiers', full_name='build.bazel.remote.asset.v1.FetchBlobRequest.qualifiers', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -133,6 +136,7 @@ _FETCHBLOBRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='status', full_name='build.bazel.remote.asset.v1.FetchBlobResponse.status', index=0, @@ -140,35 +144,35 @@ _FETCHBLOBRESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='uri', full_name='build.bazel.remote.asset.v1.FetchBlobResponse.uri', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='qualifiers', full_name='build.bazel.remote.asset.v1.FetchBlobResponse.qualifiers', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='expires_at', full_name='build.bazel.remote.asset.v1.FetchBlobResponse.expires_at', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='blob_digest', full_name='build.bazel.remote.asset.v1.FetchBlobResponse.blob_digest', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -192,6 +196,7 @@ _FETCHDIRECTORYREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.bazel.remote.asset.v1.FetchDirectoryRequest.instance_name', index=0, @@ -199,35 +204,35 @@ _FETCHDIRECTORYREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='timeout', full_name='build.bazel.remote.asset.v1.FetchDirectoryRequest.timeout', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='oldest_content_accepted', full_name='build.bazel.remote.asset.v1.FetchDirectoryRequest.oldest_content_accepted', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='uris', full_name='build.bazel.remote.asset.v1.FetchDirectoryRequest.uris', index=3, number=4, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='qualifiers', full_name='build.bazel.remote.asset.v1.FetchDirectoryRequest.qualifiers', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -251,6 +256,7 @@ _FETCHDIRECTORYRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='status', full_name='build.bazel.remote.asset.v1.FetchDirectoryResponse.status', index=0, @@ -258,35 +264,35 @@ _FETCHDIRECTORYRESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='uri', full_name='build.bazel.remote.asset.v1.FetchDirectoryResponse.uri', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='qualifiers', full_name='build.bazel.remote.asset.v1.FetchDirectoryResponse.qualifiers', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='expires_at', full_name='build.bazel.remote.asset.v1.FetchDirectoryResponse.expires_at', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='root_directory_digest', full_name='build.bazel.remote.asset.v1.FetchDirectoryResponse.root_directory_digest', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -310,6 +316,7 @@ _PUSHBLOBREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.bazel.remote.asset.v1.PushBlobRequest.instance_name', index=0, @@ -317,49 +324,49 @@ _PUSHBLOBREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='uris', full_name='build.bazel.remote.asset.v1.PushBlobRequest.uris', index=1, number=2, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='qualifiers', full_name='build.bazel.remote.asset.v1.PushBlobRequest.qualifiers', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='expire_at', full_name='build.bazel.remote.asset.v1.PushBlobRequest.expire_at', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='blob_digest', full_name='build.bazel.remote.asset.v1.PushBlobRequest.blob_digest', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='references_blobs', full_name='build.bazel.remote.asset.v1.PushBlobRequest.references_blobs', index=5, number=6, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='references_directories', full_name='build.bazel.remote.asset.v1.PushBlobRequest.references_directories', index=6, number=7, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -383,6 +390,7 @@ _PUSHBLOBRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -407,6 +415,7 @@ _PUSHDIRECTORYREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.instance_name', index=0, @@ -414,49 +423,49 @@ _PUSHDIRECTORYREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='uris', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.uris', index=1, number=2, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='qualifiers', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.qualifiers', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='expire_at', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.expire_at', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='root_directory_digest', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.root_directory_digest', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='references_blobs', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.references_blobs', index=5, number=6, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='references_directories', full_name='build.bazel.remote.asset.v1.PushDirectoryRequest.references_directories', index=6, number=7, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -480,6 +489,7 @@ _PUSHDIRECTORYRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -604,6 +614,7 @@ _FETCH = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_start=2038, serialized_end=2387, methods=[ @@ -615,6 +626,7 @@ _FETCH = _descriptor.ServiceDescriptor( input_type=_FETCHBLOBREQUEST, output_type=_FETCHBLOBRESPONSE, serialized_options=b'\202\323\344\223\002,\"\'/v1/{instance_name=**}/assets:fetchBlob:\001*', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='FetchDirectory', @@ -624,6 +636,7 @@ _FETCH = _descriptor.ServiceDescriptor( input_type=_FETCHDIRECTORYREQUEST, output_type=_FETCHDIRECTORYRESPONSE, serialized_options=b'\202\323\344\223\0021\",/v1/{instance_name=**}/assets:fetchDirectory:\001*', + create_key=_descriptor._internal_create_key, ), ]) _sym_db.RegisterServiceDescriptor(_FETCH) @@ -637,6 +650,7 @@ _PUSH = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=1, serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_start=2390, serialized_end=2730, methods=[ @@ -648,6 +662,7 @@ _PUSH = _descriptor.ServiceDescriptor( input_type=_PUSHBLOBREQUEST, output_type=_PUSHBLOBRESPONSE, serialized_options=b'\202\323\344\223\002+\"&/v1/{instance_name=**}/assets:pushBlob:\001*', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='PushDirectory', @@ -657,6 +672,7 @@ _PUSH = _descriptor.ServiceDescriptor( input_type=_PUSHDIRECTORYREQUEST, output_type=_PUSHDIRECTORYRESPONSE, serialized_options=b'\202\323\344\223\0020\"+/v1/{instance_name=**}/assets:pushDirectory:\001*', + create_key=_descriptor._internal_create_key, ), ]) _sym_db.RegisterServiceDescriptor(_PUSH) diff --git a/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py b/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py index 38d31a2a1..203e3d908 100644 --- a/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py +++ b/src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py @@ -1,4 +1,5 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc from buildstream._protos.build.bazel.remote.asset.v1 import remote_asset_pb2 as build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2 @@ -108,7 +109,7 @@ class FetchServicer(object): raise NotImplementedError('Method not implemented!') def FetchDirectory(self, request, context): - """Missing associated documentation comment in .proto file""" + """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') @@ -150,6 +151,7 @@ class Fetch(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -158,7 +160,7 @@ class Fetch(object): build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchBlobRequest.SerializeToString, build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchBlobResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def FetchDirectory(request, @@ -166,6 +168,7 @@ class Fetch(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -174,7 +177,7 @@ class Fetch(object): build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchDirectoryRequest.SerializeToString, build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.FetchDirectoryResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) class PushStub(object): @@ -256,7 +259,7 @@ class PushServicer(object): raise NotImplementedError('Method not implemented!') def PushDirectory(self, request, context): - """Missing associated documentation comment in .proto file""" + """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') @@ -297,6 +300,7 @@ class Push(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -305,7 +309,7 @@ class Push(object): build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushBlobRequest.SerializeToString, build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushBlobResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def PushDirectory(request, @@ -313,6 +317,7 @@ class Push(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -321,4 +326,4 @@ class Push(object): build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushDirectoryRequest.SerializeToString, build_dot_bazel_dot_remote_dot_asset_dot_v1_dot_remote__asset__pb2.PushDirectoryResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.py b/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.py index cab2f499e..63ed0f687 100644 --- a/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.py +++ b/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: build/bazel/remote/execution/v2/remote_execution.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -25,6 +25,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='build.bazel.remote.execution.v2', syntax='proto3', serialized_options=b'\n\037build.bazel.remote.execution.v2B\024RemoteExecutionProtoP\001Z\017remoteexecution\242\002\003REX\252\002\037Build.Bazel.Remote.Execution.V2', + create_key=_descriptor._internal_create_key, serialized_pb=b'\n6build/bazel/remote/execution/v2/remote_execution.proto\x12\x1f\x62uild.bazel.remote.execution.v2\x1a\x1f\x62uild/bazel/semver/semver.proto\x1a\x1cgoogle/api/annotations.proto\x1a#google/longrunning/operations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x17google/rpc/status.proto\"\xdb\x01\n\x06\x41\x63tion\x12?\n\x0e\x63ommand_digest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x42\n\x11input_root_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12*\n\x07timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x14\n\x0c\x64o_not_cache\x18\x07 \x01(\x08J\x04\x08\x03\x10\x06J\x04\x08\x08\x10\t\"\xed\x02\n\x07\x43ommand\x12\x11\n\targuments\x18\x01 \x03(\t\x12[\n\x15\x65nvironment_variables\x18\x02 \x03(\x0b\x32<.build.bazel.remote.execution.v2.Command.EnvironmentVariable\x12\x14\n\x0coutput_files\x18\x03 \x03(\t\x12\x1a\n\x12output_directories\x18\x04 \x03(\t\x12\x14\n\x0coutput_paths\x18\x07 \x03(\t\x12;\n\x08platform\x18\x05 \x01(\x0b\x32).build.bazel.remote.execution.v2.Platform\x12\x19\n\x11working_directory\x18\x06 \x01(\t\x12\x1e\n\x16output_node_properties\x18\x08 \x03(\t\x1a\x32\n\x13\x45nvironmentVariable\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"{\n\x08Platform\x12\x46\n\nproperties\x18\x01 \x03(\x0b\x32\x32.build.bazel.remote.execution.v2.Platform.Property\x1a\'\n\x08Property\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\x9a\x02\n\tDirectory\x12\x38\n\x05\x66iles\x18\x01 \x03(\x0b\x32).build.bazel.remote.execution.v2.FileNode\x12\x43\n\x0b\x64irectories\x18\x02 \x03(\x0b\x32..build.bazel.remote.execution.v2.DirectoryNode\x12>\n\x08symlinks\x18\x03 \x03(\x0b\x32,.build.bazel.remote.execution.v2.SymlinkNode\x12H\n\x0fnode_properties\x18\x05 \x01(\x0b\x32/.build.bazel.remote.execution.v2.NodePropertiesJ\x04\x08\x04\x10\x05\"+\n\x0cNodeProperty\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xaf\x01\n\x0eNodeProperties\x12\x41\n\nproperties\x18\x01 \x03(\x0b\x32-.build.bazel.remote.execution.v2.NodeProperty\x12)\n\x05mtime\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\tunix_mode\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\"\xbe\x01\n\x08\x46ileNode\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x37\n\x06\x64igest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x15\n\ris_executable\x18\x04 \x01(\x08\x12H\n\x0fnode_properties\x18\x06 \x01(\x0b\x32/.build.bazel.remote.execution.v2.NodePropertiesJ\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06\"V\n\rDirectoryNode\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x37\n\x06\x64igest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"{\n\x0bSymlinkNode\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\t\x12H\n\x0fnode_properties\x18\x04 \x01(\x0b\x32/.build.bazel.remote.execution.v2.NodePropertiesJ\x04\x08\x03\x10\x04\"*\n\x06\x44igest\x12\x0c\n\x04hash\x18\x01 \x01(\t\x12\x12\n\nsize_bytes\x18\x02 \x01(\x03\"\xec\x04\n\x16\x45xecutedActionMetadata\x12\x0e\n\x06worker\x18\x01 \x01(\t\x12\x34\n\x10queued_timestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12:\n\x16worker_start_timestamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x1aworker_completed_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12?\n\x1binput_fetch_start_timestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x43\n\x1finput_fetch_completed_timestamp\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12=\n\x19\x65xecution_start_timestamp\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x41\n\x1d\x65xecution_completed_timestamp\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x41\n\x1doutput_upload_start_timestamp\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x45\n!output_upload_completed_timestamp\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x9f\x05\n\x0c\x41\x63tionResult\x12\x41\n\x0coutput_files\x18\x02 \x03(\x0b\x32+.build.bazel.remote.execution.v2.OutputFile\x12L\n\x14output_file_symlinks\x18\n \x03(\x0b\x32..build.bazel.remote.execution.v2.OutputSymlink\x12G\n\x0foutput_symlinks\x18\x0c \x03(\x0b\x32..build.bazel.remote.execution.v2.OutputSymlink\x12L\n\x12output_directories\x18\x03 \x03(\x0b\x32\x30.build.bazel.remote.execution.v2.OutputDirectory\x12Q\n\x19output_directory_symlinks\x18\x0b \x03(\x0b\x32..build.bazel.remote.execution.v2.OutputSymlink\x12\x11\n\texit_code\x18\x04 \x01(\x05\x12\x12\n\nstdout_raw\x18\x05 \x01(\x0c\x12>\n\rstdout_digest\x18\x06 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x12\n\nstderr_raw\x18\x07 \x01(\x0c\x12>\n\rstderr_digest\x18\x08 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12S\n\x12\x65xecution_metadata\x18\t \x01(\x0b\x32\x37.build.bazel.remote.execution.v2.ExecutedActionMetadataJ\x04\x08\x01\x10\x02\"\xd2\x01\n\nOutputFile\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x37\n\x06\x64igest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x15\n\ris_executable\x18\x04 \x01(\x08\x12\x10\n\x08\x63ontents\x18\x05 \x01(\x0c\x12H\n\x0fnode_properties\x18\x07 \x01(\x0b\x32/.build.bazel.remote.execution.v2.NodePropertiesJ\x04\x08\x03\x10\x04J\x04\x08\x06\x10\x07\"~\n\x04Tree\x12\x38\n\x04root\x18\x01 \x01(\x0b\x32*.build.bazel.remote.execution.v2.Directory\x12<\n\x08\x63hildren\x18\x02 \x03(\x0b\x32*.build.bazel.remote.execution.v2.Directory\"c\n\x0fOutputDirectory\x12\x0c\n\x04path\x18\x01 \x01(\t\x12<\n\x0btree_digest\x18\x03 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.DigestJ\x04\x08\x02\x10\x03\"}\n\rOutputSymlink\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0e\n\x06target\x18\x02 \x01(\t\x12H\n\x0fnode_properties\x18\x04 \x01(\x0b\x32/.build.bazel.remote.execution.v2.NodePropertiesJ\x04\x08\x03\x10\x04\"#\n\x0f\x45xecutionPolicy\x12\x10\n\x08priority\x18\x01 \x01(\x05\"&\n\x12ResultsCachePolicy\x12\x10\n\x08priority\x18\x01 \x01(\x05\"\xb3\x02\n\x0e\x45xecuteRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x19\n\x11skip_cache_lookup\x18\x03 \x01(\x08\x12>\n\raction_digest\x18\x06 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12J\n\x10\x65xecution_policy\x18\x07 \x01(\x0b\x32\x30.build.bazel.remote.execution.v2.ExecutionPolicy\x12Q\n\x14results_cache_policy\x18\x08 \x01(\x0b\x32\x33.build.bazel.remote.execution.v2.ResultsCachePolicyJ\x04\x08\x02\x10\x03J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06\"Z\n\x07LogFile\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x16\n\x0ehuman_readable\x18\x02 \x01(\x08\"\xd0\x02\n\x0f\x45xecuteResponse\x12=\n\x06result\x18\x01 \x01(\x0b\x32-.build.bazel.remote.execution.v2.ActionResult\x12\x15\n\rcached_result\x18\x02 \x01(\x08\x12\"\n\x06status\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12U\n\x0bserver_logs\x18\x04 \x03(\x0b\x32@.build.bazel.remote.execution.v2.ExecuteResponse.ServerLogsEntry\x12\x0f\n\x07message\x18\x05 \x01(\t\x1a[\n\x0fServerLogsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x37\n\x05value\x18\x02 \x01(\x0b\x32(.build.bazel.remote.execution.v2.LogFile:\x02\x38\x01\"a\n\x0e\x45xecutionStage\"O\n\x05Value\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0f\n\x0b\x43\x41\x43HE_CHECK\x10\x01\x12\n\n\x06QUEUED\x10\x02\x12\r\n\tEXECUTING\x10\x03\x12\r\n\tCOMPLETED\x10\x04\"\xd8\x01\n\x18\x45xecuteOperationMetadata\x12\x44\n\x05stage\x18\x01 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.ExecutionStage.Value\x12>\n\raction_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x1a\n\x12stdout_stream_name\x18\x03 \x01(\t\x12\x1a\n\x12stderr_stream_name\x18\x04 \x01(\t\"$\n\x14WaitExecutionRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xba\x01\n\x16GetActionResultRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12>\n\raction_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x15\n\rinline_stdout\x18\x03 \x01(\x08\x12\x15\n\rinline_stderr\x18\x04 \x01(\x08\x12\x1b\n\x13inline_output_files\x18\x05 \x03(\t\"\x8b\x02\n\x19UpdateActionResultRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12>\n\raction_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x44\n\raction_result\x18\x03 \x01(\x0b\x32-.build.bazel.remote.execution.v2.ActionResult\x12Q\n\x14results_cache_policy\x18\x04 \x01(\x0b\x32\x33.build.bazel.remote.execution.v2.ResultsCachePolicy\"o\n\x17\x46indMissingBlobsRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12=\n\x0c\x62lob_digests\x18\x02 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"a\n\x18\x46indMissingBlobsResponse\x12\x45\n\x14missing_blob_digests\x18\x02 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\xd6\x01\n\x17\x42\x61tchUpdateBlobsRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12R\n\x08requests\x18\x02 \x03(\x0b\x32@.build.bazel.remote.execution.v2.BatchUpdateBlobsRequest.Request\x1aP\n\x07Request\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\xda\x01\n\x18\x42\x61tchUpdateBlobsResponse\x12U\n\tresponses\x18\x01 \x03(\x0b\x32\x42.build.bazel.remote.execution.v2.BatchUpdateBlobsResponse.Response\x1ag\n\x08Response\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\"h\n\x15\x42\x61tchReadBlobsRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x38\n\x07\x64igests\x18\x02 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\xe4\x01\n\x16\x42\x61tchReadBlobsResponse\x12S\n\tresponses\x18\x01 \x03(\x0b\x32@.build.bazel.remote.execution.v2.BatchReadBlobsResponse.Response\x1au\n\x08Response\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\"\n\x06status\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\"\x8c\x01\n\x0eGetTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12<\n\x0broot_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"k\n\x0fGetTreeResponse\x12?\n\x0b\x64irectories\x18\x01 \x03(\x0b\x32*.build.bazel.remote.execution.v2.Directory\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"/\n\x16GetCapabilitiesRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\xe3\x02\n\x12ServerCapabilities\x12N\n\x12\x63\x61\x63he_capabilities\x18\x01 \x01(\x0b\x32\x32.build.bazel.remote.execution.v2.CacheCapabilities\x12V\n\x16\x65xecution_capabilities\x18\x02 \x01(\x0b\x32\x36.build.bazel.remote.execution.v2.ExecutionCapabilities\x12:\n\x16\x64\x65precated_api_version\x18\x03 \x01(\x0b\x32\x1a.build.bazel.semver.SemVer\x12\x33\n\x0flow_api_version\x18\x04 \x01(\x0b\x32\x1a.build.bazel.semver.SemVer\x12\x34\n\x10high_api_version\x18\x05 \x01(\x0b\x32\x1a.build.bazel.semver.SemVer\"f\n\x0e\x44igestFunction\"T\n\x05Value\x12\x0b\n\x07UNKNOWN\x10\x00\x12\n\n\x06SHA256\x10\x01\x12\x08\n\x04SHA1\x10\x02\x12\x07\n\x03MD5\x10\x03\x12\x07\n\x03VSO\x10\x04\x12\n\n\x06SHA384\x10\x05\x12\n\n\x06SHA512\x10\x06\"7\n\x1d\x41\x63tionCacheUpdateCapabilities\x12\x16\n\x0eupdate_enabled\x18\x01 \x01(\x08\"\xac\x01\n\x14PriorityCapabilities\x12W\n\npriorities\x18\x01 \x03(\x0b\x32\x43.build.bazel.remote.execution.v2.PriorityCapabilities.PriorityRange\x1a;\n\rPriorityRange\x12\x14\n\x0cmin_priority\x18\x01 \x01(\x05\x12\x14\n\x0cmax_priority\x18\x02 \x01(\x05\"P\n\x1bSymlinkAbsolutePathStrategy\"1\n\x05Value\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nDISALLOWED\x10\x01\x12\x0b\n\x07\x41LLOWED\x10\x02\"\xb9\x03\n\x11\x43\x61\x63heCapabilities\x12N\n\x0f\x64igest_function\x18\x01 \x03(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\x12h\n action_cache_update_capabilities\x18\x02 \x01(\x0b\x32>.build.bazel.remote.execution.v2.ActionCacheUpdateCapabilities\x12Z\n\x1b\x63\x61\x63he_priority_capabilities\x18\x03 \x01(\x0b\x32\x35.build.bazel.remote.execution.v2.PriorityCapabilities\x12\"\n\x1amax_batch_total_size_bytes\x18\x04 \x01(\x03\x12j\n\x1esymlink_absolute_path_strategy\x18\x05 \x01(\x0e\x32\x42.build.bazel.remote.execution.v2.SymlinkAbsolutePathStrategy.Value\"\x80\x02\n\x15\x45xecutionCapabilities\x12N\n\x0f\x64igest_function\x18\x01 \x01(\x0e\x32\x35.build.bazel.remote.execution.v2.DigestFunction.Value\x12\x14\n\x0c\x65xec_enabled\x18\x02 \x01(\x08\x12^\n\x1f\x65xecution_priority_capabilities\x18\x03 \x01(\x0b\x32\x35.build.bazel.remote.execution.v2.PriorityCapabilities\x12!\n\x19supported_node_properties\x18\x04 \x03(\t\"6\n\x0bToolDetails\x12\x11\n\ttool_name\x18\x01 \x01(\t\x12\x14\n\x0ctool_version\x18\x02 \x01(\t\"\xa7\x01\n\x0fRequestMetadata\x12\x42\n\x0ctool_details\x18\x01 \x01(\x0b\x32,.build.bazel.remote.execution.v2.ToolDetails\x12\x11\n\taction_id\x18\x02 \x01(\t\x12\x1a\n\x12tool_invocation_id\x18\x03 \x01(\t\x12!\n\x19\x63orrelated_invocations_id\x18\x04 \x01(\t2\xb9\x02\n\tExecution\x12\x8e\x01\n\x07\x45xecute\x12/.build.bazel.remote.execution.v2.ExecuteRequest\x1a\x1d.google.longrunning.Operation\"1\x82\xd3\xe4\x93\x02+\"&/v2/{instance_name=**}/actions:execute:\x01*0\x01\x12\x9a\x01\n\rWaitExecution\x12\x35.build.bazel.remote.execution.v2.WaitExecutionRequest\x1a\x1d.google.longrunning.Operation\"1\x82\xd3\xe4\x93\x02+\"&/v2/{name=operations/**}:waitExecution:\x01*0\x01\x32\xd6\x03\n\x0b\x41\x63tionCache\x12\xd7\x01\n\x0fGetActionResult\x12\x37.build.bazel.remote.execution.v2.GetActionResultRequest\x1a-.build.bazel.remote.execution.v2.ActionResult\"\\\x82\xd3\xe4\x93\x02V\x12T/v2/{instance_name=**}/actionResults/{action_digest.hash}/{action_digest.size_bytes}\x12\xec\x01\n\x12UpdateActionResult\x12:.build.bazel.remote.execution.v2.UpdateActionResultRequest\x1a-.build.bazel.remote.execution.v2.ActionResult\"k\x82\xd3\xe4\x93\x02\x65\x1aT/v2/{instance_name=**}/actionResults/{action_digest.hash}/{action_digest.size_bytes}:\raction_result2\x9b\x06\n\x19\x43ontentAddressableStorage\x12\xbc\x01\n\x10\x46indMissingBlobs\x12\x38.build.bazel.remote.execution.v2.FindMissingBlobsRequest\x1a\x39.build.bazel.remote.execution.v2.FindMissingBlobsResponse\"3\x82\xd3\xe4\x93\x02-\"(/v2/{instance_name=**}/blobs:findMissing:\x01*\x12\xbc\x01\n\x10\x42\x61tchUpdateBlobs\x12\x38.build.bazel.remote.execution.v2.BatchUpdateBlobsRequest\x1a\x39.build.bazel.remote.execution.v2.BatchUpdateBlobsResponse\"3\x82\xd3\xe4\x93\x02-\"(/v2/{instance_name=**}/blobs:batchUpdate:\x01*\x12\xb4\x01\n\x0e\x42\x61tchReadBlobs\x12\x36.build.bazel.remote.execution.v2.BatchReadBlobsRequest\x1a\x37.build.bazel.remote.execution.v2.BatchReadBlobsResponse\"1\x82\xd3\xe4\x93\x02+\"&/v2/{instance_name=**}/blobs:batchRead:\x01*\x12\xc8\x01\n\x07GetTree\x12/.build.bazel.remote.execution.v2.GetTreeRequest\x1a\x30.build.bazel.remote.execution.v2.GetTreeResponse\"X\x82\xd3\xe4\x93\x02R\x12P/v2/{instance_name=**}/blobs/{root_digest.hash}/{root_digest.size_bytes}:getTree0\x01\x32\xbd\x01\n\x0c\x43\x61pabilities\x12\xac\x01\n\x0fGetCapabilities\x12\x37.build.bazel.remote.execution.v2.GetCapabilitiesRequest\x1a\x33.build.bazel.remote.execution.v2.ServerCapabilities\"+\x82\xd3\xe4\x93\x02%\x12#/v2/{instance_name=**}/capabilitiesBr\n\x1f\x62uild.bazel.remote.execution.v2B\x14RemoteExecutionProtoP\x01Z\x0fremoteexecution\xa2\x02\x03REX\xaa\x02\x1f\x42uild.Bazel.Remote.Execution.V2b\x06proto3' , dependencies=[build_dot_bazel_dot_semver_dot_semver__pb2.DESCRIPTOR,google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_longrunning_dot_operations__pb2.DESCRIPTOR,google_dot_protobuf_dot_duration__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,google_dot_rpc_dot_status__pb2.DESCRIPTOR,]) @@ -36,27 +37,33 @@ _EXECUTIONSTAGE_VALUE = _descriptor.EnumDescriptor( full_name='build.bazel.remote.execution.v2.ExecutionStage.Value', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name='UNKNOWN', index=0, number=0, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='CACHE_CHECK', index=1, number=1, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='QUEUED', index=2, number=2, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='EXECUTING', index=3, number=3, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='COMPLETED', index=4, number=4, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, @@ -70,35 +77,43 @@ _DIGESTFUNCTION_VALUE = _descriptor.EnumDescriptor( full_name='build.bazel.remote.execution.v2.DigestFunction.Value', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name='UNKNOWN', index=0, number=0, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='SHA256', index=1, number=1, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='SHA1', index=2, number=2, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='MD5', index=3, number=3, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='VSO', index=4, number=4, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='SHA384', index=5, number=5, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='SHA512', index=6, number=6, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, @@ -112,19 +127,23 @@ _SYMLINKABSOLUTEPATHSTRATEGY_VALUE = _descriptor.EnumDescriptor( full_name='build.bazel.remote.execution.v2.SymlinkAbsolutePathStrategy.Value', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name='UNKNOWN', index=0, number=0, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='DISALLOWED', index=1, number=1, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='ALLOWED', index=2, number=2, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, @@ -140,6 +159,7 @@ _ACTION = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='command_digest', full_name='build.bazel.remote.execution.v2.Action.command_digest', index=0, @@ -147,28 +167,28 @@ _ACTION = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='input_root_digest', full_name='build.bazel.remote.execution.v2.Action.input_root_digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='timeout', full_name='build.bazel.remote.execution.v2.Action.timeout', index=2, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='do_not_cache', full_name='build.bazel.remote.execution.v2.Action.do_not_cache', index=3, number=7, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -192,6 +212,7 @@ _COMMAND_ENVIRONMENTVARIABLE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='build.bazel.remote.execution.v2.Command.EnvironmentVariable.name', index=0, @@ -199,14 +220,14 @@ _COMMAND_ENVIRONMENTVARIABLE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='build.bazel.remote.execution.v2.Command.EnvironmentVariable.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -229,6 +250,7 @@ _COMMAND = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='arguments', full_name='build.bazel.remote.execution.v2.Command.arguments', index=0, @@ -236,56 +258,56 @@ _COMMAND = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='environment_variables', full_name='build.bazel.remote.execution.v2.Command.environment_variables', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='output_files', full_name='build.bazel.remote.execution.v2.Command.output_files', index=2, number=3, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='output_directories', full_name='build.bazel.remote.execution.v2.Command.output_directories', index=3, number=4, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='output_paths', full_name='build.bazel.remote.execution.v2.Command.output_paths', index=4, number=7, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='platform', full_name='build.bazel.remote.execution.v2.Command.platform', index=5, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='working_directory', full_name='build.bazel.remote.execution.v2.Command.working_directory', index=6, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='output_node_properties', full_name='build.bazel.remote.execution.v2.Command.output_node_properties', index=7, number=8, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -309,6 +331,7 @@ _PLATFORM_PROPERTY = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='build.bazel.remote.execution.v2.Platform.Property.name', index=0, @@ -316,14 +339,14 @@ _PLATFORM_PROPERTY = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='build.bazel.remote.execution.v2.Platform.Property.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -346,6 +369,7 @@ _PLATFORM = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='properties', full_name='build.bazel.remote.execution.v2.Platform.properties', index=0, @@ -353,7 +377,7 @@ _PLATFORM = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -377,6 +401,7 @@ _DIRECTORY = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='files', full_name='build.bazel.remote.execution.v2.Directory.files', index=0, @@ -384,28 +409,28 @@ _DIRECTORY = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='directories', full_name='build.bazel.remote.execution.v2.Directory.directories', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='symlinks', full_name='build.bazel.remote.execution.v2.Directory.symlinks', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='node_properties', full_name='build.bazel.remote.execution.v2.Directory.node_properties', index=3, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -429,6 +454,7 @@ _NODEPROPERTY = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='build.bazel.remote.execution.v2.NodeProperty.name', index=0, @@ -436,14 +462,14 @@ _NODEPROPERTY = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='build.bazel.remote.execution.v2.NodeProperty.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -467,6 +493,7 @@ _NODEPROPERTIES = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='properties', full_name='build.bazel.remote.execution.v2.NodeProperties.properties', index=0, @@ -474,21 +501,21 @@ _NODEPROPERTIES = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='mtime', full_name='build.bazel.remote.execution.v2.NodeProperties.mtime', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='unix_mode', full_name='build.bazel.remote.execution.v2.NodeProperties.unix_mode', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -512,6 +539,7 @@ _FILENODE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='build.bazel.remote.execution.v2.FileNode.name', index=0, @@ -519,28 +547,28 @@ _FILENODE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='digest', full_name='build.bazel.remote.execution.v2.FileNode.digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='is_executable', full_name='build.bazel.remote.execution.v2.FileNode.is_executable', index=2, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='node_properties', full_name='build.bazel.remote.execution.v2.FileNode.node_properties', index=3, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -564,6 +592,7 @@ _DIRECTORYNODE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='build.bazel.remote.execution.v2.DirectoryNode.name', index=0, @@ -571,14 +600,14 @@ _DIRECTORYNODE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='digest', full_name='build.bazel.remote.execution.v2.DirectoryNode.digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -602,6 +631,7 @@ _SYMLINKNODE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='build.bazel.remote.execution.v2.SymlinkNode.name', index=0, @@ -609,21 +639,21 @@ _SYMLINKNODE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='target', full_name='build.bazel.remote.execution.v2.SymlinkNode.target', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='node_properties', full_name='build.bazel.remote.execution.v2.SymlinkNode.node_properties', index=2, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -647,6 +677,7 @@ _DIGEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='hash', full_name='build.bazel.remote.execution.v2.Digest.hash', index=0, @@ -654,14 +685,14 @@ _DIGEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='size_bytes', full_name='build.bazel.remote.execution.v2.Digest.size_bytes', index=1, number=2, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -685,6 +716,7 @@ _EXECUTEDACTIONMETADATA = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='worker', full_name='build.bazel.remote.execution.v2.ExecutedActionMetadata.worker', index=0, @@ -692,70 +724,70 @@ _EXECUTEDACTIONMETADATA = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='queued_timestamp', full_name='build.bazel.remote.execution.v2.ExecutedActionMetadata.queued_timestamp', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='worker_start_timestamp', full_name='build.bazel.remote.execution.v2.ExecutedActionMetadata.worker_start_timestamp', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='worker_completed_timestamp', full_name='build.bazel.remote.execution.v2.ExecutedActionMetadata.worker_completed_timestamp', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='input_fetch_start_timestamp', full_name='build.bazel.remote.execution.v2.ExecutedActionMetadata.input_fetch_start_timestamp', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='input_fetch_completed_timestamp', full_name='build.bazel.remote.execution.v2.ExecutedActionMetadata.input_fetch_completed_timestamp', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='execution_start_timestamp', full_name='build.bazel.remote.execution.v2.ExecutedActionMetadata.execution_start_timestamp', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='execution_completed_timestamp', full_name='build.bazel.remote.execution.v2.ExecutedActionMetadata.execution_completed_timestamp', index=7, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='output_upload_start_timestamp', full_name='build.bazel.remote.execution.v2.ExecutedActionMetadata.output_upload_start_timestamp', index=8, number=9, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='output_upload_completed_timestamp', full_name='build.bazel.remote.execution.v2.ExecutedActionMetadata.output_upload_completed_timestamp', index=9, number=10, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -779,6 +811,7 @@ _ACTIONRESULT = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='output_files', full_name='build.bazel.remote.execution.v2.ActionResult.output_files', index=0, @@ -786,77 +819,77 @@ _ACTIONRESULT = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='output_file_symlinks', full_name='build.bazel.remote.execution.v2.ActionResult.output_file_symlinks', index=1, number=10, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='output_symlinks', full_name='build.bazel.remote.execution.v2.ActionResult.output_symlinks', index=2, number=12, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='output_directories', full_name='build.bazel.remote.execution.v2.ActionResult.output_directories', index=3, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='output_directory_symlinks', full_name='build.bazel.remote.execution.v2.ActionResult.output_directory_symlinks', index=4, number=11, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='exit_code', full_name='build.bazel.remote.execution.v2.ActionResult.exit_code', index=5, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='stdout_raw', full_name='build.bazel.remote.execution.v2.ActionResult.stdout_raw', index=6, number=5, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='stdout_digest', full_name='build.bazel.remote.execution.v2.ActionResult.stdout_digest', index=7, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='stderr_raw', full_name='build.bazel.remote.execution.v2.ActionResult.stderr_raw', index=8, number=7, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='stderr_digest', full_name='build.bazel.remote.execution.v2.ActionResult.stderr_digest', index=9, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='execution_metadata', full_name='build.bazel.remote.execution.v2.ActionResult.execution_metadata', index=10, number=9, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -880,6 +913,7 @@ _OUTPUTFILE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='path', full_name='build.bazel.remote.execution.v2.OutputFile.path', index=0, @@ -887,35 +921,35 @@ _OUTPUTFILE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='digest', full_name='build.bazel.remote.execution.v2.OutputFile.digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='is_executable', full_name='build.bazel.remote.execution.v2.OutputFile.is_executable', index=2, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='contents', full_name='build.bazel.remote.execution.v2.OutputFile.contents', index=3, number=5, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='node_properties', full_name='build.bazel.remote.execution.v2.OutputFile.node_properties', index=4, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -939,6 +973,7 @@ _TREE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='root', full_name='build.bazel.remote.execution.v2.Tree.root', index=0, @@ -946,14 +981,14 @@ _TREE = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='children', full_name='build.bazel.remote.execution.v2.Tree.children', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -977,6 +1012,7 @@ _OUTPUTDIRECTORY = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='path', full_name='build.bazel.remote.execution.v2.OutputDirectory.path', index=0, @@ -984,14 +1020,14 @@ _OUTPUTDIRECTORY = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='tree_digest', full_name='build.bazel.remote.execution.v2.OutputDirectory.tree_digest', index=1, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1015,6 +1051,7 @@ _OUTPUTSYMLINK = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='path', full_name='build.bazel.remote.execution.v2.OutputSymlink.path', index=0, @@ -1022,21 +1059,21 @@ _OUTPUTSYMLINK = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='target', full_name='build.bazel.remote.execution.v2.OutputSymlink.target', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='node_properties', full_name='build.bazel.remote.execution.v2.OutputSymlink.node_properties', index=2, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1060,6 +1097,7 @@ _EXECUTIONPOLICY = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='priority', full_name='build.bazel.remote.execution.v2.ExecutionPolicy.priority', index=0, @@ -1067,7 +1105,7 @@ _EXECUTIONPOLICY = _descriptor.Descriptor( has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1091,6 +1129,7 @@ _RESULTSCACHEPOLICY = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='priority', full_name='build.bazel.remote.execution.v2.ResultsCachePolicy.priority', index=0, @@ -1098,7 +1137,7 @@ _RESULTSCACHEPOLICY = _descriptor.Descriptor( has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1122,6 +1161,7 @@ _EXECUTEREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.bazel.remote.execution.v2.ExecuteRequest.instance_name', index=0, @@ -1129,35 +1169,35 @@ _EXECUTEREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='skip_cache_lookup', full_name='build.bazel.remote.execution.v2.ExecuteRequest.skip_cache_lookup', index=1, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='action_digest', full_name='build.bazel.remote.execution.v2.ExecuteRequest.action_digest', index=2, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='execution_policy', full_name='build.bazel.remote.execution.v2.ExecuteRequest.execution_policy', index=3, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='results_cache_policy', full_name='build.bazel.remote.execution.v2.ExecuteRequest.results_cache_policy', index=4, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1181,6 +1221,7 @@ _LOGFILE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='digest', full_name='build.bazel.remote.execution.v2.LogFile.digest', index=0, @@ -1188,14 +1229,14 @@ _LOGFILE = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='human_readable', full_name='build.bazel.remote.execution.v2.LogFile.human_readable', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1219,6 +1260,7 @@ _EXECUTERESPONSE_SERVERLOGSENTRY = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='key', full_name='build.bazel.remote.execution.v2.ExecuteResponse.ServerLogsEntry.key', index=0, @@ -1226,14 +1268,14 @@ _EXECUTERESPONSE_SERVERLOGSENTRY = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='value', full_name='build.bazel.remote.execution.v2.ExecuteResponse.ServerLogsEntry.value', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1256,6 +1298,7 @@ _EXECUTERESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='result', full_name='build.bazel.remote.execution.v2.ExecuteResponse.result', index=0, @@ -1263,35 +1306,35 @@ _EXECUTERESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='cached_result', full_name='build.bazel.remote.execution.v2.ExecuteResponse.cached_result', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='status', full_name='build.bazel.remote.execution.v2.ExecuteResponse.status', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='server_logs', full_name='build.bazel.remote.execution.v2.ExecuteResponse.server_logs', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='message', full_name='build.bazel.remote.execution.v2.ExecuteResponse.message', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1315,6 +1358,7 @@ _EXECUTIONSTAGE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -1340,6 +1384,7 @@ _EXECUTEOPERATIONMETADATA = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='stage', full_name='build.bazel.remote.execution.v2.ExecuteOperationMetadata.stage', index=0, @@ -1347,28 +1392,28 @@ _EXECUTEOPERATIONMETADATA = _descriptor.Descriptor( has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='action_digest', full_name='build.bazel.remote.execution.v2.ExecuteOperationMetadata.action_digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='stdout_stream_name', full_name='build.bazel.remote.execution.v2.ExecuteOperationMetadata.stdout_stream_name', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='stderr_stream_name', full_name='build.bazel.remote.execution.v2.ExecuteOperationMetadata.stderr_stream_name', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1392,6 +1437,7 @@ _WAITEXECUTIONREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='build.bazel.remote.execution.v2.WaitExecutionRequest.name', index=0, @@ -1399,7 +1445,7 @@ _WAITEXECUTIONREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1423,6 +1469,7 @@ _GETACTIONRESULTREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.bazel.remote.execution.v2.GetActionResultRequest.instance_name', index=0, @@ -1430,35 +1477,35 @@ _GETACTIONRESULTREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='action_digest', full_name='build.bazel.remote.execution.v2.GetActionResultRequest.action_digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='inline_stdout', full_name='build.bazel.remote.execution.v2.GetActionResultRequest.inline_stdout', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='inline_stderr', full_name='build.bazel.remote.execution.v2.GetActionResultRequest.inline_stderr', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='inline_output_files', full_name='build.bazel.remote.execution.v2.GetActionResultRequest.inline_output_files', index=4, number=5, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1482,6 +1529,7 @@ _UPDATEACTIONRESULTREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.bazel.remote.execution.v2.UpdateActionResultRequest.instance_name', index=0, @@ -1489,28 +1537,28 @@ _UPDATEACTIONRESULTREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='action_digest', full_name='build.bazel.remote.execution.v2.UpdateActionResultRequest.action_digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='action_result', full_name='build.bazel.remote.execution.v2.UpdateActionResultRequest.action_result', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='results_cache_policy', full_name='build.bazel.remote.execution.v2.UpdateActionResultRequest.results_cache_policy', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1534,6 +1582,7 @@ _FINDMISSINGBLOBSREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.bazel.remote.execution.v2.FindMissingBlobsRequest.instance_name', index=0, @@ -1541,14 +1590,14 @@ _FINDMISSINGBLOBSREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='blob_digests', full_name='build.bazel.remote.execution.v2.FindMissingBlobsRequest.blob_digests', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1572,6 +1621,7 @@ _FINDMISSINGBLOBSRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='missing_blob_digests', full_name='build.bazel.remote.execution.v2.FindMissingBlobsResponse.missing_blob_digests', index=0, @@ -1579,7 +1629,7 @@ _FINDMISSINGBLOBSRESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1603,6 +1653,7 @@ _BATCHUPDATEBLOBSREQUEST_REQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='digest', full_name='build.bazel.remote.execution.v2.BatchUpdateBlobsRequest.Request.digest', index=0, @@ -1610,14 +1661,14 @@ _BATCHUPDATEBLOBSREQUEST_REQUEST = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='data', full_name='build.bazel.remote.execution.v2.BatchUpdateBlobsRequest.Request.data', index=1, number=2, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1640,6 +1691,7 @@ _BATCHUPDATEBLOBSREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.bazel.remote.execution.v2.BatchUpdateBlobsRequest.instance_name', index=0, @@ -1647,14 +1699,14 @@ _BATCHUPDATEBLOBSREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='requests', full_name='build.bazel.remote.execution.v2.BatchUpdateBlobsRequest.requests', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1678,6 +1730,7 @@ _BATCHUPDATEBLOBSRESPONSE_RESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='digest', full_name='build.bazel.remote.execution.v2.BatchUpdateBlobsResponse.Response.digest', index=0, @@ -1685,14 +1738,14 @@ _BATCHUPDATEBLOBSRESPONSE_RESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='status', full_name='build.bazel.remote.execution.v2.BatchUpdateBlobsResponse.Response.status', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1715,6 +1768,7 @@ _BATCHUPDATEBLOBSRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='responses', full_name='build.bazel.remote.execution.v2.BatchUpdateBlobsResponse.responses', index=0, @@ -1722,7 +1776,7 @@ _BATCHUPDATEBLOBSRESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1746,6 +1800,7 @@ _BATCHREADBLOBSREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.bazel.remote.execution.v2.BatchReadBlobsRequest.instance_name', index=0, @@ -1753,14 +1808,14 @@ _BATCHREADBLOBSREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='digests', full_name='build.bazel.remote.execution.v2.BatchReadBlobsRequest.digests', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1784,6 +1839,7 @@ _BATCHREADBLOBSRESPONSE_RESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='digest', full_name='build.bazel.remote.execution.v2.BatchReadBlobsResponse.Response.digest', index=0, @@ -1791,21 +1847,21 @@ _BATCHREADBLOBSRESPONSE_RESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='data', full_name='build.bazel.remote.execution.v2.BatchReadBlobsResponse.Response.data', index=1, number=2, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='status', full_name='build.bazel.remote.execution.v2.BatchReadBlobsResponse.Response.status', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1828,6 +1884,7 @@ _BATCHREADBLOBSRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='responses', full_name='build.bazel.remote.execution.v2.BatchReadBlobsResponse.responses', index=0, @@ -1835,7 +1892,7 @@ _BATCHREADBLOBSRESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1859,6 +1916,7 @@ _GETTREEREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.bazel.remote.execution.v2.GetTreeRequest.instance_name', index=0, @@ -1866,28 +1924,28 @@ _GETTREEREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='root_digest', full_name='build.bazel.remote.execution.v2.GetTreeRequest.root_digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='page_size', full_name='build.bazel.remote.execution.v2.GetTreeRequest.page_size', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='page_token', full_name='build.bazel.remote.execution.v2.GetTreeRequest.page_token', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1911,6 +1969,7 @@ _GETTREERESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='directories', full_name='build.bazel.remote.execution.v2.GetTreeResponse.directories', index=0, @@ -1918,14 +1977,14 @@ _GETTREERESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='next_page_token', full_name='build.bazel.remote.execution.v2.GetTreeResponse.next_page_token', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1949,6 +2008,7 @@ _GETCAPABILITIESREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.bazel.remote.execution.v2.GetCapabilitiesRequest.instance_name', index=0, @@ -1956,7 +2016,7 @@ _GETCAPABILITIESREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1980,6 +2040,7 @@ _SERVERCAPABILITIES = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='cache_capabilities', full_name='build.bazel.remote.execution.v2.ServerCapabilities.cache_capabilities', index=0, @@ -1987,35 +2048,35 @@ _SERVERCAPABILITIES = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='execution_capabilities', full_name='build.bazel.remote.execution.v2.ServerCapabilities.execution_capabilities', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='deprecated_api_version', full_name='build.bazel.remote.execution.v2.ServerCapabilities.deprecated_api_version', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='low_api_version', full_name='build.bazel.remote.execution.v2.ServerCapabilities.low_api_version', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='high_api_version', full_name='build.bazel.remote.execution.v2.ServerCapabilities.high_api_version', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -2039,6 +2100,7 @@ _DIGESTFUNCTION = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -2064,6 +2126,7 @@ _ACTIONCACHEUPDATECAPABILITIES = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='update_enabled', full_name='build.bazel.remote.execution.v2.ActionCacheUpdateCapabilities.update_enabled', index=0, @@ -2071,7 +2134,7 @@ _ACTIONCACHEUPDATECAPABILITIES = _descriptor.Descriptor( has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -2095,6 +2158,7 @@ _PRIORITYCAPABILITIES_PRIORITYRANGE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='min_priority', full_name='build.bazel.remote.execution.v2.PriorityCapabilities.PriorityRange.min_priority', index=0, @@ -2102,14 +2166,14 @@ _PRIORITYCAPABILITIES_PRIORITYRANGE = _descriptor.Descriptor( has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='max_priority', full_name='build.bazel.remote.execution.v2.PriorityCapabilities.PriorityRange.max_priority', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -2132,6 +2196,7 @@ _PRIORITYCAPABILITIES = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='priorities', full_name='build.bazel.remote.execution.v2.PriorityCapabilities.priorities', index=0, @@ -2139,7 +2204,7 @@ _PRIORITYCAPABILITIES = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -2163,6 +2228,7 @@ _SYMLINKABSOLUTEPATHSTRATEGY = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -2188,6 +2254,7 @@ _CACHECAPABILITIES = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='digest_function', full_name='build.bazel.remote.execution.v2.CacheCapabilities.digest_function', index=0, @@ -2195,35 +2262,35 @@ _CACHECAPABILITIES = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='action_cache_update_capabilities', full_name='build.bazel.remote.execution.v2.CacheCapabilities.action_cache_update_capabilities', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='cache_priority_capabilities', full_name='build.bazel.remote.execution.v2.CacheCapabilities.cache_priority_capabilities', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='max_batch_total_size_bytes', full_name='build.bazel.remote.execution.v2.CacheCapabilities.max_batch_total_size_bytes', index=3, number=4, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='symlink_absolute_path_strategy', full_name='build.bazel.remote.execution.v2.CacheCapabilities.symlink_absolute_path_strategy', index=4, number=5, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -2247,6 +2314,7 @@ _EXECUTIONCAPABILITIES = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='digest_function', full_name='build.bazel.remote.execution.v2.ExecutionCapabilities.digest_function', index=0, @@ -2254,28 +2322,28 @@ _EXECUTIONCAPABILITIES = _descriptor.Descriptor( has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='exec_enabled', full_name='build.bazel.remote.execution.v2.ExecutionCapabilities.exec_enabled', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='execution_priority_capabilities', full_name='build.bazel.remote.execution.v2.ExecutionCapabilities.execution_priority_capabilities', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='supported_node_properties', full_name='build.bazel.remote.execution.v2.ExecutionCapabilities.supported_node_properties', index=3, number=4, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -2299,6 +2367,7 @@ _TOOLDETAILS = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='tool_name', full_name='build.bazel.remote.execution.v2.ToolDetails.tool_name', index=0, @@ -2306,14 +2375,14 @@ _TOOLDETAILS = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='tool_version', full_name='build.bazel.remote.execution.v2.ToolDetails.tool_version', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -2337,6 +2406,7 @@ _REQUESTMETADATA = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='tool_details', full_name='build.bazel.remote.execution.v2.RequestMetadata.tool_details', index=0, @@ -2344,28 +2414,28 @@ _REQUESTMETADATA = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='action_id', full_name='build.bazel.remote.execution.v2.RequestMetadata.action_id', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='tool_invocation_id', full_name='build.bazel.remote.execution.v2.RequestMetadata.tool_invocation_id', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='correlated_invocations_id', full_name='build.bazel.remote.execution.v2.RequestMetadata.correlated_invocations_id', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -2892,6 +2962,7 @@ _EXECUTION = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_start=8479, serialized_end=8792, methods=[ @@ -2903,6 +2974,7 @@ _EXECUTION = _descriptor.ServiceDescriptor( input_type=_EXECUTEREQUEST, output_type=google_dot_longrunning_dot_operations__pb2._OPERATION, serialized_options=b'\202\323\344\223\002+\"&/v2/{instance_name=**}/actions:execute:\001*', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='WaitExecution', @@ -2912,6 +2984,7 @@ _EXECUTION = _descriptor.ServiceDescriptor( input_type=_WAITEXECUTIONREQUEST, output_type=google_dot_longrunning_dot_operations__pb2._OPERATION, serialized_options=b'\202\323\344\223\002+\"&/v2/{name=operations/**}:waitExecution:\001*', + create_key=_descriptor._internal_create_key, ), ]) _sym_db.RegisterServiceDescriptor(_EXECUTION) @@ -2925,6 +2998,7 @@ _ACTIONCACHE = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=1, serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_start=8795, serialized_end=9265, methods=[ @@ -2936,6 +3010,7 @@ _ACTIONCACHE = _descriptor.ServiceDescriptor( input_type=_GETACTIONRESULTREQUEST, output_type=_ACTIONRESULT, serialized_options=b'\202\323\344\223\002V\022T/v2/{instance_name=**}/actionResults/{action_digest.hash}/{action_digest.size_bytes}', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='UpdateActionResult', @@ -2945,6 +3020,7 @@ _ACTIONCACHE = _descriptor.ServiceDescriptor( input_type=_UPDATEACTIONRESULTREQUEST, output_type=_ACTIONRESULT, serialized_options=b'\202\323\344\223\002e\032T/v2/{instance_name=**}/actionResults/{action_digest.hash}/{action_digest.size_bytes}:\raction_result', + create_key=_descriptor._internal_create_key, ), ]) _sym_db.RegisterServiceDescriptor(_ACTIONCACHE) @@ -2958,6 +3034,7 @@ _CONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=2, serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_start=9268, serialized_end=10063, methods=[ @@ -2969,6 +3046,7 @@ _CONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_FINDMISSINGBLOBSREQUEST, output_type=_FINDMISSINGBLOBSRESPONSE, serialized_options=b'\202\323\344\223\002-\"(/v2/{instance_name=**}/blobs:findMissing:\001*', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='BatchUpdateBlobs', @@ -2978,6 +3056,7 @@ _CONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_BATCHUPDATEBLOBSREQUEST, output_type=_BATCHUPDATEBLOBSRESPONSE, serialized_options=b'\202\323\344\223\002-\"(/v2/{instance_name=**}/blobs:batchUpdate:\001*', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='BatchReadBlobs', @@ -2987,6 +3066,7 @@ _CONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_BATCHREADBLOBSREQUEST, output_type=_BATCHREADBLOBSRESPONSE, serialized_options=b'\202\323\344\223\002+\"&/v2/{instance_name=**}/blobs:batchRead:\001*', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='GetTree', @@ -2996,6 +3076,7 @@ _CONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_GETTREEREQUEST, output_type=_GETTREERESPONSE, serialized_options=b'\202\323\344\223\002R\022P/v2/{instance_name=**}/blobs/{root_digest.hash}/{root_digest.size_bytes}:getTree', + create_key=_descriptor._internal_create_key, ), ]) _sym_db.RegisterServiceDescriptor(_CONTENTADDRESSABLESTORAGE) @@ -3009,6 +3090,7 @@ _CAPABILITIES = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=3, serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_start=10066, serialized_end=10255, methods=[ @@ -3020,6 +3102,7 @@ _CAPABILITIES = _descriptor.ServiceDescriptor( input_type=_GETCAPABILITIESREQUEST, output_type=_SERVERCAPABILITIES, serialized_options=b'\202\323\344\223\002%\022#/v2/{instance_name=**}/capabilities', + create_key=_descriptor._internal_create_key, ), ]) _sym_db.RegisterServiceDescriptor(_CAPABILITIES) diff --git a/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc.py b/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc.py index 19e3d337a..050eb8d7d 100644 --- a/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc.py +++ b/src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc.py @@ -1,4 +1,5 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc from buildstream._protos.build.bazel.remote.execution.v2 import remote_execution_pb2 as build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2 @@ -163,6 +164,7 @@ class Execution(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -171,7 +173,7 @@ class Execution(object): build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.ExecuteRequest.SerializeToString, google_dot_longrunning_dot_operations__pb2.Operation.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def WaitExecution(request, @@ -179,6 +181,7 @@ class Execution(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -187,7 +190,7 @@ class Execution(object): build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.WaitExecutionRequest.SerializeToString, google_dot_longrunning_dot_operations__pb2.Operation.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) class ActionCacheStub(object): @@ -331,6 +334,7 @@ class ActionCache(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -339,7 +343,7 @@ class ActionCache(object): build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.GetActionResultRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.ActionResult.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def UpdateActionResult(request, @@ -347,6 +351,7 @@ class ActionCache(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -355,7 +360,7 @@ class ActionCache(object): build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.UpdateActionResultRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.ActionResult.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) class ContentAddressableStorageStub(object): @@ -747,6 +752,7 @@ class ContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -755,7 +761,7 @@ class ContentAddressableStorage(object): build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.FindMissingBlobsRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.FindMissingBlobsResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def BatchUpdateBlobs(request, @@ -763,6 +769,7 @@ class ContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -771,7 +778,7 @@ class ContentAddressableStorage(object): build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.BatchUpdateBlobsRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.BatchUpdateBlobsResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def BatchReadBlobs(request, @@ -779,6 +786,7 @@ class ContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -787,7 +795,7 @@ class ContentAddressableStorage(object): build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.BatchReadBlobsRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.BatchReadBlobsResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def GetTree(request, @@ -795,6 +803,7 @@ class ContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -803,7 +812,7 @@ class ContentAddressableStorage(object): build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.GetTreeRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.GetTreeResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) class CapabilitiesStub(object): @@ -881,6 +890,7 @@ class Capabilities(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -889,4 +899,4 @@ class Capabilities(object): build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.GetCapabilitiesRequest.SerializeToString, build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.ServerCapabilities.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/src/buildstream/_protos/build/bazel/semver/semver_pb2.py b/src/buildstream/_protos/build/bazel/semver/semver_pb2.py index 92f5b6371..ba5cf0c50 100644 --- a/src/buildstream/_protos/build/bazel/semver/semver_pb2.py +++ b/src/buildstream/_protos/build/bazel/semver/semver_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: build/bazel/semver/semver.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -18,6 +18,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='build.bazel.semver', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1f\x62uild/bazel/semver/semver.proto\x12\x12\x62uild.bazel.semver\"I\n\x06SemVer\x12\r\n\x05major\x18\x01 \x01(\x05\x12\r\n\x05minor\x18\x02 \x01(\x05\x12\r\n\x05patch\x18\x03 \x01(\x05\x12\x12\n\nprerelease\x18\x04 \x01(\tb\x06proto3' ) @@ -30,6 +31,7 @@ _SEMVER = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='major', full_name='build.bazel.semver.SemVer.major', index=0, @@ -37,28 +39,28 @@ _SEMVER = _descriptor.Descriptor( has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='minor', full_name='build.bazel.semver.SemVer.minor', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='patch', full_name='build.bazel.semver.SemVer.patch', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='prerelease', full_name='build.bazel.semver.SemVer.prerelease', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/src/buildstream/_protos/build/bazel/semver/semver_pb2_grpc.py b/src/buildstream/_protos/build/bazel/semver/semver_pb2_grpc.py index a89435267..2daafffeb 100644 --- a/src/buildstream/_protos/build/bazel/semver/semver_pb2_grpc.py +++ b/src/buildstream/_protos/build/bazel/semver/semver_pb2_grpc.py @@ -1,3 +1,4 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc diff --git a/src/buildstream/_protos/build/buildgrid/local_cas_pb2.py b/src/buildstream/_protos/build/buildgrid/local_cas_pb2.py index 0ac5a770c..9a54f04b9 100644 --- a/src/buildstream/_protos/build/buildgrid/local_cas_pb2.py +++ b/src/buildstream/_protos/build/buildgrid/local_cas_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: build/buildgrid/local_cas.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -20,6 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='build.buildgrid', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1f\x62uild/buildgrid/local_cas.proto\x12\x0f\x62uild.buildgrid\x1a\x36\x62uild/bazel/remote/execution/v2/remote_execution.proto\x1a\x17google/rpc/status.proto\"p\n\x18\x46\x65tchMissingBlobsRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12=\n\x0c\x62lob_digests\x18\x02 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\xcc\x01\n\x19\x46\x65tchMissingBlobsResponse\x12\x46\n\tresponses\x18\x01 \x03(\x0b\x32\x33.build.buildgrid.FetchMissingBlobsResponse.Response\x1ag\n\x08Response\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\"q\n\x19UploadMissingBlobsRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12=\n\x0c\x62lob_digests\x18\x02 \x03(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\xce\x01\n\x1aUploadMissingBlobsResponse\x12G\n\tresponses\x18\x01 \x03(\x0b\x32\x34.build.buildgrid.UploadMissingBlobsResponse.Response\x1ag\n\x08Response\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x02 \x01(\x0b\x32\x12.google.rpc.Status\"\x81\x01\n\x10\x46\x65tchTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12<\n\x0broot_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x18\n\x10\x66\x65tch_file_blobs\x18\x03 \x01(\x08\"\x13\n\x11\x46\x65tchTreeResponse\"h\n\x11UploadTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12<\n\x0broot_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\x14\n\x12UploadTreeResponse\"u\n\x10StageTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12<\n\x0broot_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x0c\n\x04path\x18\x03 \x01(\t\"!\n\x11StageTreeResponse\x12\x0c\n\x04path\x18\x01 \x01(\t\"n\n\x12\x43\x61ptureTreeRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x03(\t\x12\x1a\n\x12\x62ypass_local_cache\x18\x03 \x01(\x08\x12\x17\n\x0fnode_properties\x18\x04 \x03(\t\"\xd3\x01\n\x13\x43\x61ptureTreeResponse\x12@\n\tresponses\x18\x01 \x03(\x0b\x32-.build.buildgrid.CaptureTreeResponse.Response\x1az\n\x08Response\x12\x0c\n\x04path\x18\x01 \x01(\t\x12<\n\x0btree_digest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\"o\n\x13\x43\x61ptureFilesRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x03(\t\x12\x1a\n\x12\x62ypass_local_cache\x18\x03 \x01(\x08\x12\x17\n\x0fnode_properties\x18\x04 \x03(\t\"\xb8\x02\n\x14\x43\x61ptureFilesResponse\x12\x41\n\tresponses\x18\x01 \x03(\x0b\x32..build.buildgrid.CaptureFilesResponse.Response\x1a\xdc\x01\n\x08Response\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x37\n\x06\x64igest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\"\n\x06status\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12\x15\n\ris_executable\x18\x04 \x01(\x08\x12H\n\x0fnode_properties\x18\x06 \x01(\x0b\x32/.build.bazel.remote.execution.v2.NodePropertiesJ\x04\x08\x05\x10\x06\"\x83\x01\n\x1fGetInstanceNameForRemoteRequest\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x15\n\rinstance_name\x18\x02 \x01(\t\x12\x13\n\x0bserver_cert\x18\x03 \x01(\x0c\x12\x12\n\nclient_key\x18\x04 \x01(\x0c\x12\x13\n\x0b\x63lient_cert\x18\x05 \x01(\x0c\"9\n GetInstanceNameForRemoteResponse\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"j\n\x06Remote\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x15\n\rinstance_name\x18\x02 \x01(\t\x12\x13\n\x0bserver_cert\x18\x03 \x01(\x0c\x12\x12\n\nclient_key\x18\x04 \x01(\x0c\x12\x13\n\x0b\x63lient_cert\x18\x05 \x01(\x0c\"\x8f\x01\n GetInstanceNameForRemotesRequest\x12<\n\x1b\x63ontent_addressable_storage\x18\x01 \x01(\x0b\x32\x17.build.buildgrid.Remote\x12-\n\x0cremote_asset\x18\x02 \x01(\x0b\x32\x17.build.buildgrid.Remote\":\n!GetInstanceNameForRemotesResponse\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\x1a\n\x18GetLocalDiskUsageRequest\"D\n\x19GetLocalDiskUsageResponse\x12\x12\n\nsize_bytes\x18\x01 \x01(\x03\x12\x13\n\x0bquota_bytes\x18\x02 \x01(\x03\x32\xbc\x08\n\x1eLocalContentAddressableStorage\x12l\n\x11\x46\x65tchMissingBlobs\x12).build.buildgrid.FetchMissingBlobsRequest\x1a*.build.buildgrid.FetchMissingBlobsResponse\"\x00\x12o\n\x12UploadMissingBlobs\x12*.build.buildgrid.UploadMissingBlobsRequest\x1a+.build.buildgrid.UploadMissingBlobsResponse\"\x00\x12T\n\tFetchTree\x12!.build.buildgrid.FetchTreeRequest\x1a\".build.buildgrid.FetchTreeResponse\"\x00\x12W\n\nUploadTree\x12\".build.buildgrid.UploadTreeRequest\x1a#.build.buildgrid.UploadTreeResponse\"\x00\x12X\n\tStageTree\x12!.build.buildgrid.StageTreeRequest\x1a\".build.buildgrid.StageTreeResponse\"\x00(\x01\x30\x01\x12Z\n\x0b\x43\x61ptureTree\x12#.build.buildgrid.CaptureTreeRequest\x1a$.build.buildgrid.CaptureTreeResponse\"\x00\x12]\n\x0c\x43\x61ptureFiles\x12$.build.buildgrid.CaptureFilesRequest\x1a%.build.buildgrid.CaptureFilesResponse\"\x00\x12\x81\x01\n\x18GetInstanceNameForRemote\x12\x30.build.buildgrid.GetInstanceNameForRemoteRequest\x1a\x31.build.buildgrid.GetInstanceNameForRemoteResponse\"\x00\x12\x84\x01\n\x19GetInstanceNameForRemotes\x12\x31.build.buildgrid.GetInstanceNameForRemotesRequest\x1a\x32.build.buildgrid.GetInstanceNameForRemotesResponse\"\x00\x12l\n\x11GetLocalDiskUsage\x12).build.buildgrid.GetLocalDiskUsageRequest\x1a*.build.buildgrid.GetLocalDiskUsageResponse\"\x00\x62\x06proto3' , dependencies=[build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.DESCRIPTOR,google_dot_rpc_dot_status__pb2.DESCRIPTOR,]) @@ -33,6 +34,7 @@ _FETCHMISSINGBLOBSREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.buildgrid.FetchMissingBlobsRequest.instance_name', index=0, @@ -40,14 +42,14 @@ _FETCHMISSINGBLOBSREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='blob_digests', full_name='build.buildgrid.FetchMissingBlobsRequest.blob_digests', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -71,6 +73,7 @@ _FETCHMISSINGBLOBSRESPONSE_RESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='digest', full_name='build.buildgrid.FetchMissingBlobsResponse.Response.digest', index=0, @@ -78,14 +81,14 @@ _FETCHMISSINGBLOBSRESPONSE_RESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='status', full_name='build.buildgrid.FetchMissingBlobsResponse.Response.status', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -108,6 +111,7 @@ _FETCHMISSINGBLOBSRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='responses', full_name='build.buildgrid.FetchMissingBlobsResponse.responses', index=0, @@ -115,7 +119,7 @@ _FETCHMISSINGBLOBSRESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -139,6 +143,7 @@ _UPLOADMISSINGBLOBSREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.buildgrid.UploadMissingBlobsRequest.instance_name', index=0, @@ -146,14 +151,14 @@ _UPLOADMISSINGBLOBSREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='blob_digests', full_name='build.buildgrid.UploadMissingBlobsRequest.blob_digests', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -177,6 +182,7 @@ _UPLOADMISSINGBLOBSRESPONSE_RESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='digest', full_name='build.buildgrid.UploadMissingBlobsResponse.Response.digest', index=0, @@ -184,14 +190,14 @@ _UPLOADMISSINGBLOBSRESPONSE_RESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='status', full_name='build.buildgrid.UploadMissingBlobsResponse.Response.status', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -214,6 +220,7 @@ _UPLOADMISSINGBLOBSRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='responses', full_name='build.buildgrid.UploadMissingBlobsResponse.responses', index=0, @@ -221,7 +228,7 @@ _UPLOADMISSINGBLOBSRESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -245,6 +252,7 @@ _FETCHTREEREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.buildgrid.FetchTreeRequest.instance_name', index=0, @@ -252,21 +260,21 @@ _FETCHTREEREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='root_digest', full_name='build.buildgrid.FetchTreeRequest.root_digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='fetch_file_blobs', full_name='build.buildgrid.FetchTreeRequest.fetch_file_blobs', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -290,6 +298,7 @@ _FETCHTREERESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -314,6 +323,7 @@ _UPLOADTREEREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.buildgrid.UploadTreeRequest.instance_name', index=0, @@ -321,14 +331,14 @@ _UPLOADTREEREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='root_digest', full_name='build.buildgrid.UploadTreeRequest.root_digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -352,6 +362,7 @@ _UPLOADTREERESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -376,6 +387,7 @@ _STAGETREEREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.buildgrid.StageTreeRequest.instance_name', index=0, @@ -383,21 +395,21 @@ _STAGETREEREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='root_digest', full_name='build.buildgrid.StageTreeRequest.root_digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='path', full_name='build.buildgrid.StageTreeRequest.path', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -421,6 +433,7 @@ _STAGETREERESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='path', full_name='build.buildgrid.StageTreeResponse.path', index=0, @@ -428,7 +441,7 @@ _STAGETREERESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -452,6 +465,7 @@ _CAPTURETREEREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.buildgrid.CaptureTreeRequest.instance_name', index=0, @@ -459,28 +473,28 @@ _CAPTURETREEREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='path', full_name='build.buildgrid.CaptureTreeRequest.path', index=1, number=2, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='bypass_local_cache', full_name='build.buildgrid.CaptureTreeRequest.bypass_local_cache', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='node_properties', full_name='build.buildgrid.CaptureTreeRequest.node_properties', index=3, number=4, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -504,6 +518,7 @@ _CAPTURETREERESPONSE_RESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='path', full_name='build.buildgrid.CaptureTreeResponse.Response.path', index=0, @@ -511,21 +526,21 @@ _CAPTURETREERESPONSE_RESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='tree_digest', full_name='build.buildgrid.CaptureTreeResponse.Response.tree_digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='status', full_name='build.buildgrid.CaptureTreeResponse.Response.status', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -548,6 +563,7 @@ _CAPTURETREERESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='responses', full_name='build.buildgrid.CaptureTreeResponse.responses', index=0, @@ -555,7 +571,7 @@ _CAPTURETREERESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -579,6 +595,7 @@ _CAPTUREFILESREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.buildgrid.CaptureFilesRequest.instance_name', index=0, @@ -586,28 +603,28 @@ _CAPTUREFILESREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='path', full_name='build.buildgrid.CaptureFilesRequest.path', index=1, number=2, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='bypass_local_cache', full_name='build.buildgrid.CaptureFilesRequest.bypass_local_cache', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='node_properties', full_name='build.buildgrid.CaptureFilesRequest.node_properties', index=3, number=4, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -631,6 +648,7 @@ _CAPTUREFILESRESPONSE_RESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='path', full_name='build.buildgrid.CaptureFilesResponse.Response.path', index=0, @@ -638,35 +656,35 @@ _CAPTUREFILESRESPONSE_RESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='digest', full_name='build.buildgrid.CaptureFilesResponse.Response.digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='status', full_name='build.buildgrid.CaptureFilesResponse.Response.status', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='is_executable', full_name='build.buildgrid.CaptureFilesResponse.Response.is_executable', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='node_properties', full_name='build.buildgrid.CaptureFilesResponse.Response.node_properties', index=4, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -689,6 +707,7 @@ _CAPTUREFILESRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='responses', full_name='build.buildgrid.CaptureFilesResponse.responses', index=0, @@ -696,7 +715,7 @@ _CAPTUREFILESRESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -720,6 +739,7 @@ _GETINSTANCENAMEFORREMOTEREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='url', full_name='build.buildgrid.GetInstanceNameForRemoteRequest.url', index=0, @@ -727,35 +747,35 @@ _GETINSTANCENAMEFORREMOTEREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='instance_name', full_name='build.buildgrid.GetInstanceNameForRemoteRequest.instance_name', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='server_cert', full_name='build.buildgrid.GetInstanceNameForRemoteRequest.server_cert', index=2, number=3, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='client_key', full_name='build.buildgrid.GetInstanceNameForRemoteRequest.client_key', index=3, number=4, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='client_cert', full_name='build.buildgrid.GetInstanceNameForRemoteRequest.client_cert', index=4, number=5, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -779,6 +799,7 @@ _GETINSTANCENAMEFORREMOTERESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.buildgrid.GetInstanceNameForRemoteResponse.instance_name', index=0, @@ -786,7 +807,7 @@ _GETINSTANCENAMEFORREMOTERESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -810,6 +831,7 @@ _REMOTE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='url', full_name='build.buildgrid.Remote.url', index=0, @@ -817,35 +839,35 @@ _REMOTE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='instance_name', full_name='build.buildgrid.Remote.instance_name', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='server_cert', full_name='build.buildgrid.Remote.server_cert', index=2, number=3, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='client_key', full_name='build.buildgrid.Remote.client_key', index=3, number=4, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='client_cert', full_name='build.buildgrid.Remote.client_cert', index=4, number=5, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -869,6 +891,7 @@ _GETINSTANCENAMEFORREMOTESREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='content_addressable_storage', full_name='build.buildgrid.GetInstanceNameForRemotesRequest.content_addressable_storage', index=0, @@ -876,14 +899,14 @@ _GETINSTANCENAMEFORREMOTESREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='remote_asset', full_name='build.buildgrid.GetInstanceNameForRemotesRequest.remote_asset', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -907,6 +930,7 @@ _GETINSTANCENAMEFORREMOTESRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='build.buildgrid.GetInstanceNameForRemotesResponse.instance_name', index=0, @@ -914,7 +938,7 @@ _GETINSTANCENAMEFORREMOTESRESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -938,6 +962,7 @@ _GETLOCALDISKUSAGEREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -962,6 +987,7 @@ _GETLOCALDISKUSAGERESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='size_bytes', full_name='build.buildgrid.GetLocalDiskUsageResponse.size_bytes', index=0, @@ -969,14 +995,14 @@ _GETLOCALDISKUSAGERESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='quota_bytes', full_name='build.buildgrid.GetLocalDiskUsageResponse.quota_bytes', index=1, number=2, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -1227,6 +1253,7 @@ _LOCALCONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_start=2573, serialized_end=3657, methods=[ @@ -1238,6 +1265,7 @@ _LOCALCONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_FETCHMISSINGBLOBSREQUEST, output_type=_FETCHMISSINGBLOBSRESPONSE, serialized_options=None, + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='UploadMissingBlobs', @@ -1247,6 +1275,7 @@ _LOCALCONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_UPLOADMISSINGBLOBSREQUEST, output_type=_UPLOADMISSINGBLOBSRESPONSE, serialized_options=None, + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='FetchTree', @@ -1256,6 +1285,7 @@ _LOCALCONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_FETCHTREEREQUEST, output_type=_FETCHTREERESPONSE, serialized_options=None, + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='UploadTree', @@ -1265,6 +1295,7 @@ _LOCALCONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_UPLOADTREEREQUEST, output_type=_UPLOADTREERESPONSE, serialized_options=None, + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='StageTree', @@ -1274,6 +1305,7 @@ _LOCALCONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_STAGETREEREQUEST, output_type=_STAGETREERESPONSE, serialized_options=None, + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='CaptureTree', @@ -1283,6 +1315,7 @@ _LOCALCONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_CAPTURETREEREQUEST, output_type=_CAPTURETREERESPONSE, serialized_options=None, + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='CaptureFiles', @@ -1292,6 +1325,7 @@ _LOCALCONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_CAPTUREFILESREQUEST, output_type=_CAPTUREFILESRESPONSE, serialized_options=None, + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='GetInstanceNameForRemote', @@ -1301,6 +1335,7 @@ _LOCALCONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_GETINSTANCENAMEFORREMOTEREQUEST, output_type=_GETINSTANCENAMEFORREMOTERESPONSE, serialized_options=None, + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='GetInstanceNameForRemotes', @@ -1310,6 +1345,7 @@ _LOCALCONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_GETINSTANCENAMEFORREMOTESREQUEST, output_type=_GETINSTANCENAMEFORREMOTESRESPONSE, serialized_options=None, + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='GetLocalDiskUsage', @@ -1319,6 +1355,7 @@ _LOCALCONTENTADDRESSABLESTORAGE = _descriptor.ServiceDescriptor( input_type=_GETLOCALDISKUSAGEREQUEST, output_type=_GETLOCALDISKUSAGERESPONSE, serialized_options=None, + create_key=_descriptor._internal_create_key, ), ]) _sym_db.RegisterServiceDescriptor(_LOCALCONTENTADDRESSABLESTORAGE) diff --git a/src/buildstream/_protos/build/buildgrid/local_cas_pb2_grpc.py b/src/buildstream/_protos/build/buildgrid/local_cas_pb2_grpc.py index b5687a037..2c39fc900 100644 --- a/src/buildstream/_protos/build/buildgrid/local_cas_pb2_grpc.py +++ b/src/buildstream/_protos/build/buildgrid/local_cas_pb2_grpc.py @@ -1,11 +1,12 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc from buildstream._protos.build.buildgrid import local_cas_pb2 as build_dot_buildgrid_dot_local__cas__pb2 class LocalContentAddressableStorageStub(object): - """Missing associated documentation comment in .proto file""" + """Missing associated documentation comment in .proto file.""" def __init__(self, channel): """Constructor. @@ -66,7 +67,7 @@ class LocalContentAddressableStorageStub(object): class LocalContentAddressableStorageServicer(object): - """Missing associated documentation comment in .proto file""" + """Missing associated documentation comment in .proto file.""" def FetchMissingBlobs(self, request, context): """Fetch blobs from a remote CAS to the local cache. @@ -193,7 +194,8 @@ class LocalContentAddressableStorageServicer(object): This returns a string that can be used as instance_name to access the specified endpoint in further requests. - DEPRECATED: Use `GetInstanceNameForRemotes()` instead. + DEPRECATED: Use `content_addressable_storage` in `GetInstanceNameForRemotes()` + instead. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -277,7 +279,7 @@ def add_LocalContentAddressableStorageServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class LocalContentAddressableStorage(object): - """Missing associated documentation comment in .proto file""" + """Missing associated documentation comment in .proto file.""" @staticmethod def FetchMissingBlobs(request, @@ -285,6 +287,7 @@ class LocalContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -293,7 +296,7 @@ class LocalContentAddressableStorage(object): build_dot_buildgrid_dot_local__cas__pb2.FetchMissingBlobsRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.FetchMissingBlobsResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def UploadMissingBlobs(request, @@ -301,6 +304,7 @@ class LocalContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -309,7 +313,7 @@ class LocalContentAddressableStorage(object): build_dot_buildgrid_dot_local__cas__pb2.UploadMissingBlobsRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.UploadMissingBlobsResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def FetchTree(request, @@ -317,6 +321,7 @@ class LocalContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -325,7 +330,7 @@ class LocalContentAddressableStorage(object): build_dot_buildgrid_dot_local__cas__pb2.FetchTreeRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.FetchTreeResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def UploadTree(request, @@ -333,6 +338,7 @@ class LocalContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -341,7 +347,7 @@ class LocalContentAddressableStorage(object): build_dot_buildgrid_dot_local__cas__pb2.UploadTreeRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.UploadTreeResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def StageTree(request_iterator, @@ -349,6 +355,7 @@ class LocalContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -357,7 +364,7 @@ class LocalContentAddressableStorage(object): build_dot_buildgrid_dot_local__cas__pb2.StageTreeRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.StageTreeResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def CaptureTree(request, @@ -365,6 +372,7 @@ class LocalContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -373,7 +381,7 @@ class LocalContentAddressableStorage(object): build_dot_buildgrid_dot_local__cas__pb2.CaptureTreeRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.CaptureTreeResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def CaptureFiles(request, @@ -381,6 +389,7 @@ class LocalContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -389,7 +398,7 @@ class LocalContentAddressableStorage(object): build_dot_buildgrid_dot_local__cas__pb2.CaptureFilesRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.CaptureFilesResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def GetInstanceNameForRemote(request, @@ -397,6 +406,7 @@ class LocalContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -405,7 +415,7 @@ class LocalContentAddressableStorage(object): build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForRemoteRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForRemoteResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def GetInstanceNameForRemotes(request, @@ -413,6 +423,7 @@ class LocalContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -421,7 +432,7 @@ class LocalContentAddressableStorage(object): build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForRemotesRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.GetInstanceNameForRemotesResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def GetLocalDiskUsage(request, @@ -429,6 +440,7 @@ class LocalContentAddressableStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -437,4 +449,4 @@ class LocalContentAddressableStorage(object): build_dot_buildgrid_dot_local__cas__pb2.GetLocalDiskUsageRequest.SerializeToString, build_dot_buildgrid_dot_local__cas__pb2.GetLocalDiskUsageResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/src/buildstream/_protos/buildstream/v2/artifact.proto b/src/buildstream/_protos/buildstream/v2/artifact.proto index ac362b1f1..2f489f2cc 100644 --- a/src/buildstream/_protos/buildstream/v2/artifact.proto +++ b/src/buildstream/_protos/buildstream/v2/artifact.proto @@ -64,4 +64,23 @@ message Artifact { // digest of a directory build.bazel.remote.execution.v2.Digest sources = 13; // optional + + // The low/high diversity meta fields are digests of YAML files + // in which we store detatched metadata related to the artifact. + // + // metadata found in the low diversity file is expected to be + // frequently reused in the context of a given BuildStream project, + // ergo there is a very high chance that the entire content of the + // file can be shared across many artifacts. + // + // metadata found in the high diversity file is expected to diverge + // from one artifact to another. This still consists of metadata + // which does not directly affect an artifact's cache key, and as + // such cannot be stored directly in the proto itself. + // + build.bazel.remote.execution.v2.Digest low_diversity_meta = 14; + build.bazel.remote.execution.v2.Digest high_diversity_meta = 15; + + // Strict key is a later addition to the core metadata + string strict_key = 16; } diff --git a/src/buildstream/_protos/buildstream/v2/artifact_pb2.py b/src/buildstream/_protos/buildstream/v2/artifact_pb2.py index 3950264dc..e630bad8e 100644 --- a/src/buildstream/_protos/buildstream/v2/artifact_pb2.py +++ b/src/buildstream/_protos/buildstream/v2/artifact_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: buildstream/v2/artifact.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -20,7 +20,8 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='buildstream.v2', syntax='proto3', serialized_options=None, - serialized_pb=b'\n\x1d\x62uildstream/v2/artifact.proto\x12\x0e\x62uildstream.v2\x1a\x36\x62uild/bazel/remote/execution/v2/remote_execution.proto\x1a\x1cgoogle/api/annotations.proto\"\xae\x05\n\x08\x41rtifact\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x15\n\rbuild_success\x18\x02 \x01(\x08\x12\x13\n\x0b\x62uild_error\x18\x03 \x01(\t\x12\x1b\n\x13\x62uild_error_details\x18\x04 \x01(\t\x12\x12\n\nstrong_key\x18\x05 \x01(\t\x12\x10\n\x08weak_key\x18\x06 \x01(\t\x12\x16\n\x0ewas_workspaced\x18\x07 \x01(\x08\x12\x36\n\x05\x66iles\x18\x08 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x37\n\nbuild_deps\x18\t \x03(\x0b\x32#.buildstream.v2.Artifact.Dependency\x12<\n\x0bpublic_data\x18\n \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12.\n\x04logs\x18\x0b \x03(\x0b\x32 .buildstream.v2.Artifact.LogFile\x12:\n\tbuildtree\x18\x0c \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x38\n\x07sources\x18\r \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x1a\x63\n\nDependency\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x14\n\x0c\x65lement_name\x18\x02 \x01(\t\x12\x11\n\tcache_key\x18\x03 \x01(\t\x12\x16\n\x0ewas_workspaced\x18\x04 \x01(\x08\x1aP\n\x07LogFile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x37\n\x06\x64igest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digestb\x06proto3' + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n\x1d\x62uildstream/v2/artifact.proto\x12\x0e\x62uildstream.v2\x1a\x36\x62uild/bazel/remote/execution/v2/remote_execution.proto\x1a\x1cgoogle/api/annotations.proto\"\xcd\x06\n\x08\x41rtifact\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x15\n\rbuild_success\x18\x02 \x01(\x08\x12\x13\n\x0b\x62uild_error\x18\x03 \x01(\t\x12\x1b\n\x13\x62uild_error_details\x18\x04 \x01(\t\x12\x12\n\nstrong_key\x18\x05 \x01(\t\x12\x10\n\x08weak_key\x18\x06 \x01(\t\x12\x16\n\x0ewas_workspaced\x18\x07 \x01(\x08\x12\x36\n\x05\x66iles\x18\x08 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x37\n\nbuild_deps\x18\t \x03(\x0b\x32#.buildstream.v2.Artifact.Dependency\x12<\n\x0bpublic_data\x18\n \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12.\n\x04logs\x18\x0b \x03(\x0b\x32 .buildstream.v2.Artifact.LogFile\x12:\n\tbuildtree\x18\x0c \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x38\n\x07sources\x18\r \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x43\n\x12low_diversity_meta\x18\x0e \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x44\n\x13high_diversity_meta\x18\x0f \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\x12\x12\n\nstrict_key\x18\x10 \x01(\t\x1a\x63\n\nDependency\x12\x14\n\x0cproject_name\x18\x01 \x01(\t\x12\x14\n\x0c\x65lement_name\x18\x02 \x01(\t\x12\x11\n\tcache_key\x18\x03 \x01(\t\x12\x16\n\x0ewas_workspaced\x18\x04 \x01(\x08\x1aP\n\x07LogFile\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x37\n\x06\x64igest\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digestb\x06proto3' , dependencies=[build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.DESCRIPTOR,google_dot_api_dot_annotations__pb2.DESCRIPTOR,]) @@ -33,6 +34,7 @@ _ARTIFACT_DEPENDENCY = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='project_name', full_name='buildstream.v2.Artifact.Dependency.project_name', index=0, @@ -40,28 +42,28 @@ _ARTIFACT_DEPENDENCY = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='element_name', full_name='buildstream.v2.Artifact.Dependency.element_name', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='cache_key', full_name='buildstream.v2.Artifact.Dependency.cache_key', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='was_workspaced', full_name='buildstream.v2.Artifact.Dependency.was_workspaced', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -74,8 +76,8 @@ _ARTIFACT_DEPENDENCY = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=641, - serialized_end=740, + serialized_start=800, + serialized_end=899, ) _ARTIFACT_LOGFILE = _descriptor.Descriptor( @@ -84,6 +86,7 @@ _ARTIFACT_LOGFILE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='buildstream.v2.Artifact.LogFile.name', index=0, @@ -91,14 +94,14 @@ _ARTIFACT_LOGFILE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='digest', full_name='buildstream.v2.Artifact.LogFile.digest', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -111,8 +114,8 @@ _ARTIFACT_LOGFILE = _descriptor.Descriptor( extension_ranges=[], oneofs=[ ], - serialized_start=742, - serialized_end=822, + serialized_start=901, + serialized_end=981, ) _ARTIFACT = _descriptor.Descriptor( @@ -121,6 +124,7 @@ _ARTIFACT = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='version', full_name='buildstream.v2.Artifact.version', index=0, @@ -128,91 +132,112 @@ _ARTIFACT = _descriptor.Descriptor( has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='build_success', full_name='buildstream.v2.Artifact.build_success', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='build_error', full_name='buildstream.v2.Artifact.build_error', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='build_error_details', full_name='buildstream.v2.Artifact.build_error_details', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='strong_key', full_name='buildstream.v2.Artifact.strong_key', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='weak_key', full_name='buildstream.v2.Artifact.weak_key', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='was_workspaced', full_name='buildstream.v2.Artifact.was_workspaced', index=6, number=7, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='files', full_name='buildstream.v2.Artifact.files', index=7, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='build_deps', full_name='buildstream.v2.Artifact.build_deps', index=8, number=9, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='public_data', full_name='buildstream.v2.Artifact.public_data', index=9, number=10, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='logs', full_name='buildstream.v2.Artifact.logs', index=10, number=11, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='buildtree', full_name='buildstream.v2.Artifact.buildtree', index=11, number=12, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='sources', full_name='buildstream.v2.Artifact.sources', index=12, number=13, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='low_diversity_meta', full_name='buildstream.v2.Artifact.low_diversity_meta', index=13, + number=14, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='high_diversity_meta', full_name='buildstream.v2.Artifact.high_diversity_meta', index=14, + number=15, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='strict_key', full_name='buildstream.v2.Artifact.strict_key', index=15, + number=16, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -226,7 +251,7 @@ _ARTIFACT = _descriptor.Descriptor( oneofs=[ ], serialized_start=136, - serialized_end=822, + serialized_end=981, ) _ARTIFACT_DEPENDENCY.containing_type = _ARTIFACT @@ -238,6 +263,8 @@ _ARTIFACT.fields_by_name['public_data'].message_type = build_dot_bazel_dot_remot _ARTIFACT.fields_by_name['logs'].message_type = _ARTIFACT_LOGFILE _ARTIFACT.fields_by_name['buildtree'].message_type = build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2._DIGEST _ARTIFACT.fields_by_name['sources'].message_type = build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2._DIGEST +_ARTIFACT.fields_by_name['low_diversity_meta'].message_type = build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2._DIGEST +_ARTIFACT.fields_by_name['high_diversity_meta'].message_type = build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2._DIGEST DESCRIPTOR.message_types_by_name['Artifact'] = _ARTIFACT _sym_db.RegisterFileDescriptor(DESCRIPTOR) diff --git a/src/buildstream/_protos/buildstream/v2/artifact_pb2_grpc.py b/src/buildstream/_protos/buildstream/v2/artifact_pb2_grpc.py index a89435267..2daafffeb 100644 --- a/src/buildstream/_protos/buildstream/v2/artifact_pb2_grpc.py +++ b/src/buildstream/_protos/buildstream/v2/artifact_pb2_grpc.py @@ -1,3 +1,4 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc diff --git a/src/buildstream/_protos/buildstream/v2/buildstream_pb2.py b/src/buildstream/_protos/buildstream/v2/buildstream_pb2.py index 558d4f059..e16629dae 100644 --- a/src/buildstream/_protos/buildstream/v2/buildstream_pb2.py +++ b/src/buildstream/_protos/buildstream/v2/buildstream_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: buildstream/v2/buildstream.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -20,6 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='buildstream.v2', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n buildstream/v2/buildstream.proto\x12\x0e\x62uildstream.v2\x1a\x36\x62uild/bazel/remote/execution/v2/remote_execution.proto\x1a\x1cgoogle/api/annotations.proto\"9\n\x13GetReferenceRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0b\n\x03key\x18\x02 \x01(\t\"O\n\x14GetReferenceResponse\x12\x37\n\x06\x64igest\x18\x01 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"v\n\x16UpdateReferenceRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\x12\x0c\n\x04keys\x18\x02 \x03(\t\x12\x37\n\x06\x64igest\x18\x03 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digest\"\x19\n\x17UpdateReferenceResponse\"&\n\rStatusRequest\x12\x15\n\rinstance_name\x18\x01 \x01(\t\"\'\n\x0eStatusResponse\x12\x15\n\rallow_updates\x18\x01 \x01(\x08\x32\xca\x03\n\x10ReferenceStorage\x12\x90\x01\n\x0cGetReference\x12#.buildstream.v2.GetReferenceRequest\x1a$.buildstream.v2.GetReferenceResponse\"5\x82\xd3\xe4\x93\x02/\x12-/v2/{instance_name=**}/buildstream/refs/{key}\x12\xa1\x01\n\x0fUpdateReference\x12&.buildstream.v2.UpdateReferenceRequest\x1a\'.buildstream.v2.UpdateReferenceResponse\"=\x82\xd3\xe4\x93\x02\x37\x1a-/v2/{instance_name=**}/buildstream/refs/{key}:\x06\x64igest\x12\x7f\n\x06Status\x12\x1d.buildstream.v2.StatusRequest\x1a\x1e.buildstream.v2.StatusResponse\"6\x82\xd3\xe4\x93\x02\x30\x1a./v2/{instance_name=**}/buildstream/refs:statusb\x06proto3' , dependencies=[build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.DESCRIPTOR,google_dot_api_dot_annotations__pb2.DESCRIPTOR,]) @@ -33,6 +34,7 @@ _GETREFERENCEREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='buildstream.v2.GetReferenceRequest.instance_name', index=0, @@ -40,14 +42,14 @@ _GETREFERENCEREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='key', full_name='buildstream.v2.GetReferenceRequest.key', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -71,6 +73,7 @@ _GETREFERENCERESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='digest', full_name='buildstream.v2.GetReferenceResponse.digest', index=0, @@ -78,7 +81,7 @@ _GETREFERENCERESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -102,6 +105,7 @@ _UPDATEREFERENCEREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='buildstream.v2.UpdateReferenceRequest.instance_name', index=0, @@ -109,21 +113,21 @@ _UPDATEREFERENCEREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='keys', full_name='buildstream.v2.UpdateReferenceRequest.keys', index=1, number=2, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='digest', full_name='buildstream.v2.UpdateReferenceRequest.digest', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -147,6 +151,7 @@ _UPDATEREFERENCERESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ ], extensions=[ @@ -171,6 +176,7 @@ _STATUSREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='instance_name', full_name='buildstream.v2.StatusRequest.instance_name', index=0, @@ -178,7 +184,7 @@ _STATUSREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -202,6 +208,7 @@ _STATUSRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='allow_updates', full_name='buildstream.v2.StatusResponse.allow_updates', index=0, @@ -209,7 +216,7 @@ _STATUSRESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -286,6 +293,7 @@ _REFERENCESTORAGE = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_start=507, serialized_end=965, methods=[ @@ -297,6 +305,7 @@ _REFERENCESTORAGE = _descriptor.ServiceDescriptor( input_type=_GETREFERENCEREQUEST, output_type=_GETREFERENCERESPONSE, serialized_options=b'\202\323\344\223\002/\022-/v2/{instance_name=**}/buildstream/refs/{key}', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='UpdateReference', @@ -306,6 +315,7 @@ _REFERENCESTORAGE = _descriptor.ServiceDescriptor( input_type=_UPDATEREFERENCEREQUEST, output_type=_UPDATEREFERENCERESPONSE, serialized_options=b'\202\323\344\223\0027\032-/v2/{instance_name=**}/buildstream/refs/{key}:\006digest', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='Status', @@ -315,6 +325,7 @@ _REFERENCESTORAGE = _descriptor.ServiceDescriptor( input_type=_STATUSREQUEST, output_type=_STATUSRESPONSE, serialized_options=b'\202\323\344\223\0020\032./v2/{instance_name=**}/buildstream/refs:status', + create_key=_descriptor._internal_create_key, ), ]) _sym_db.RegisterServiceDescriptor(_REFERENCESTORAGE) diff --git a/src/buildstream/_protos/buildstream/v2/buildstream_pb2_grpc.py b/src/buildstream/_protos/buildstream/v2/buildstream_pb2_grpc.py index 26a39d06e..eb3d73e20 100644 --- a/src/buildstream/_protos/buildstream/v2/buildstream_pb2_grpc.py +++ b/src/buildstream/_protos/buildstream/v2/buildstream_pb2_grpc.py @@ -1,11 +1,12 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc from buildstream._protos.buildstream.v2 import buildstream_pb2 as buildstream_dot_v2_dot_buildstream__pb2 class ReferenceStorageStub(object): - """Missing associated documentation comment in .proto file""" + """Missing associated documentation comment in .proto file.""" def __init__(self, channel): """Constructor. @@ -31,7 +32,7 @@ class ReferenceStorageStub(object): class ReferenceStorageServicer(object): - """Missing associated documentation comment in .proto file""" + """Missing associated documentation comment in .proto file.""" def GetReference(self, request, context): """Retrieve a CAS [Directory][build.bazel.remote.execution.v2.Directory] @@ -57,7 +58,7 @@ class ReferenceStorageServicer(object): raise NotImplementedError('Method not implemented!') def Status(self, request, context): - """Missing associated documentation comment in .proto file""" + """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') @@ -88,7 +89,7 @@ def add_ReferenceStorageServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class ReferenceStorage(object): - """Missing associated documentation comment in .proto file""" + """Missing associated documentation comment in .proto file.""" @staticmethod def GetReference(request, @@ -96,6 +97,7 @@ class ReferenceStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -104,7 +106,7 @@ class ReferenceStorage(object): buildstream_dot_v2_dot_buildstream__pb2.GetReferenceRequest.SerializeToString, buildstream_dot_v2_dot_buildstream__pb2.GetReferenceResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def UpdateReference(request, @@ -112,6 +114,7 @@ class ReferenceStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -120,7 +123,7 @@ class ReferenceStorage(object): buildstream_dot_v2_dot_buildstream__pb2.UpdateReferenceRequest.SerializeToString, buildstream_dot_v2_dot_buildstream__pb2.UpdateReferenceResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def Status(request, @@ -128,6 +131,7 @@ class ReferenceStorage(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -136,4 +140,4 @@ class ReferenceStorage(object): buildstream_dot_v2_dot_buildstream__pb2.StatusRequest.SerializeToString, buildstream_dot_v2_dot_buildstream__pb2.StatusResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/src/buildstream/_protos/buildstream/v2/source_pb2.py b/src/buildstream/_protos/buildstream/v2/source_pb2.py index 8d93de2da..3a283d5f2 100644 --- a/src/buildstream/_protos/buildstream/v2/source_pb2.py +++ b/src/buildstream/_protos/buildstream/v2/source_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: buildstream/v2/source.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -20,6 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='buildstream.v2', syntax='proto3', serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1b\x62uildstream/v2/source.proto\x12\x0e\x62uildstream.v2\x1a\x36\x62uild/bazel/remote/execution/v2/remote_execution.proto\x1a\x1cgoogle/api/annotations.proto\"Q\n\x06Source\x12\x0f\n\x07version\x18\x01 \x01(\x05\x12\x36\n\x05\x66iles\x18\x02 \x01(\x0b\x32\'.build.bazel.remote.execution.v2.Digestb\x06proto3' , dependencies=[build_dot_bazel_dot_remote_dot_execution_dot_v2_dot_remote__execution__pb2.DESCRIPTOR,google_dot_api_dot_annotations__pb2.DESCRIPTOR,]) @@ -33,6 +34,7 @@ _SOURCE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='version', full_name='buildstream.v2.Source.version', index=0, @@ -40,14 +42,14 @@ _SOURCE = _descriptor.Descriptor( has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='files', full_name='buildstream.v2.Source.files', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/src/buildstream/_protos/buildstream/v2/source_pb2_grpc.py b/src/buildstream/_protos/buildstream/v2/source_pb2_grpc.py index a89435267..2daafffeb 100644 --- a/src/buildstream/_protos/buildstream/v2/source_pb2_grpc.py +++ b/src/buildstream/_protos/buildstream/v2/source_pb2_grpc.py @@ -1,3 +1,4 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc diff --git a/src/buildstream/_protos/google/api/annotations_pb2.py b/src/buildstream/_protos/google/api/annotations_pb2.py index 35585c753..c7b1a6b69 100644 --- a/src/buildstream/_protos/google/api/annotations_pb2.py +++ b/src/buildstream/_protos/google/api/annotations_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/api/annotations.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -20,6 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='google.api', syntax='proto3', serialized_options=b'\n\016com.google.apiB\020AnnotationsProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\242\002\004GAPI', + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x1cgoogle/api/annotations.proto\x12\ngoogle.api\x1a\x15google/api/http.proto\x1a google/protobuf/descriptor.proto:E\n\x04http\x12\x1e.google.protobuf.MethodOptions\x18\xb0\xca\xbc\" \x01(\x0b\x32\x14.google.api.HttpRuleBn\n\x0e\x63om.google.apiB\x10\x41nnotationsProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIb\x06proto3' , dependencies=[google_dot_api_dot_http__pb2.DESCRIPTOR,google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,]) @@ -32,7 +33,7 @@ http = _descriptor.FieldDescriptor( has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=True, extension_scope=None, - serialized_options=None, file=DESCRIPTOR) + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key) DESCRIPTOR.extensions_by_name['http'] = http _sym_db.RegisterFileDescriptor(DESCRIPTOR) diff --git a/src/buildstream/_protos/google/api/annotations_pb2_grpc.py b/src/buildstream/_protos/google/api/annotations_pb2_grpc.py index a89435267..2daafffeb 100644 --- a/src/buildstream/_protos/google/api/annotations_pb2_grpc.py +++ b/src/buildstream/_protos/google/api/annotations_pb2_grpc.py @@ -1,3 +1,4 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc diff --git a/src/buildstream/_protos/google/api/http_pb2.py b/src/buildstream/_protos/google/api/http_pb2.py index cf4ce322e..997d07e0e 100644 --- a/src/buildstream/_protos/google/api/http_pb2.py +++ b/src/buildstream/_protos/google/api/http_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/api/http.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -18,6 +18,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='google.api', syntax='proto3', serialized_options=b'\n\016com.google.apiB\tHttpProtoP\001ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\370\001\001\242\002\004GAPI', + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x15google/api/http.proto\x12\ngoogle.api\"T\n\x04Http\x12#\n\x05rules\x18\x01 \x03(\x0b\x32\x14.google.api.HttpRule\x12\'\n\x1f\x66ully_decode_reserved_expansion\x18\x02 \x01(\x08\"\xea\x01\n\x08HttpRule\x12\x10\n\x08selector\x18\x01 \x01(\t\x12\r\n\x03get\x18\x02 \x01(\tH\x00\x12\r\n\x03put\x18\x03 \x01(\tH\x00\x12\x0e\n\x04post\x18\x04 \x01(\tH\x00\x12\x10\n\x06\x64\x65lete\x18\x05 \x01(\tH\x00\x12\x0f\n\x05patch\x18\x06 \x01(\tH\x00\x12/\n\x06\x63ustom\x18\x08 \x01(\x0b\x32\x1d.google.api.CustomHttpPatternH\x00\x12\x0c\n\x04\x62ody\x18\x07 \x01(\t\x12\x31\n\x13\x61\x64\x64itional_bindings\x18\x0b \x03(\x0b\x32\x14.google.api.HttpRuleB\t\n\x07pattern\"/\n\x11\x43ustomHttpPattern\x12\x0c\n\x04kind\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\tBj\n\x0e\x63om.google.apiB\tHttpProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xf8\x01\x01\xa2\x02\x04GAPIb\x06proto3' ) @@ -30,6 +31,7 @@ _HTTP = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='rules', full_name='google.api.Http.rules', index=0, @@ -37,14 +39,14 @@ _HTTP = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='fully_decode_reserved_expansion', full_name='google.api.Http.fully_decode_reserved_expansion', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -68,6 +70,7 @@ _HTTPRULE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='selector', full_name='google.api.HttpRule.selector', index=0, @@ -75,63 +78,63 @@ _HTTPRULE = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='get', full_name='google.api.HttpRule.get', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='put', full_name='google.api.HttpRule.put', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='post', full_name='google.api.HttpRule.post', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='delete', full_name='google.api.HttpRule.delete', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='patch', full_name='google.api.HttpRule.patch', index=5, number=6, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='custom', full_name='google.api.HttpRule.custom', index=6, number=8, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='body', full_name='google.api.HttpRule.body', index=7, number=7, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='additional_bindings', full_name='google.api.HttpRule.additional_bindings', index=8, number=11, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -145,7 +148,9 @@ _HTTPRULE = _descriptor.Descriptor( oneofs=[ _descriptor.OneofDescriptor( name='pattern', full_name='google.api.HttpRule.pattern', - index=0, containing_type=None, fields=[]), + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], serialized_start=124, serialized_end=358, @@ -158,6 +163,7 @@ _CUSTOMHTTPPATTERN = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='kind', full_name='google.api.CustomHttpPattern.kind', index=0, @@ -165,14 +171,14 @@ _CUSTOMHTTPPATTERN = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='path', full_name='google.api.CustomHttpPattern.path', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/src/buildstream/_protos/google/api/http_pb2_grpc.py b/src/buildstream/_protos/google/api/http_pb2_grpc.py index a89435267..2daafffeb 100644 --- a/src/buildstream/_protos/google/api/http_pb2_grpc.py +++ b/src/buildstream/_protos/google/api/http_pb2_grpc.py @@ -1,3 +1,4 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc diff --git a/src/buildstream/_protos/google/bytestream/bytestream_pb2.py b/src/buildstream/_protos/google/bytestream/bytestream_pb2.py index d8627d4e2..80788de28 100644 --- a/src/buildstream/_protos/google/bytestream/bytestream_pb2.py +++ b/src/buildstream/_protos/google/bytestream/bytestream_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/bytestream/bytestream.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -20,6 +20,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='google.bytestream', syntax='proto3', serialized_options=b'\n\025com.google.bytestreamB\017ByteStreamProtoZ;google.golang.org/genproto/googleapis/bytestream;bytestream', + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\"google/bytestream/bytestream.proto\x12\x11google.bytestream\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/wrappers.proto\"M\n\x0bReadRequest\x12\x15\n\rresource_name\x18\x01 \x01(\t\x12\x13\n\x0bread_offset\x18\x02 \x01(\x03\x12\x12\n\nread_limit\x18\x03 \x01(\x03\"\x1c\n\x0cReadResponse\x12\x0c\n\x04\x64\x61ta\x18\n \x01(\x0c\"_\n\x0cWriteRequest\x12\x15\n\rresource_name\x18\x01 \x01(\t\x12\x14\n\x0cwrite_offset\x18\x02 \x01(\x03\x12\x14\n\x0c\x66inish_write\x18\x03 \x01(\x08\x12\x0c\n\x04\x64\x61ta\x18\n \x01(\x0c\"\'\n\rWriteResponse\x12\x16\n\x0e\x63ommitted_size\x18\x01 \x01(\x03\"0\n\x17QueryWriteStatusRequest\x12\x15\n\rresource_name\x18\x01 \x01(\t\"D\n\x18QueryWriteStatusResponse\x12\x16\n\x0e\x63ommitted_size\x18\x01 \x01(\x03\x12\x10\n\x08\x63omplete\x18\x02 \x01(\x08\x32\x92\x02\n\nByteStream\x12I\n\x04Read\x12\x1e.google.bytestream.ReadRequest\x1a\x1f.google.bytestream.ReadResponse0\x01\x12L\n\x05Write\x12\x1f.google.bytestream.WriteRequest\x1a .google.bytestream.WriteResponse(\x01\x12k\n\x10QueryWriteStatus\x12*.google.bytestream.QueryWriteStatusRequest\x1a+.google.bytestream.QueryWriteStatusResponseBe\n\x15\x63om.google.bytestreamB\x0f\x42yteStreamProtoZ;google.golang.org/genproto/googleapis/bytestream;bytestreamb\x06proto3' , dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,]) @@ -33,6 +34,7 @@ _READREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='resource_name', full_name='google.bytestream.ReadRequest.resource_name', index=0, @@ -40,21 +42,21 @@ _READREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='read_offset', full_name='google.bytestream.ReadRequest.read_offset', index=1, number=2, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='read_limit', full_name='google.bytestream.ReadRequest.read_limit', index=2, number=3, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -78,6 +80,7 @@ _READRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='data', full_name='google.bytestream.ReadResponse.data', index=0, @@ -85,7 +88,7 @@ _READRESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -109,6 +112,7 @@ _WRITEREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='resource_name', full_name='google.bytestream.WriteRequest.resource_name', index=0, @@ -116,28 +120,28 @@ _WRITEREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='write_offset', full_name='google.bytestream.WriteRequest.write_offset', index=1, number=2, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='finish_write', full_name='google.bytestream.WriteRequest.finish_write', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='data', full_name='google.bytestream.WriteRequest.data', index=3, number=10, type=12, cpp_type=9, label=1, has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -161,6 +165,7 @@ _WRITERESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='committed_size', full_name='google.bytestream.WriteResponse.committed_size', index=0, @@ -168,7 +173,7 @@ _WRITERESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -192,6 +197,7 @@ _QUERYWRITESTATUSREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='resource_name', full_name='google.bytestream.QueryWriteStatusRequest.resource_name', index=0, @@ -199,7 +205,7 @@ _QUERYWRITESTATUSREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -223,6 +229,7 @@ _QUERYWRITESTATUSRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='committed_size', full_name='google.bytestream.QueryWriteStatusResponse.committed_size', index=0, @@ -230,14 +237,14 @@ _QUERYWRITESTATUSRESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='complete', full_name='google.bytestream.QueryWriteStatusResponse.complete', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -313,6 +320,7 @@ _BYTESTREAM = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_start=487, serialized_end=761, methods=[ @@ -324,6 +332,7 @@ _BYTESTREAM = _descriptor.ServiceDescriptor( input_type=_READREQUEST, output_type=_READRESPONSE, serialized_options=None, + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='Write', @@ -333,6 +342,7 @@ _BYTESTREAM = _descriptor.ServiceDescriptor( input_type=_WRITEREQUEST, output_type=_WRITERESPONSE, serialized_options=None, + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='QueryWriteStatus', @@ -342,6 +352,7 @@ _BYTESTREAM = _descriptor.ServiceDescriptor( input_type=_QUERYWRITESTATUSREQUEST, output_type=_QUERYWRITESTATUSRESPONSE, serialized_options=None, + create_key=_descriptor._internal_create_key, ), ]) _sym_db.RegisterServiceDescriptor(_BYTESTREAM) diff --git a/src/buildstream/_protos/google/bytestream/bytestream_pb2_grpc.py b/src/buildstream/_protos/google/bytestream/bytestream_pb2_grpc.py index 98859f38e..36dd1eb92 100644 --- a/src/buildstream/_protos/google/bytestream/bytestream_pb2_grpc.py +++ b/src/buildstream/_protos/google/bytestream/bytestream_pb2_grpc.py @@ -1,4 +1,5 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc from buildstream._protos.google.bytestream import bytestream_pb2 as google_dot_bytestream_dot_bytestream__pb2 @@ -193,6 +194,7 @@ class ByteStream(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -201,7 +203,7 @@ class ByteStream(object): google_dot_bytestream_dot_bytestream__pb2.ReadRequest.SerializeToString, google_dot_bytestream_dot_bytestream__pb2.ReadResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def Write(request_iterator, @@ -209,6 +211,7 @@ class ByteStream(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -217,7 +220,7 @@ class ByteStream(object): google_dot_bytestream_dot_bytestream__pb2.WriteRequest.SerializeToString, google_dot_bytestream_dot_bytestream__pb2.WriteResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def QueryWriteStatus(request, @@ -225,6 +228,7 @@ class ByteStream(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -233,4 +237,4 @@ class ByteStream(object): google_dot_bytestream_dot_bytestream__pb2.QueryWriteStatusRequest.SerializeToString, google_dot_bytestream_dot_bytestream__pb2.QueryWriteStatusResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/src/buildstream/_protos/google/longrunning/operations_pb2.py b/src/buildstream/_protos/google/longrunning/operations_pb2.py index 7798de35b..32684b979 100644 --- a/src/buildstream/_protos/google/longrunning/operations_pb2.py +++ b/src/buildstream/_protos/google/longrunning/operations_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/longrunning/operations.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -22,6 +22,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='google.longrunning', syntax='proto3', serialized_options=b'\n\026com.google.longrunningB\017OperationsProtoP\001Z=google.golang.org/genproto/googleapis/longrunning;longrunning\252\002\022Google.LongRunning\312\002\022Google\\LongRunning', + create_key=_descriptor._internal_create_key, serialized_pb=b'\n#google/longrunning/operations.proto\x12\x12google.longrunning\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/protobuf/any.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17google/rpc/status.proto\"\xa8\x01\n\tOperation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12&\n\x08metadata\x18\x02 \x01(\x0b\x32\x14.google.protobuf.Any\x12\x0c\n\x04\x64one\x18\x03 \x01(\x08\x12#\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusH\x00\x12(\n\x08response\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00\x42\x08\n\x06result\"#\n\x13GetOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"\\\n\x15ListOperationsRequest\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x01 \x01(\t\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"d\n\x16ListOperationsResponse\x12\x31\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.Operation\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"&\n\x16\x43\x61ncelOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\"&\n\x16\x44\x65leteOperationRequest\x12\x0c\n\x04name\x18\x01 \x01(\t2\x8c\x04\n\nOperations\x12\x86\x01\n\x0eListOperations\x12).google.longrunning.ListOperationsRequest\x1a*.google.longrunning.ListOperationsResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/v1/{name=operations}\x12x\n\x0cGetOperation\x12\'.google.longrunning.GetOperationRequest\x1a\x1d.google.longrunning.Operation\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/{name=operations/**}\x12w\n\x0f\x44\x65leteOperation\x12*.google.longrunning.DeleteOperationRequest\x1a\x16.google.protobuf.Empty\" \x82\xd3\xe4\x93\x02\x1a*\x18/v1/{name=operations/**}\x12\x81\x01\n\x0f\x43\x61ncelOperation\x12*.google.longrunning.CancelOperationRequest\x1a\x16.google.protobuf.Empty\"*\x82\xd3\xe4\x93\x02$\"\x1f/v1/{name=operations/**}:cancel:\x01*B\x94\x01\n\x16\x63om.google.longrunningB\x0fOperationsProtoP\x01Z=google.golang.org/genproto/googleapis/longrunning;longrunning\xaa\x02\x12Google.LongRunning\xca\x02\x12Google\\LongRunningb\x06proto3' , dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_protobuf_dot_any__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,google_dot_rpc_dot_status__pb2.DESCRIPTOR,]) @@ -35,6 +36,7 @@ _OPERATION = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.longrunning.Operation.name', index=0, @@ -42,35 +44,35 @@ _OPERATION = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='metadata', full_name='google.longrunning.Operation.metadata', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='done', full_name='google.longrunning.Operation.done', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='error', full_name='google.longrunning.Operation.error', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='response', full_name='google.longrunning.Operation.response', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -84,7 +86,9 @@ _OPERATION = _descriptor.Descriptor( oneofs=[ _descriptor.OneofDescriptor( name='result', full_name='google.longrunning.Operation.result', - index=0, containing_type=None, fields=[]), + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), ], serialized_start=171, serialized_end=339, @@ -97,6 +101,7 @@ _GETOPERATIONREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.longrunning.GetOperationRequest.name', index=0, @@ -104,7 +109,7 @@ _GETOPERATIONREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -128,6 +133,7 @@ _LISTOPERATIONSREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.longrunning.ListOperationsRequest.name', index=0, @@ -135,28 +141,28 @@ _LISTOPERATIONSREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='filter', full_name='google.longrunning.ListOperationsRequest.filter', index=1, number=1, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='page_size', full_name='google.longrunning.ListOperationsRequest.page_size', index=2, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='page_token', full_name='google.longrunning.ListOperationsRequest.page_token', index=3, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -180,6 +186,7 @@ _LISTOPERATIONSRESPONSE = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='operations', full_name='google.longrunning.ListOperationsResponse.operations', index=0, @@ -187,14 +194,14 @@ _LISTOPERATIONSRESPONSE = _descriptor.Descriptor( has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='next_page_token', full_name='google.longrunning.ListOperationsResponse.next_page_token', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -218,6 +225,7 @@ _CANCELOPERATIONREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.longrunning.CancelOperationRequest.name', index=0, @@ -225,7 +233,7 @@ _CANCELOPERATIONREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -249,6 +257,7 @@ _DELETEOPERATIONREQUEST = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='name', full_name='google.longrunning.DeleteOperationRequest.name', index=0, @@ -256,7 +265,7 @@ _DELETEOPERATIONREQUEST = _descriptor.Descriptor( has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], @@ -342,6 +351,7 @@ _OPERATIONS = _descriptor.ServiceDescriptor( file=DESCRIPTOR, index=0, serialized_options=None, + create_key=_descriptor._internal_create_key, serialized_start=655, serialized_end=1179, methods=[ @@ -353,6 +363,7 @@ _OPERATIONS = _descriptor.ServiceDescriptor( input_type=_LISTOPERATIONSREQUEST, output_type=_LISTOPERATIONSRESPONSE, serialized_options=b'\202\323\344\223\002\027\022\025/v1/{name=operations}', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='GetOperation', @@ -362,6 +373,7 @@ _OPERATIONS = _descriptor.ServiceDescriptor( input_type=_GETOPERATIONREQUEST, output_type=_OPERATION, serialized_options=b'\202\323\344\223\002\032\022\030/v1/{name=operations/**}', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='DeleteOperation', @@ -371,6 +383,7 @@ _OPERATIONS = _descriptor.ServiceDescriptor( input_type=_DELETEOPERATIONREQUEST, output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, serialized_options=b'\202\323\344\223\002\032*\030/v1/{name=operations/**}', + create_key=_descriptor._internal_create_key, ), _descriptor.MethodDescriptor( name='CancelOperation', @@ -380,6 +393,7 @@ _OPERATIONS = _descriptor.ServiceDescriptor( input_type=_CANCELOPERATIONREQUEST, output_type=google_dot_protobuf_dot_empty__pb2._EMPTY, serialized_options=b'\202\323\344\223\002$\"\037/v1/{name=operations/**}:cancel:\001*', + create_key=_descriptor._internal_create_key, ), ]) _sym_db.RegisterServiceDescriptor(_OPERATIONS) diff --git a/src/buildstream/_protos/google/longrunning/operations_pb2_grpc.py b/src/buildstream/_protos/google/longrunning/operations_pb2_grpc.py index 11a47e0d3..2ab919ca3 100644 --- a/src/buildstream/_protos/google/longrunning/operations_pb2_grpc.py +++ b/src/buildstream/_protos/google/longrunning/operations_pb2_grpc.py @@ -1,4 +1,5 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc from buildstream._protos.google.longrunning import operations_pb2 as google_dot_longrunning_dot_operations__pb2 @@ -151,6 +152,7 @@ class Operations(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -159,7 +161,7 @@ class Operations(object): google_dot_longrunning_dot_operations__pb2.ListOperationsRequest.SerializeToString, google_dot_longrunning_dot_operations__pb2.ListOperationsResponse.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def GetOperation(request, @@ -167,6 +169,7 @@ class Operations(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -175,7 +178,7 @@ class Operations(object): google_dot_longrunning_dot_operations__pb2.GetOperationRequest.SerializeToString, google_dot_longrunning_dot_operations__pb2.Operation.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def DeleteOperation(request, @@ -183,6 +186,7 @@ class Operations(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -191,7 +195,7 @@ class Operations(object): google_dot_longrunning_dot_operations__pb2.DeleteOperationRequest.SerializeToString, google_dot_protobuf_dot_empty__pb2.Empty.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) @staticmethod def CancelOperation(request, @@ -199,6 +203,7 @@ class Operations(object): options=(), channel_credentials=None, call_credentials=None, + insecure=False, compression=None, wait_for_ready=None, timeout=None, @@ -207,4 +212,4 @@ class Operations(object): google_dot_longrunning_dot_operations__pb2.CancelOperationRequest.SerializeToString, google_dot_protobuf_dot_empty__pb2.Empty.FromString, options, channel_credentials, - call_credentials, compression, wait_for_ready, timeout, metadata) + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/src/buildstream/_protos/google/rpc/code_pb2.py b/src/buildstream/_protos/google/rpc/code_pb2.py index 85a6b2dcd..ffa592e7b 100644 --- a/src/buildstream/_protos/google/rpc/code_pb2.py +++ b/src/buildstream/_protos/google/rpc/code_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/rpc/code.proto - +"""Generated protocol buffer code.""" from google.protobuf.internal import enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message @@ -19,6 +19,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='google.rpc', syntax='proto3', serialized_options=b'\n\016com.google.rpcB\tCodeProtoP\001Z3google.golang.org/genproto/googleapis/rpc/code;code\242\002\003RPC', + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x15google/rpc/code.proto\x12\ngoogle.rpc*\xb7\x02\n\x04\x43ode\x12\x06\n\x02OK\x10\x00\x12\r\n\tCANCELLED\x10\x01\x12\x0b\n\x07UNKNOWN\x10\x02\x12\x14\n\x10INVALID_ARGUMENT\x10\x03\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x04\x12\r\n\tNOT_FOUND\x10\x05\x12\x12\n\x0e\x41LREADY_EXISTS\x10\x06\x12\x15\n\x11PERMISSION_DENIED\x10\x07\x12\x13\n\x0fUNAUTHENTICATED\x10\x10\x12\x16\n\x12RESOURCE_EXHAUSTED\x10\x08\x12\x17\n\x13\x46\x41ILED_PRECONDITION\x10\t\x12\x0b\n\x07\x41\x42ORTED\x10\n\x12\x10\n\x0cOUT_OF_RANGE\x10\x0b\x12\x11\n\rUNIMPLEMENTED\x10\x0c\x12\x0c\n\x08INTERNAL\x10\r\x12\x0f\n\x0bUNAVAILABLE\x10\x0e\x12\r\n\tDATA_LOSS\x10\x0f\x42X\n\x0e\x63om.google.rpcB\tCodeProtoP\x01Z3google.golang.org/genproto/googleapis/rpc/code;code\xa2\x02\x03RPCb\x06proto3' ) @@ -27,75 +28,93 @@ _CODE = _descriptor.EnumDescriptor( full_name='google.rpc.Code', filename=None, file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, values=[ _descriptor.EnumValueDescriptor( name='OK', index=0, number=0, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='CANCELLED', index=1, number=1, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='UNKNOWN', index=2, number=2, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='INVALID_ARGUMENT', index=3, number=3, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='DEADLINE_EXCEEDED', index=4, number=4, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='NOT_FOUND', index=5, number=5, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='ALREADY_EXISTS', index=6, number=6, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='PERMISSION_DENIED', index=7, number=7, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='UNAUTHENTICATED', index=8, number=16, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='RESOURCE_EXHAUSTED', index=9, number=8, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='FAILED_PRECONDITION', index=10, number=9, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='ABORTED', index=11, number=10, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='OUT_OF_RANGE', index=12, number=11, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='UNIMPLEMENTED', index=13, number=12, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='INTERNAL', index=14, number=13, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='UNAVAILABLE', index=15, number=14, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), _descriptor.EnumValueDescriptor( name='DATA_LOSS', index=16, number=15, serialized_options=None, - type=None), + type=None, + create_key=_descriptor._internal_create_key), ], containing_type=None, serialized_options=None, diff --git a/src/buildstream/_protos/google/rpc/code_pb2_grpc.py b/src/buildstream/_protos/google/rpc/code_pb2_grpc.py index a89435267..2daafffeb 100644 --- a/src/buildstream/_protos/google/rpc/code_pb2_grpc.py +++ b/src/buildstream/_protos/google/rpc/code_pb2_grpc.py @@ -1,3 +1,4 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc diff --git a/src/buildstream/_protos/google/rpc/status_pb2.py b/src/buildstream/_protos/google/rpc/status_pb2.py index ae0be7d02..7989a2288 100644 --- a/src/buildstream/_protos/google/rpc/status_pb2.py +++ b/src/buildstream/_protos/google/rpc/status_pb2.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/rpc/status.proto - +"""Generated protocol buffer code.""" from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection @@ -19,6 +19,7 @@ DESCRIPTOR = _descriptor.FileDescriptor( package='google.rpc', syntax='proto3', serialized_options=b'\n\016com.google.rpcB\013StatusProtoP\001Z7google.golang.org/genproto/googleapis/rpc/status;status\242\002\003RPC', + create_key=_descriptor._internal_create_key, serialized_pb=b'\n\x17google/rpc/status.proto\x12\ngoogle.rpc\x1a\x19google/protobuf/any.proto\"N\n\x06Status\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyB^\n\x0e\x63om.google.rpcB\x0bStatusProtoP\x01Z7google.golang.org/genproto/googleapis/rpc/status;status\xa2\x02\x03RPCb\x06proto3' , dependencies=[google_dot_protobuf_dot_any__pb2.DESCRIPTOR,]) @@ -32,6 +33,7 @@ _STATUS = _descriptor.Descriptor( filename=None, file=DESCRIPTOR, containing_type=None, + create_key=_descriptor._internal_create_key, fields=[ _descriptor.FieldDescriptor( name='code', full_name='google.rpc.Status.code', index=0, @@ -39,21 +41,21 @@ _STATUS = _descriptor.Descriptor( has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='message', full_name='google.rpc.Status.message', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), _descriptor.FieldDescriptor( name='details', full_name='google.rpc.Status.details', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), + serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), ], extensions=[ ], diff --git a/src/buildstream/_protos/google/rpc/status_pb2_grpc.py b/src/buildstream/_protos/google/rpc/status_pb2_grpc.py index a89435267..2daafffeb 100644 --- a/src/buildstream/_protos/google/rpc/status_pb2_grpc.py +++ b/src/buildstream/_protos/google/rpc/status_pb2_grpc.py @@ -1,3 +1,4 @@ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" import grpc diff --git a/src/buildstream/_stream.py b/src/buildstream/_stream.py index 91d7cb122..a5391562a 100644 --- a/src/buildstream/_stream.py +++ b/src/buildstream/_stream.py @@ -31,6 +31,7 @@ from collections import deque from typing import List, Tuple from ._artifactelement import verify_artifact_ref, ArtifactElement +from ._artifactproject import ArtifactProject from ._exceptions import StreamError, ImplError, BstError, ArtifactElementError, ArtifactError from ._message import Message, MessageType from ._scheduler import ( @@ -111,8 +112,8 @@ class Stream: # Cleans up application state # def cleanup(self): - if self._project: - self._project.cleanup() + # Reset the element loader state + Element._reset_load_state() # set_project() # @@ -1086,6 +1087,35 @@ class Stream: self.queues = [queue] self._run() + # _load_artifacts() + # + # Loads artifacts from target artifact refs + # + # Args: + # artifact_names (list): List of target artifact names to load + # + # Returns: + # (list): A list of loaded ArtifactElement + # + def _load_artifacts(self, artifact_names): + with self._context.messenger.simple_task("Loading artifacts") as task: + + # Use a set here to avoid duplicates. + # + # ArtifactElement.new_from_artifact_name() will take care of ensuring + # uniqueness of multiple artifact names which refer to the same artifact + # (e.g., if both weak and strong names happen to be requested), here we + # still need to ensure we generate a list that does not contain duplicates. + # + artifacts = set() + for artifact_name in artifact_names: + artifact = ArtifactElement.new_from_artifact_name(artifact_name, self._context, task) + artifacts.add(artifact) + + ArtifactElement.clear_artifact_name_cache() + ArtifactProject.clear_project_cache() + return list(artifacts) + # _load_elements_from_targets # # Given the usual set of target element names/artifact refs, load @@ -1125,7 +1155,7 @@ class Stream: # Load artifacts if refs: - artifacts = self._pipeline.load_artifacts(refs) + artifacts = self._load_artifacts(refs) else: artifacts = [] diff --git a/src/buildstream/_versions.py b/src/buildstream/_versions.py index f97560b4d..37a7a0acd 100644 --- a/src/buildstream/_versions.py +++ b/src/buildstream/_versions.py @@ -24,4 +24,4 @@ # or if buildstream was changed in a way which can cause # the same cache key to produce something that is no longer # the same. -BST_CORE_ARTIFACT_VERSION = 9 +BST_CORE_ARTIFACT_VERSION = 10 diff --git a/src/buildstream/_yaml.pyi b/src/buildstream/_yaml.pyi index 215866e3e..6f4b31bd5 100644 --- a/src/buildstream/_yaml.pyi +++ b/src/buildstream/_yaml.pyi @@ -1,3 +1,5 @@ -# FIXME: This file is currently a placeholder so that mypy doesn't complain -# about `_yaml` module being missing. In future, we should consider adding -# stubs for Cythonized code. +from typing import Optional + +from .node import MappingNode + +def load(filename: str, shortname: str, copy_tree: bool = False, project: Optional[object] = None) -> MappingNode: ... diff --git a/src/buildstream/element.py b/src/buildstream/element.py index 6c4e45d03..945ca5cf7 100644 --- a/src/buildstream/element.py +++ b/src/buildstream/element.py @@ -220,11 +220,17 @@ class Element(Plugin): """ def __init__( - self, context: "Context", project: "Project", load_element: "LoadElement", plugin_conf: Dict[str, Any] + self, + context: "Context", + project: "Project", + load_element: "LoadElement", + plugin_conf: Dict[str, Any], + *, + artifact: Artifact = None, ): self.__cache_key_dict = None # Dict for cache key calculation - self.__cache_key = None # Our cached cache key + self.__cache_key: Optional[str] = None # Our cached cache key super().__init__(load_element.name, context, project, load_element.node, "element") @@ -278,8 +284,8 @@ class Element(Plugin): self.__ready_for_runtime_and_cached = False # Whether all runtime deps are cached, as well as the element self.__cached_remotely = None # Whether the element is cached remotely self.__sources = ElementSources(context, project, self) # The element sources - self.__weak_cache_key = None # Our cached weak cache key - self.__strict_cache_key = None # Our cached cache key for strict builds + self.__weak_cache_key: Optional[str] = None # Our cached weak cache key + self.__strict_cache_key: Optional[str] = None # Our cached cache key for strict builds self.__artifacts = context.artifactcache # Artifact cache self.__sourcecache = context.sourcecache # Source cache self.__assemble_scheduled = False # Element is scheduled to be assembled @@ -294,6 +300,8 @@ class Element(Plugin): self.__build_result = None # The result of assembling this Element (success, description, detail) # Artifact class for direct artifact composite interaction self.__artifact = None # type: Optional[Artifact] + self.__dynamic_public = None + self.__sandbox_config = None # type: Optional[SandboxConfig] self.__batch_prepare_assemble = False # Whether batching across prepare()/assemble() is configured self.__batch_prepare_assemble_flags = 0 # Sandbox flags for batching across prepare()/assemble() @@ -307,47 +315,10 @@ class Element(Plugin): self.__resolved_initial_state = False # Whether the initial state of the Element has been resolved - # Ensure we have loaded this class's defaults - self.__init_defaults(project, plugin_conf, load_element.kind, load_element.first_pass) - - # Collect the composited variables and resolve them - variables = self.__extract_variables(project, load_element) - variables["element-name"] = self.name - self.__variables = Variables(variables) - if not load_element.first_pass: - self.__variables.check() - - # Collect the composited environment now that we have variables - unexpanded_env = self.__extract_environment(project, load_element) - self.__variables.expand(unexpanded_env) - self.__environment = unexpanded_env.strip_node_info() - - # Collect the environment nocache blacklist list - nocache = self.__extract_env_nocache(project, load_element) - self.__env_nocache = nocache - - # Grab public domain data declared for this instance - self.__public = self.__extract_public(load_element) - self.__variables.expand(self.__public) - self.__dynamic_public = None - - # Collect the composited element configuration and - # ask the element to configure itself. - self.__config = self.__extract_config(load_element) - self.__variables.expand(self.__config) - - self._configure(self.__config) - - # Extract remote execution URL - if load_element.first_pass: - self.__remote_execution_specs = None + if artifact: + self.__initialize_from_artifact(artifact) else: - self.__remote_execution_specs = project.remote_execution_specs - - # Extract Sandbox config - sandbox_config = self.__extract_sandbox_config(project, load_element) - self.__variables.expand(sandbox_config) - self.__sandbox_config = SandboxConfig(sandbox_config, context.platform) + self.__initialize_from_yaml(load_element, plugin_conf) def __lt__(self, other): return self.name < other.name @@ -1194,8 +1165,7 @@ class Element(Plugin): # _reset_load_state() # - # This is called by Pipeline.cleanup() and is used to - # reset the loader state between multiple sessions. + # This is used to reset the loader state across multiple load sessions. # @classmethod def _reset_load_state(cls): @@ -1448,6 +1418,15 @@ class Element(Plugin): # @contextmanager def _prepare_sandbox(self, scope, shell=False, integrate=True, usebuildtree=False): + + # Assert first that we have a sandbox configuration + if not self.__sandbox_config: + raise ElementError( + "Error preparing sandbox for element: {}".format(self.name), + detail="This is most likely an artifact that is not yet cached, try building or pulling the artifact first", + reason="missing-sandbox-config", + ) + # bst shell and bst artifact checkout require a local sandbox. with self.__sandbox(None, config=self.__sandbox_config, allow_remote=False) as sandbox: sandbox._usebuildtree = usebuildtree @@ -1840,7 +1819,16 @@ class Element(Plugin): assert self.__artifact._cache_key is not None with self.timed_activity("Caching artifact"): - artifact_size = self.__artifact.cache(sandbox_build_dir, collectvdir, sourcesvdir, buildresult, publicdata) + artifact_size = self.__artifact.cache( + sandbox_build_dir=sandbox_build_dir, + collectvdir=collectvdir, + sourcesvdir=sourcesvdir, + buildresult=buildresult, + publicdata=publicdata, + variables=self.__variables, + environment=self.__environment, + sandboxconfig=self.__sandbox_config, + ) if collect is not None and collectvdir is None: raise ElementError( @@ -2249,7 +2237,7 @@ class Element(Plugin): "element-plugin-key": self.get_unique_key(), "element-plugin-name": self.get_kind(), "element-plugin-version": self.BST_ARTIFACT_VERSION, - "sandbox": self.__sandbox_config.get_unique_key(), + "sandbox": self.__sandbox_config.to_dict(), "environment": cache_env, "public": self.__public.strip_node_info(), } @@ -2408,6 +2396,14 @@ class Element(Plugin): rdep.__buildable_callback(rdep) rdep.__buildable_callback = None + # _walk_artifact_files() + # + # A generator which yields all of the files cached in the + # element's artifact. + # + # Yields: + # (str): Filenames in the artifact + # def _walk_artifact_files(self): yield from self.__artifact.get_files().walk() @@ -2806,6 +2802,74 @@ class Element(Plugin): ) as sandbox: yield sandbox + # __initialize_from_yaml() + # + # Normal element initialization procedure. + # + def __initialize_from_yaml(self, load_element: "LoadElement", plugin_conf: Dict[str, Any]): + + context = self._get_context() + project = self._get_project() + + # Ensure we have loaded this class's defaults + self.__init_defaults(project, plugin_conf, load_element.kind, load_element.first_pass) + + # Collect the composited variables and resolve them + variables = self.__extract_variables(project, load_element) + variables["element-name"] = self.name + self.__variables = Variables(variables) + if not load_element.first_pass: + self.__variables.check() + + # Collect the composited environment now that we have variables + unexpanded_env = self.__extract_environment(project, load_element) + self.__variables.expand(unexpanded_env) + self.__environment = unexpanded_env.strip_node_info() + + # Collect the environment nocache blacklist list + nocache = self.__extract_env_nocache(project, load_element) + self.__env_nocache = nocache + + # Grab public domain data declared for this instance + self.__public = self.__extract_public(load_element) + self.__variables.expand(self.__public) + + # Collect the composited element configuration and + # ask the element to configure itself. + self.__config = self.__extract_config(load_element) + self.__variables.expand(self.__config) + + self._configure(self.__config) + + # Extract remote execution URL + if load_element.first_pass: + self.__remote_execution_specs = None + else: + self.__remote_execution_specs = project.remote_execution_specs + + # Extract Sandbox config + sandbox_config = self.__extract_sandbox_config(project, load_element) + self.__variables.expand(sandbox_config) + self.__sandbox_config = SandboxConfig.new_from_node(sandbox_config, platform=context.platform) + + # __initialize_from_artifact() + # + # Initialize the element state from an Artifact object + # + def __initialize_from_artifact(self, artifact: Artifact): + self.__artifact = artifact + + # Load bits which have been stored on the artifact + # + if artifact.cached(): + self.__environment = artifact.load_environment() + self.__sandbox_config = artifact.load_sandbox_config() + self.__variables = artifact.load_variables() + + self.__cache_key = artifact.strong_key + self.__strict_cache_key = artifact.strict_key + self.__weak_cache_key = artifact.weak_key + @classmethod def __compose_default_splits(cls, project, defaults, first_pass): @@ -2816,9 +2880,9 @@ class Element(Plugin): if first_pass: splits = element_splits.clone() else: - assert project._splits is not None + assert project.splits is not None - splits = project._splits.clone() + splits = project.splits.clone() # Extend project wide split rules with any split rules defined by the element element_splits._composite(splits) @@ -2951,7 +3015,7 @@ class Element(Plugin): if load_element.first_pass: sandbox_config = Node.from_dict({}) else: - sandbox_config = project._sandbox.clone() + sandbox_config = project.sandbox.clone() # The default config is already composited with the project overrides sandbox_defaults = cls.__defaults.get_mapping(Symbol.SANDBOX, default={}) @@ -3208,11 +3272,19 @@ class Element(Plugin): context = self._get_context() - strict_artifact = Artifact(self, context, strong_key=self.__strict_cache_key, weak_key=self.__weak_cache_key) + strict_artifact = Artifact( + self, + context, + strong_key=self.__strict_cache_key, + strict_key=self.__strict_cache_key, + weak_key=self.__weak_cache_key, + ) if context.get_strict() or strict_artifact.cached(): self.__artifact = strict_artifact else: - self.__artifact = Artifact(self, context, weak_key=self.__weak_cache_key) + self.__artifact = Artifact( + self, context, strict_key=self.__strict_cache_key, weak_key=self.__weak_cache_key + ) if not context.get_strict() and self.__artifact.cached(): # In non-strict mode, strong cache key becomes available when @@ -3247,7 +3319,7 @@ class Element(Plugin): pass elif self._cached(): # Load the strong cache key from the artifact - strong_key, _ = self.__artifact.get_metadata_keys() + strong_key, _, _ = self.__artifact.get_metadata_keys() self.__cache_key = strong_key elif self.__assemble_scheduled or self.__assemble_done: # Artifact will or has been built, not downloaded diff --git a/src/buildstream/node.pyi b/src/buildstream/node.pyi index 854f4bde6..059bec2b8 100644 --- a/src/buildstream/node.pyi +++ b/src/buildstream/node.pyi @@ -1,4 +1,4 @@ -from typing import Generic, List, Mapping, Optional, Sequence, TypeVar +from typing import overload, Generic, List, Mapping, Optional, Sequence, TypeVar, Dict, Any from ._project import Project @@ -10,11 +10,36 @@ class ProvenanceInformation: ... class Node: def clone(self) -> "Node": ... def get_provenance(self) -> ProvenanceInformation: ... + def strip_node_info(self) -> Dict[str, Any]: ... class MappingNode(Node, Generic[TNode]): def __init__(self, file_index: int, line: int, column: int, value: Mapping[str, TValidNodeValue]) -> None: ... def clone(self) -> MappingNode[TNode]: ... - def get_str_list(self, key: str, default: List[str] = None) -> List[str]: ... + def validate_keys(self, valid_keys: List[str]): ... + @overload + def get_str_list(self, key: str) -> List[str]: ... + @overload + def get_str_list(self, key: str, default: List[str]) -> List[str]: ... + @overload + def get_str_list(self, key: str, default: Optional[List[str]]) -> Optional[List[str]]: ... + @overload + def get_str(self, key: str) -> str: ... + @overload + def get_str(self, key: str, default: str) -> str: ... + @overload + def get_str(self, key: str, default: Optional[str]) -> Optional[str]: ... + @overload + def get_int(self, key: str) -> int: ... + @overload + def get_int(self, key: str, default: int) -> int: ... + @overload + def get_int(self, key: str, default: Optional[int]) -> Optional[int]: ... + @overload + def get_mapping(self, key: str) -> "MappingNode": ... + @overload + def get_mapping(self, key: str, default: "MappingNode") -> "MappingNode": ... + @overload + def get_mapping(self, key: str, default: Optional["MappingNode"]) -> Optional["MappingNode"]: ... class ScalarNode(Node): def as_str(self) -> str: ... @@ -25,6 +50,6 @@ class SequenceNode(Node, Generic[TNode]): def clone(self) -> "SequenceNode[TNode]": ... def _assert_symbol_name( - symbol_name: str, purpose: str, *, ref_node: Optional[Node] = None, allow_dashes: bool = True + symbol_name: str, purpose: str, *, ref_node: Optional[Node], allow_dashes: bool = True ) -> None: ... -def _new_synthetic_file(filename: str, project: Optional[Project] = None) -> MappingNode[TNode]: ... +def _new_synthetic_file(filename: str, project: Optional[Project]) -> MappingNode[TNode]: ... diff --git a/src/buildstream/sandbox/_config.py b/src/buildstream/sandbox/_config.py index 114274190..6f8323453 100644 --- a/src/buildstream/sandbox/_config.py +++ b/src/buildstream/sandbox/_config.py @@ -1,5 +1,5 @@ # -# Copyright (C) 2018 Codethink Limited +# Copyright (C) 2020 Codethink Limited # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -16,52 +16,123 @@ # # Authors: # Jim MacArthur <jim.macarthur@codethink.co.uk> +# Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> +# +from typing import TYPE_CHECKING, Dict, Optional, Union from .._platform import Platform +if TYPE_CHECKING: + from ..node import Node, MappingNode + # SandboxConfig # -# A container for sandbox configuration data. We want the internals -# of this to be opaque, hence putting it in its own private file. +# The Sandbox configuration parameters, this object carries configuration +# required to instantiate the correct type of sandbox, and assert that +# the local or remote worker sandbox has the capabilities required. +# +# Args: +# build_os: The build OS name +# build_arch: A canonical machine architecture name, as defined by Platform.canonicalize_arch() +# build_uid: The UID for the sandbox process +# build_gid: The GID for the sandbox process +# +# If the build_uid or build_gid is unspecified, then the underlying sandbox implementation +# does not guarantee what UID/GID will be used, but generally UID/GID 0 will be used in a +# sandbox implementation which supports UID/GID control. +# +# If the build_uid or build_gid is specified, then the UID/GID is guaranteed to match +# the specified UID/GID, if the underlying sandbox implementation does not support UID/GID +# control, then an error will be raised when attempting to configure the sandbox. +# class SandboxConfig: - def __init__(self, sandbox_config, platform): - host_arch = platform.get_host_arch() - host_os = platform.get_host_os() + def __init__( + self, *, build_os: str, build_arch: str, build_uid: Optional[int] = None, build_gid: Optional[int] = None + ): + self.build_os = build_os + self.build_arch = build_arch + self.build_uid = build_uid + self.build_gid = build_gid - sandbox_config.validate_keys(["build-uid", "build-gid", "build-os", "build-arch"]) + # to_dict(): + # + # Represent the SandboxConfig as a dictionary. + # + # This dictionary will be stored in the corresponding artifact + # whenever an artifact is cached. When loading an element from + # an artifact, then this dict will be loaded as a MappingNode + # and interpreted by SandboxConfig.new_from_node(). + # + # This function is also used to contribute to the owning element's cache key. + # + # Returns: + # A dictionary representation of this SandboxConfig + # + def to_dict(self) -> Dict[str, Union[str, int]]: - build_os = sandbox_config.get_str("build-os", default=None) - if build_os: - self.build_os = build_os.lower() - else: - self.build_os = host_os + # Assign mandatory portions of the sandbox configuration + # + # /!\ No additional mandatory members can ever be added to + # the sandbox configuration, as that would result in + # breaking cache key stability. + # + sandbox_dict: Dict[str, Union[str, int]] = {"build-os": self.build_os, "build-arch": self.build_arch} - build_arch = sandbox_config.get_str("build-arch", default=None) - if build_arch: - self.build_arch = Platform.canonicalize_arch(build_arch) - else: - self.build_arch = host_arch + # Assign optional portions of the sandbox configuration + # + # /!\ In order to preserve cache key stability, these attributes + # are only ever added to the dictionary if they have been + # explicitly set, unset values must not affect the dictionary. + # + if self.build_uid is not None: + sandbox_dict["build-uid"] = self.build_uid + if self.build_gid is not None: + sandbox_dict["build-gid"] = self.build_gid - self.build_uid = sandbox_config.get_int("build-uid", None) - self.build_gid = sandbox_config.get_int("build-gid", None) + return sandbox_dict - # get_unique_key(): + # new_from_node(): + # + # Instantiate a new SandboxConfig from YAML configuration. # - # This returns the SandboxConfig's contribution - # to an element's cache key. + # If the Platform is specified, then we expect to be loading + # from project definitions, and some defaults will be derived + # from the Platform. Otherwise, we expect to be loading from + # a cached artifact, and values are expected to exist on the + # given node. + # + # Args: + # config: The YAML configuration node + # platform: The host Platform instance, or None # # Returns: - # (dict): A dictionary to add to an element's cache key + # A new SandboxConfig instance # - def get_unique_key(self): + @classmethod + def new_from_node(cls, config: "MappingNode[Node]", *, platform: Optional[Platform] = None) -> "SandboxConfig": + config.validate_keys(["build-uid", "build-gid", "build-os", "build-arch"]) - unique_key = {"os": self.build_os, "arch": self.build_arch} + build_os: str + build_arch: str - if self.build_uid is not None: - unique_key["build-uid"] = self.build_uid + if platform: + tmp = config.get_str("build-os", None) + if tmp: + build_os = tmp.lower() + else: + build_os = platform.get_host_os() - if self.build_gid is not None: - unique_key["build-gid"] = self.build_gid + tmp = config.get_str("build-arch", None) + if tmp: + build_arch = Platform.canonicalize_arch(tmp) + else: + build_arch = platform.get_host_arch() + else: + build_os = config.get_str("build-os") + build_arch = config.get_str("build-arch") + + build_uid = config.get_int("build-uid", None) + build_gid = config.get_int("build-gid", None) - return unique_key + return cls(build_os=build_os, build_arch=build_arch, build_uid=build_uid, build_gid=build_gid) diff --git a/tests/cachekey/project/elements/build1.expected b/tests/cachekey/project/elements/build1.expected index 369036a16..1692f54d7 100644 --- a/tests/cachekey/project/elements/build1.expected +++ b/tests/cachekey/project/elements/build1.expected @@ -1 +1 @@ -e47d9b32ba894f1d454b66d8d30d3d20226b54c327e8b6a3893c9c55ff02378c
\ No newline at end of file +a31f513b77c99f40444f60a9cf95b2b127b2fc6f11074eab952e442002eaac1f
\ No newline at end of file diff --git a/tests/cachekey/project/elements/build2.expected b/tests/cachekey/project/elements/build2.expected index 6e9dfd075..ab5a9aa93 100644 --- a/tests/cachekey/project/elements/build2.expected +++ b/tests/cachekey/project/elements/build2.expected @@ -1 +1 @@ -ffe535e1ac311448584d9f0b17f51bb85c8cc9bd3c081a411f9c3ea464f5fcd7
\ No newline at end of file +7edfaf2fe00b46d7e92808f666df37f04834b51b8672fb898a0e041be9080c96
\ No newline at end of file diff --git a/tests/cachekey/project/elements/build3.expected b/tests/cachekey/project/elements/build3.expected index 7b3aabe9f..01f7bb1eb 100644 --- a/tests/cachekey/project/elements/build3.expected +++ b/tests/cachekey/project/elements/build3.expected @@ -1 +1 @@ -c8bae677ec6af58543e4b779a295c9f6bee0c1eface38d9be62a66c247a68ba5
\ No newline at end of file +1792a11e64ee1a5c981ead2f7a4a05695b503d700ce6d3e50c8373a1f08e1210
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose1.expected b/tests/cachekey/project/elements/compose1.expected index fd0ca75fd..65078c9a7 100644 --- a/tests/cachekey/project/elements/compose1.expected +++ b/tests/cachekey/project/elements/compose1.expected @@ -1 +1 @@ -3a033cd6b00a0b7e113f2f78f67e73923bdadad33e7d8825fabb0e75f0386417
\ No newline at end of file +51e162d4f09e7b0f47f709ccd0bf0084fd6cface26bbbad484869fc49df6e5ec
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose2.expected b/tests/cachekey/project/elements/compose2.expected index 5ab72fe76..f12841808 100644 --- a/tests/cachekey/project/elements/compose2.expected +++ b/tests/cachekey/project/elements/compose2.expected @@ -1 +1 @@ -ec2cf079f662a497af5687d2458489fe3ad83810a2db1815ea489fb30f416fc9
\ No newline at end of file +b95eee0297a2d8ffd11f9c351a9a5a9b4243d806df4734b39100207044b91a0e
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose3.expected b/tests/cachekey/project/elements/compose3.expected index 5a6620a09..c5009c40b 100644 --- a/tests/cachekey/project/elements/compose3.expected +++ b/tests/cachekey/project/elements/compose3.expected @@ -1 +1 @@ -d24fd1c4beca8b40aad24e8bd4a6106e1278e193b10872e1ed33b0829eb4831a
\ No newline at end of file +0774629ece7ea4e21bddf47fa7fabc2ff5efa4dcc58509006f8fdc96d7d1c900
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose4.expected b/tests/cachekey/project/elements/compose4.expected index 2c4ab4c48..a70f70768 100644 --- a/tests/cachekey/project/elements/compose4.expected +++ b/tests/cachekey/project/elements/compose4.expected @@ -1 +1 @@ -37dd09028bd0a95e64b83df32a1446932f81a72c4c9a6a2cac5c0165ac61e29b
\ No newline at end of file +0d31c6742239b4eed81ea89a2fe4dd66bb327794641f58c62b76b0f93f07d22e
\ No newline at end of file diff --git a/tests/cachekey/project/elements/compose5.expected b/tests/cachekey/project/elements/compose5.expected index 425c55e96..04c396045 100644 --- a/tests/cachekey/project/elements/compose5.expected +++ b/tests/cachekey/project/elements/compose5.expected @@ -1 +1 @@ -4f2eea4571545a5ce896b13320aa7e6c55ca874237fcb7ebeea017f8456e1b5c
\ No newline at end of file +c1f03c1b1b4bf0141f9014ffe527758c36721ec0fe3d87abd1ec700e2da3e891
\ No newline at end of file diff --git a/tests/cachekey/project/elements/import1.expected b/tests/cachekey/project/elements/import1.expected index d9e854ed6..10ebbda21 100644 --- a/tests/cachekey/project/elements/import1.expected +++ b/tests/cachekey/project/elements/import1.expected @@ -1 +1 @@ -f27187b2e1b43a5d4d1855fc46fabe256d561d49d6aff2186a52d4d75315fe19
\ No newline at end of file +92d3ad5fa90c754fa63ee93a3b6fcf383c1b447cf37628d571054e52a2df50c2
\ No newline at end of file diff --git a/tests/cachekey/project/elements/import2.expected b/tests/cachekey/project/elements/import2.expected index 263684b4e..8416eb27a 100644 --- a/tests/cachekey/project/elements/import2.expected +++ b/tests/cachekey/project/elements/import2.expected @@ -1 +1 @@ -815467a6401a32162cfbcff05f11ff366f9f2d11338bc89d9cf41715da7db89c
\ No newline at end of file +9104a767449b0a7d9c2bbe341548f3bea6c4ef6556059b3b6b1869909b372f88
\ No newline at end of file diff --git a/tests/cachekey/project/elements/import3.expected b/tests/cachekey/project/elements/import3.expected index 24d6a031e..a4ccd52ca 100644 --- a/tests/cachekey/project/elements/import3.expected +++ b/tests/cachekey/project/elements/import3.expected @@ -1 +1 @@ -3fef8b7e07efe9b9599e32ce72b1f0f8ab31accd61788c94c57951770ab184c2
\ No newline at end of file +ba652fcab4d8ac7fe2e1930768b80e5494b0d5ca0c25a5f713070b5431134709
\ No newline at end of file diff --git a/tests/cachekey/project/elements/script1.expected b/tests/cachekey/project/elements/script1.expected index 5d9799f1a..b817085c5 100644 --- a/tests/cachekey/project/elements/script1.expected +++ b/tests/cachekey/project/elements/script1.expected @@ -1 +1 @@ -1220b2849910f60f864c2c325cda301809dcb9b730281862448508fbeae5fb91
\ No newline at end of file +73d09c3efcb2a2787737b3fc33fd6eefd0635fe3b26fda59ca3d43e5c39f9028
\ No newline at end of file diff --git a/tests/cachekey/project/sources/bzr1.expected b/tests/cachekey/project/sources/bzr1.expected index 4e66d6c12..36db84e37 100644 --- a/tests/cachekey/project/sources/bzr1.expected +++ b/tests/cachekey/project/sources/bzr1.expected @@ -1 +1 @@ -ce45db2c82a50eec39416dc857c7a676121a5276b396ea6c7917b123a932ea34
\ No newline at end of file +61809980b80872ace2a83b5d16b698b6526002d2364adccc2836e8f75d2c5b88
\ No newline at end of file diff --git a/tests/cachekey/project/sources/git1.expected b/tests/cachekey/project/sources/git1.expected index 7c6974590..f5f3227cb 100644 --- a/tests/cachekey/project/sources/git1.expected +++ b/tests/cachekey/project/sources/git1.expected @@ -1 +1 @@ -f02ac8cc516819ee72f56bdc3c1a6e4bb3a154a506a361a8d34a63b37dfa8dc7
\ No newline at end of file +5ff9575c5ecfb760e2a683fe88361ee55314b854a70e338a5caba55dbe8c57d9
\ No newline at end of file diff --git a/tests/cachekey/project/sources/git2.expected b/tests/cachekey/project/sources/git2.expected index 4fa7db829..414d8a39f 100644 --- a/tests/cachekey/project/sources/git2.expected +++ b/tests/cachekey/project/sources/git2.expected @@ -1 +1 @@ -59964ee437e38e37dbbb78362118937e90defd89bdf358667394a35f6ed2ba46
\ No newline at end of file +2ba0fedf30942a4641a51f7ad5e5bcd38732e3ea798afe64fe37aa1a0b6ce532
\ No newline at end of file diff --git a/tests/cachekey/project/sources/git3.expected b/tests/cachekey/project/sources/git3.expected index 91cb0f882..31d262fc8 100644 --- a/tests/cachekey/project/sources/git3.expected +++ b/tests/cachekey/project/sources/git3.expected @@ -1 +1 @@ -10dd7b3883cfe8fd8f7f29dd258098080227ee73c53ff825542d62d204f1e6c3
\ No newline at end of file +7ef53f28840b94a86d34eab03e2a1c9f6e607cc36527844de5dde44ee7d3aa82
\ No newline at end of file diff --git a/tests/cachekey/project/sources/local1.expected b/tests/cachekey/project/sources/local1.expected index 961785aa5..cddb0f312 100644 --- a/tests/cachekey/project/sources/local1.expected +++ b/tests/cachekey/project/sources/local1.expected @@ -1 +1 @@ -13acaa66115bd1d374b236b0ddd2cef804df75b3aa28878f4200efa7c758b14c
\ No newline at end of file +3ddeb2984e64c885cfc03e09be4d0efdb665250fd1d8a7ebbec7aa847e74055e
\ No newline at end of file diff --git a/tests/cachekey/project/sources/local2.expected b/tests/cachekey/project/sources/local2.expected index 762e7bc48..7983c7c0f 100644 --- a/tests/cachekey/project/sources/local2.expected +++ b/tests/cachekey/project/sources/local2.expected @@ -1 +1 @@ -214238ba50ead82896e27d95e833c3df990f9e3ab728fdb0e44a3b07f986ab3c
\ No newline at end of file +ef2801ff5349d5d2c319fbda60e19e23f6b92cee10c7449f6e0c2c503cb955cc
\ No newline at end of file diff --git a/tests/cachekey/project/sources/patch1.expected b/tests/cachekey/project/sources/patch1.expected index 4593895c5..709c36d1c 100644 --- a/tests/cachekey/project/sources/patch1.expected +++ b/tests/cachekey/project/sources/patch1.expected @@ -1 +1 @@ -3b607c5657b600ab0e2c8b5ea09ed26fc65b3899b67d107676cf687b2cde374d
\ No newline at end of file +d02dfb7fd25c7a3bbdc99f72f990baea14c0075233e40b6e8907e150b0d6d2bf
\ No newline at end of file diff --git a/tests/cachekey/project/sources/patch2.expected b/tests/cachekey/project/sources/patch2.expected index 221c9c779..a52ef5a88 100644 --- a/tests/cachekey/project/sources/patch2.expected +++ b/tests/cachekey/project/sources/patch2.expected @@ -1 +1 @@ -1911adbe62cbd7d9f0ded708530274c7f591798bd0a0b5f7e8358f7fcda3066a
\ No newline at end of file +3ca9a6fdff99300db164b892fb7e592d7e75ac548f70c9aaef7cd86542702639
\ No newline at end of file diff --git a/tests/cachekey/project/sources/patch3.expected b/tests/cachekey/project/sources/patch3.expected index 1ad6d9fce..55d951747 100644 --- a/tests/cachekey/project/sources/patch3.expected +++ b/tests/cachekey/project/sources/patch3.expected @@ -1 +1 @@ -175ff52608a55a6af98466822e22f401c46b2659116ccfeee6dc78e09249da78
\ No newline at end of file +32855fe6027fb27cdf71251d6c3022866de602b1377aa8c99613120db3bb7427
\ No newline at end of file diff --git a/tests/cachekey/project/sources/pip1.expected b/tests/cachekey/project/sources/pip1.expected index 59f11863b..5dd2317a7 100644 --- a/tests/cachekey/project/sources/pip1.expected +++ b/tests/cachekey/project/sources/pip1.expected @@ -1 +1 @@ -20ac777cc56dfeafcf4543e0d9ed31108b32075c8a3e9d25d3deec16fbf7f246
\ No newline at end of file +0399ffb1d3430b59af6f75ef2f663ba93bace7dd5204aea9a314b7b6fe656aa5
\ No newline at end of file diff --git a/tests/cachekey/project/sources/remote1.expected b/tests/cachekey/project/sources/remote1.expected index 9970589f3..2cbb432bf 100644 --- a/tests/cachekey/project/sources/remote1.expected +++ b/tests/cachekey/project/sources/remote1.expected @@ -1 +1 @@ -4d13955e7eeb0f0d77b0a3a72e77acd8636bdc8284712975593742d0667f88f7
\ No newline at end of file +c685ece0668aebe63b5605849942e40593a2dc143c42e742f660253908539def
\ No newline at end of file diff --git a/tests/cachekey/project/sources/remote2.expected b/tests/cachekey/project/sources/remote2.expected index 139e4bf74..ae1af22cf 100644 --- a/tests/cachekey/project/sources/remote2.expected +++ b/tests/cachekey/project/sources/remote2.expected @@ -1 +1 @@ -5f904fd43ca49f268af3141afe73116f1260800918a738afeaf51a94f99fffb2
\ No newline at end of file +745a7073f383cb486ff7667b5d326a7fa02e8025942f802f17cd60f381dd849b
\ No newline at end of file diff --git a/tests/cachekey/project/sources/tar1.expected b/tests/cachekey/project/sources/tar1.expected index 89a492067..0e0d249b3 100644 --- a/tests/cachekey/project/sources/tar1.expected +++ b/tests/cachekey/project/sources/tar1.expected @@ -1 +1 @@ -f516c30a7a493acd74e49c4ac91cf697dfd32e8821d4230becac100cdac7df64
\ No newline at end of file +1e132d0b4c54416f6a1bf39a7214b6c12a6929104075ab2976d706fc8dec7a5f
\ No newline at end of file diff --git a/tests/cachekey/project/sources/tar2.expected b/tests/cachekey/project/sources/tar2.expected index e9928d767..dcafbbf2a 100644 --- a/tests/cachekey/project/sources/tar2.expected +++ b/tests/cachekey/project/sources/tar2.expected @@ -1 +1 @@ -eba29361b50cf14128dbf34362635bc2170474c8bb13c916638b2531174bf04a
\ No newline at end of file +89b7b576615887651a316abac300b02ea242c581643426d34ad9afb1eab435b4
\ No newline at end of file diff --git a/tests/cachekey/project/sources/zip1.expected b/tests/cachekey/project/sources/zip1.expected index 41292f2a2..ac3d09fd6 100644 --- a/tests/cachekey/project/sources/zip1.expected +++ b/tests/cachekey/project/sources/zip1.expected @@ -1 +1 @@ -a759e15073fdeed9224e41af4c094464e268bb8ced95dedf6e6dc35ec524d003
\ No newline at end of file +462801e978cf3cc6f69a403ae033a7e4bd8a05cf5d7be357c9f91f03af1edbed
\ No newline at end of file diff --git a/tests/cachekey/project/sources/zip2.expected b/tests/cachekey/project/sources/zip2.expected index e723f4852..4f35a72c5 100644 --- a/tests/cachekey/project/sources/zip2.expected +++ b/tests/cachekey/project/sources/zip2.expected @@ -1 +1 @@ -d9c5a347340a387c4cecf24c29ad4b3c524773e8224683380221a62ec820abd9
\ No newline at end of file +828994c07f34eb468456b038744e41422ef53d30a047a4335e32e9d62218f291
\ No newline at end of file diff --git a/tests/cachekey/project/target.expected b/tests/cachekey/project/target.expected index 9ea9991e9..3fa0aea19 100644 --- a/tests/cachekey/project/target.expected +++ b/tests/cachekey/project/target.expected @@ -1 +1 @@ -cb3b1bbf3d8b7be1a0ee7305c1056e95225f84b2c2b5189cfee69a66dcbd0786
\ No newline at end of file +788da21e7c1b5818b7e7b60f7eb75841057ff7e45d362cc223336c606fe47f27
\ No newline at end of file diff --git a/tests/frontend/artifact_show.py b/tests/frontend/artifact_show.py index ebea7cf33..392a9e2c6 100644 --- a/tests/frontend/artifact_show.py +++ b/tests/frontend/artifact_show.py @@ -110,7 +110,7 @@ def test_artifact_show_artifact_ref(cli, tmpdir, datafiles): [ # List only artifact results in the test/project # - ("test/**", ["test/target/", "test/target/", "test/compose-all/", "test/import-bin", "test/import-dev"]), + ("test/**", ["test/target/", "test/compose-all/", "test/import-bin", "test/import-dev"]), # List only artifact results by their .bst element names # ("**.bst", ["import-bin.bst", "import-dev.bst", "compose-all.bst", "target.bst", "subdir/target.bst"]), diff --git a/tests/frontend/buildcheckout.py b/tests/frontend/buildcheckout.py index 709259397..6d1190667 100644 --- a/tests/frontend/buildcheckout.py +++ b/tests/frontend/buildcheckout.py @@ -469,8 +469,7 @@ def test_build_checkout_invalid_ref(datafiles, cli): non_existent_artifact = "test/checkout-deps/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" checkout_args = ["artifact", "checkout", "--deps", "none", "--tar", checkout, non_existent_artifact] result = cli.run(project=project, args=checkout_args) - - assert "Error while staging dependencies into a sandbox: 'No artifacts to stage'" in result.stderr + result.assert_main_error(ErrorDomain.STREAM, "missing-sandbox-config") @pytest.mark.datafiles(DATA_DIR) diff --git a/tests/frontend/push.py b/tests/frontend/push.py index 80cf07067..0b1d988f9 100644 --- a/tests/frontend/push.py +++ b/tests/frontend/push.py @@ -166,11 +166,13 @@ def test_push_artifact_glob(cli, tmpdir, datafiles): # Configure artifact share cli.configure({"artifacts": {"url": share.repo, "push": True}}) - # Run bst artifact push with a wildcard. - # This matches two artifact refs (weak and strong cache keys). + # Run bst artifact push with a wildcard, there is only one artifact + # matching "test/target/*", even though it can be accessed both by it's + # strong and weak key. + # result = cli.run(project=project, args=["artifact", "push", "test/target/*"]) result.assert_success() - assert len(result.get_pushed_elements()) == 2 + assert len(result.get_pushed_elements()) == 1 # Tests that: diff --git a/tests/integration/artifact.py b/tests/integration/artifact.py index e21dd4296..f7d62a57c 100644 --- a/tests/integration/artifact.py +++ b/tests/integration/artifact.py @@ -138,3 +138,78 @@ def test_cache_buildtrees(cli, tmpdir, datafiles): with cli.artifact.extract_buildtree(cwd, cwd, artifact_name) as buildtreedir: assert os.path.isdir(buildtreedir) assert os.listdir(buildtreedir) + + +# +# This test asserts that the environment variables are indeed preserved in +# generated artifacts, and asserts that local project state is not erronously +# observed when checking out and integrating an artifact by artifact name. +# +@pytest.mark.datafiles(DATA_DIR) +@pytest.mark.skipif(not HAVE_SANDBOX, reason="Only available with a functioning sandbox") +def test_preserve_environment(datafiles, cli): + project = str(datafiles) + checkout = os.path.join(cli.directory, "checkout") + + # + # First build the target, this will create the echo-env-var.bst artifact + # and cache an integration command which uses it's build environment + # to create /etc/test.conf + # + result = cli.run(project=project, args=["build", "echo-target.bst"]) + result.assert_success() + + # + # Now preserve the cache key of the toplevel + # + key = cli.get_element_key(project, "echo-target.bst") + + # + # From here on out, we will augment the project.conf with a modified + # environment, causing the definition of the element to change and + # consequently the cache key. + # + project_config = {"environment": {"TEST_VAR": "horsy"}} + + # + # This should changed the cache key such that a different artifact + # would be produced, as the environment has changed. + # + result = cli.run_project_config( + project=project, + project_config=project_config, + args=["show", "--deps", "none", "--format", "%{full-key}", "echo-target.bst"], + ) + result.assert_success() + assert result.output.strip() != key + + # + # Now checkout the originally built artifact and request that it be integrated, + # this will run integration commands encoded into the artifact. + # + checkout_args = [ + "artifact", + "checkout", + "--directory", + checkout, + "--deps", + "build", + "--integrate", + "test/echo-target/" + key, + ] + result = cli.run_project_config(project=project, args=checkout_args, project_config=project_config) + result.assert_success() + + # + # Now observe the file generated by echo-env-var.bst's integration command. + # + # Here we assert that the actual environment from the artifact is being + # used to run the integration command, and not the irrelevant project + # data in the local project directory. + # + filename = os.path.join(checkout, "etc", "test.conf") + assert os.path.exists(filename) + with open(filename, "r") as f: + data = f.read() + data = data.strip() + assert data == "pony" diff --git a/tests/integration/project/elements/echo-env-var.bst b/tests/integration/project/elements/echo-env-var.bst new file mode 100644 index 000000000..692d5de90 --- /dev/null +++ b/tests/integration/project/elements/echo-env-var.bst @@ -0,0 +1,10 @@ +kind: manual +depends: +- base.bst + +public: + bst: + integration-commands: + - | + echo $TEST_VAR > /etc/test.conf + diff --git a/tests/integration/project/elements/echo-target.bst b/tests/integration/project/elements/echo-target.bst new file mode 100644 index 000000000..8d4d7e15b --- /dev/null +++ b/tests/integration/project/elements/echo-target.bst @@ -0,0 +1,3 @@ +kind: manual +depends: +- echo-env-var.bst diff --git a/tests/integration/project/project.conf b/tests/integration/project/project.conf index 2d3da467b..521b80184 100644 --- a/tests/integration/project/project.conf +++ b/tests/integration/project/project.conf @@ -17,6 +17,8 @@ options: values: - x86-64 - aarch64 +environment: + TEST_VAR: pony split-rules: test: - | |