From 2dc55144e21f878b9929021e0d698736b7b67d20 Mon Sep 17 00:00:00 2001 From: Sascha Roloff Date: Mon, 29 Aug 2022 19:13:43 +0200 Subject: BazelApi chunk availability check returns provided ArtifactDigests --- src/buildtool/execution_api/remote/bazel/bazel_api.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 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 766549bc..b07bcede 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp @@ -194,17 +194,17 @@ auto BazelApi::CreateAction( -> std::vector { std::vector bazel_digests; bazel_digests.reserve(digests.size()); - std::transform(digests.begin(), - digests.end(), - std::back_inserter(bazel_digests), - [](ArtifactDigest const& digest) { return digest; }); + std::unordered_map digest_map; + for (auto const& digest : digests) { + auto const& bazel_digest = static_cast(digest); + bazel_digests.push_back(bazel_digest); + digest_map[bazel_digest] = digest; + } auto bazel_result = network_->IsAvailable(bazel_digests); std::vector result; result.reserve(bazel_result.size()); - std::transform( - bazel_result.begin(), - bazel_result.end(), - std::back_inserter(result), - [](bazel_re::Digest& digest) { return ArtifactDigest{digest}; }); + for (auto const& bazel_digest : bazel_result) { + result.push_back(digest_map[bazel_digest]); + } return result; } -- cgit v1.2.3