diff options
Diffstat (limited to 'src/buildtool/execution_api/remote/bazel/bazel_response.cpp')
-rw-r--r-- | src/buildtool/execution_api/remote/bazel/bazel_response.cpp | 8 |
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{}; |