summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2024-09-11 17:17:48 +0200
committerMaksim Denisov <denisov.maksim@huawei.com>2024-09-13 14:41:00 +0200
commit3dba6aebaa9a7a367190563adea07f0278868998 (patch)
treed89c13483beb9a3233abf503812fcfcb779e30b3 /src/buildtool/execution_api/remote/bazel/bazel_api.cpp
parent371d4357eeaa498541473b18bd092975d05fb930 (diff)
downloadjustbuild-3dba6aebaa9a7a367190563adea07f0278868998.tar.gz
Check compatibility in BazelAPI based on the hash type
Diffstat (limited to 'src/buildtool/execution_api/remote/bazel/bazel_api.cpp')
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_api.cpp33
1 files changed, 16 insertions, 17 deletions
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
index d0e96292..07c5c3ef 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
@@ -527,24 +527,23 @@ auto BazelApi::CreateAction(
return std::nullopt;
}
- if (ProtocolTraits::Instance().IsCompatible()) {
- return CommonUploadTreeCompatible(
- *this,
- *build_root,
- [&network = network_](
- std::vector<ArtifactDigest> const& digests,
- gsl::not_null<std::vector<std::string>*> const& targets) {
- auto reader = network->CreateReader();
- targets->reserve(digests.size());
- for (auto blobs : reader.ReadIncrementally(digests)) {
- for (auto const& blob : blobs) {
- targets->emplace_back(*blob.data);
- }
- }
- });
+ if (ProtocolTraits::IsNative(network_->GetHashFunction().GetType())) {
+ return CommonUploadTreeNative(*this, *build_root);
}
-
- return CommonUploadTreeNative(*this, *build_root);
+ return CommonUploadTreeCompatible(
+ *this,
+ *build_root,
+ [&network = network_](
+ std::vector<ArtifactDigest> const& digests,
+ gsl::not_null<std::vector<std::string>*> const& targets) {
+ auto reader = network->CreateReader();
+ targets->reserve(digests.size());
+ for (auto blobs : reader.ReadIncrementally(digests)) {
+ for (auto const& blob : blobs) {
+ targets->emplace_back(*blob.data);
+ }
+ }
+ });
}
[[nodiscard]] auto BazelApi::IsAvailable(