summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_api/remote/bazel/bazel_response.cpp')
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_response.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_response.cpp b/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
index 3aaecb88..2a06985d 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
@@ -20,6 +20,7 @@
#include <filesystem>
#include <functional>
#include <iterator>
+#include <unordered_set>
#include <vector>
#include "fmt/core.h"
@@ -40,6 +41,7 @@
#include "src/buildtool/logging/logger.hpp"
#include "src/utils/cpp/gsl.hpp"
#include "src/utils/cpp/path.hpp"
+#include "src/utils/cpp/transformed_range.hpp"
namespace {
@@ -276,7 +278,11 @@ auto BazelResponse::UploadTreeMessageDirectories(
bazel_re::Tree const& tree) const -> expected<ArtifactDigest, std::string> {
auto const upload_callback =
[&network = *network_](BazelBlobContainer&& blobs) -> bool {
- return network.UploadBlobs(std::move(blobs));
+ std::unordered_set<BazelBlob> bazel_blobs;
+ for (auto const& blob : blobs.Blobs()) {
+ bazel_blobs.emplace(blob);
+ }
+ return network.UploadBlobs(std::move(bazel_blobs));
};
auto const hash_function = network_->GetHashFunction();
BazelBlobContainer dir_blobs{};