diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-11 17:17:48 +0200 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-13 14:41:00 +0200 |
commit | 3dba6aebaa9a7a367190563adea07f0278868998 (patch) | |
tree | d89c13483beb9a3233abf503812fcfcb779e30b3 /src/buildtool/execution_api/remote/bazel/bazel_api.cpp | |
parent | 371d4357eeaa498541473b18bd092975d05fb930 (diff) | |
download | justbuild-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.cpp | 33 |
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( |