summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.van.berkom@gmail.com>2020-12-07 18:15:37 +0000
committerTristan Van Berkom <tristan.van.berkom@gmail.com>2020-12-07 18:15:37 +0000
commit7f69411f213271e9efdbb1a0726f144ccef9f0a6 (patch)
tree2fb3841aa9e43b86742ad2ed5630548446e13811
parent5f68adb3f80b1d84edf900fde8cf40c84c297f91 (diff)
parent69e89faa4be94fd3a24799865802ce5fcbb4faa7 (diff)
downloadbuildstream-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
-rw-r--r--src/buildstream/_artifact.py173
-rw-r--r--src/buildstream/_artifactcache.py12
-rw-r--r--src/buildstream/_artifactelement.py114
-rw-r--r--src/buildstream/_artifactproject.py88
-rw-r--r--src/buildstream/_pipeline.py15
-rw-r--r--src/buildstream/_project.py183
-rw-r--r--src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2.py90
-rw-r--r--src/buildstream/_protos/build/bazel/remote/asset/v1/remote_asset_pb2_grpc.py17
-rw-r--r--src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2.py409
-rw-r--r--src/buildstream/_protos/build/bazel/remote/execution/v2/remote_execution_pb2_grpc.py28
-rw-r--r--src/buildstream/_protos/build/bazel/semver/semver_pb2.py12
-rw-r--r--src/buildstream/_protos/build/bazel/semver/semver_pb2_grpc.py1
-rw-r--r--src/buildstream/_protos/build/buildgrid/local_cas_pb2.py145
-rw-r--r--src/buildstream/_protos/build/buildgrid/local_cas_pb2_grpc.py40
-rw-r--r--src/buildstream/_protos/buildstream/v2/artifact.proto19
-rw-r--r--src/buildstream/_protos/buildstream/v2/artifact_pb2.py79
-rw-r--r--src/buildstream/_protos/buildstream/v2/artifact_pb2_grpc.py1
-rw-r--r--src/buildstream/_protos/buildstream/v2/buildstream_pb2.py29
-rw-r--r--src/buildstream/_protos/buildstream/v2/buildstream_pb2_grpc.py18
-rw-r--r--src/buildstream/_protos/buildstream/v2/source_pb2.py8
-rw-r--r--src/buildstream/_protos/buildstream/v2/source_pb2_grpc.py1
-rw-r--r--src/buildstream/_protos/google/api/annotations_pb2.py5
-rw-r--r--src/buildstream/_protos/google/api/annotations_pb2_grpc.py1
-rw-r--r--src/buildstream/_protos/google/api/http_pb2.py36
-rw-r--r--src/buildstream/_protos/google/api/http_pb2_grpc.py1
-rw-r--r--src/buildstream/_protos/google/bytestream/bytestream_pb2.py37
-rw-r--r--src/buildstream/_protos/google/bytestream/bytestream_pb2_grpc.py10
-rw-r--r--src/buildstream/_protos/google/longrunning/operations_pb2.py46
-rw-r--r--src/buildstream/_protos/google/longrunning/operations_pb2_grpc.py13
-rw-r--r--src/buildstream/_protos/google/rpc/code_pb2.py55
-rw-r--r--src/buildstream/_protos/google/rpc/code_pb2_grpc.py1
-rw-r--r--src/buildstream/_protos/google/rpc/status_pb2.py10
-rw-r--r--src/buildstream/_protos/google/rpc/status_pb2_grpc.py1
-rw-r--r--src/buildstream/_stream.py36
-rw-r--r--src/buildstream/_versions.py2
-rw-r--r--src/buildstream/_yaml.pyi8
-rw-r--r--src/buildstream/element.py180
-rw-r--r--src/buildstream/node.pyi33
-rw-r--r--src/buildstream/sandbox/_config.py131
-rw-r--r--tests/cachekey/project/elements/build1.expected2
-rw-r--r--tests/cachekey/project/elements/build2.expected2
-rw-r--r--tests/cachekey/project/elements/build3.expected2
-rw-r--r--tests/cachekey/project/elements/compose1.expected2
-rw-r--r--tests/cachekey/project/elements/compose2.expected2
-rw-r--r--tests/cachekey/project/elements/compose3.expected2
-rw-r--r--tests/cachekey/project/elements/compose4.expected2
-rw-r--r--tests/cachekey/project/elements/compose5.expected2
-rw-r--r--tests/cachekey/project/elements/import1.expected2
-rw-r--r--tests/cachekey/project/elements/import2.expected2
-rw-r--r--tests/cachekey/project/elements/import3.expected2
-rw-r--r--tests/cachekey/project/elements/script1.expected2
-rw-r--r--tests/cachekey/project/sources/bzr1.expected2
-rw-r--r--tests/cachekey/project/sources/git1.expected2
-rw-r--r--tests/cachekey/project/sources/git2.expected2
-rw-r--r--tests/cachekey/project/sources/git3.expected2
-rw-r--r--tests/cachekey/project/sources/local1.expected2
-rw-r--r--tests/cachekey/project/sources/local2.expected2
-rw-r--r--tests/cachekey/project/sources/patch1.expected2
-rw-r--r--tests/cachekey/project/sources/patch2.expected2
-rw-r--r--tests/cachekey/project/sources/patch3.expected2
-rw-r--r--tests/cachekey/project/sources/pip1.expected2
-rw-r--r--tests/cachekey/project/sources/remote1.expected2
-rw-r--r--tests/cachekey/project/sources/remote2.expected2
-rw-r--r--tests/cachekey/project/sources/tar1.expected2
-rw-r--r--tests/cachekey/project/sources/tar2.expected2
-rw-r--r--tests/cachekey/project/sources/zip1.expected2
-rw-r--r--tests/cachekey/project/sources/zip2.expected2
-rw-r--r--tests/cachekey/project/target.expected2
-rw-r--r--tests/frontend/artifact_show.py2
-rw-r--r--tests/frontend/buildcheckout.py3
-rw-r--r--tests/frontend/push.py8
-rw-r--r--tests/integration/artifact.py75
-rw-r--r--tests/integration/project/elements/echo-env-var.bst10
-rw-r--r--tests/integration/project/elements/echo-target.bst3
-rw-r--r--tests/integration/project/project.conf2
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:
- |