From 3dba6aebaa9a7a367190563adea07f0278868998 Mon Sep 17 00:00:00 2001 From: Maksim Denisov Date: Wed, 11 Sep 2024 17:17:48 +0200 Subject: Check compatibility in BazelAPI based on the hash type --- .../execution_api/remote/bazel/bazel_api.cpp | 33 +++++++++++----------- 1 file changed, 16 insertions(+), 17 deletions(-) (limited to 'src/buildtool/execution_api/remote/bazel/bazel_api.cpp') 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 const& digests, - gsl::not_null*> 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 const& digests, + gsl::not_null*> 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( -- cgit v1.2.3